题目
编程以二进制形式显示BX的值(假设为无符号数)。
如果(BX)=20,那么显示:0000000000010100B。
分析
由于已知BX是16位的,因此,循环的次数就是16次,所以可以采用计数法控制循环。
程序
CODE SEGMENT
ASSUME CS:CODE
START:
MOV BX,20
MOV CX,16 ; 计数器CX,置初值16
NEXTCHAR:
ROL BX,1 ;显示顺序是从左往右,
MOV DL,BL ;要显示的值0或1仅占最低位D0
AND DL,1 ;清除D7~D1
OR DL,30H
MOV AH,2
INT 21H ;利用2号DOS调用显示
LOOP NEXTCHAR ;循环执行16次
FINISH:
MOV DL,'B'
MOV AH,2
INT 21H ;利用2号DOS调用,显示'B‘
MOV AH,4CH
INT 21H ; 返回操作系统
CODE ENDS
END START
0