汇编语言里几条语句的解释 帮帮忙 谢谢
麻烦达人们 帮忙解释下A3,A4代码段的意义吧 谢谢~~~~~~
DDATA SEGMENT
NUMB DB 12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H
MES DB 'The number of negative is:$'
DDATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DDATA
START:MOV AX,DDATA
MOV DS,AX
MOV DI,OFFSET NUMB
XOR BL,BL
MOV CX,10
A1: MOV AL,[DI]
TEST AL,80H
JE A2
INC BL
A2: INC DI
LOOP A1
MOV DX,OFFSET MES
MOV AH,09H
INT 21H
MOV AL,BL
MOV CX,2
A3: PUSH CX
MOV CL,4
ROL AL,CL
POP CX
MOV BL,AL
AND AL,0FH
CMP AL,0AH
JB A4
ADD AL,07H
A4: ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,BL
LOOP A3
MOV AH,4CH
INT 21H
CODE ENDS
END START
答案:额……你看输出是:{The number of negative is:05},A3,A4是要输出0和5,CX=2,第一次输出0第二次输出5……push cx,把2保护,al中的数是0000 0101,执行rol后变为0101 0000,mov bl ,al则bl变为0101 0000即50H。and al,0fh后al变为0000 0000,cmp al, 0Ah 比其小跳到A4,add al,30h后al变为30h,ascii的0,mov ah,02h和int 21h中断输出0……好,mov al,bl。al变为50H。loop cx减一接下来你知道了吧。rol al,cx ,al变为05h,add al,30h ,al变为35h……输出5
额 我也是初学,你看对不对
上一个:有关汇编语言的问题。
下一个:8086汇编:求一个班50名学生成绩的平均值。问题出在哪里啊?做的不对。