ZKX's LAB

编写一个程序、判断AX寄存器中存放的是正数。零还是负数。若AX大于0则输出POSITIVE。若AX AX寄存器存放几进制数

2020-07-22知识18

比较无符号数大小,将较大的数存放AX寄存器。(两个数存在AX和BX内) CMP AX,BX;比较(AX)(BX)JNB L1;(AX)大于等于(BX),转到L1MOV CX,BXJMP L2L1:MOV CX,AXL2:MOV AX,CX;将较大的数存放AX寄存器试编一程序将AX寄存器中的数以十六进制形式在屏幕显示 已知两个字节变量A、B,求两个数的平均值,并以十六进制形式在屏幕上显示。DATA SEGMENTA DB 148;在这里写入:0~255B DB 28;在这里写入:0~255DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,A;取来AMOV AH,0MOV BL,B;取来BMOV BH,0ADD AX,BX;相加.SHR AX,1;除以2DISP:;以16进制形式显示.MOV AH,0MOV BL,16DIV BLPUSH AXCMP AL,10JB A30ADD AL,7A30:ADD AL,30HMOV DL,ALMOV AH,2INT 21HPOP AXCMP AH,10JB A302ADD AH,7A302:ADD AH,30HMOV DL,AHMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START怎样将10个10进制数用寄存器间接寻址的方式存放到连 题目的意思是指从键盘输入数组吧?或者是从文本文件读入数组?下面是从键盘输入整数数组的子程序,供参考。键盘输入数值数组子程序(数组名为@array,元素个数存放在@num中)可以是负数INPUTNUM PROC NEARPUSH AXPUSH CXPUSH SIPUSH DIPUSHF输入的数据以一个空格分隔,以回车符结束输入LEA DI,@ARRAY;将数组第一个元素的有效地址置入DIMOV WORD PTR@NUM,0STIN:MOV AX,0PUSH AXMOV BYTE PTR@SIGNN,0AGAIN1:MOV AH,1INT 21HMOV BYTE PTR@CHAR,ALCMP AL,13JE@LINE0CMP AL,' 'JE@LINE0CMP AL,'-'JNE@INPUT1MOV BYTE PTR@SIGNN,1JMP@AGAIN1INPUT1:SUB AL,30HMOV AH,0MOV SI,AXPOP AXMOV CL,10MOV CH,0MUL CXADD AX,SIPUSH AXJMP@AGAIN1LINE0:POP AXCMP BYTE PTR@SIGNN,1JNE@INPUT2NEG AXINPUT2:MOV WORD PTR[DI],AX;寄存器间接寻址INC WORD PTR@NUMCMP BYTE PTR@CHAR,13JE@STINENDINC DIINC DIJMP@STINSTINEND:POPFPOP DIPOP SIPOP CXPOP AXRETARRAY DW 100 DUP(0)NUM DW 0CHAR DB?SIGNN DB 0INPUTNUM ENDP1、将寄存器AX清零有几种方法?要具体指令,急急急!!! 2.用DEBUG调试给出的程序代码,分析程序的功能及程序运行过程中相关存储单元及寄存器内容变化的情况。参考程序: MOV AL,1 MOV BX,1000H MOV CX,100 R1:MOV[BX],AL 。

随机阅读

qrcode
访问手机版