题目

编程以二进制形式显示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
Posted in 汇编语言

Leave a Comment:

电子邮件地址不会被公开。