当前位置:编程学习 > 汇编语言 >>

汇编语言里几条语句的解释 帮帮忙 谢谢

麻烦达人们 帮忙解释下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名学生成绩的平均值。问题出在哪里啊?做的不对。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,