将键盘输入的8位2进制数以16进制数的形式在显示器上显示出来,用汇编语言编写。

2025-05-21 17:19:42
推荐回答(1个)
回答(1):

        CODE  SEGMENT
              ASSUME    CS:CODE

        STR1  DB        9,?,9 DUP(?)

      START:  PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              MOV       AH,10
              LEA       DX,STR1
              INT       21H
              LEA       SI,STR1
              MOV       CL,[SI+1]
              XOR       CH,CH
              ADD       SI,2
              CLD
              MOV       BL,0
         @1:
              LODSB
              SHL       BL,1
              AND       AL,1
              ADD       BL,AL
              LOOP      @1
              
              CALL      LFCR
              MOV       CX,2
         @2:
              PUSH      CX
              MOV       CX,4
              ROR       BL,CL
              MOV       DL,BL
              AND       DL,0FH
              ADD       DL,30H
              CMP       DL,3AH
              JB        @3
              ADD       DL,7
         @3:
              MOV       AH,2
              INT       21H
              POP       CX
              LOOP      @2
              
              MOV       AH,4CH
              INT       21H
;=============================== 
        LFCR  PROC      NEAR
              PUSH      AX
              PUSH      DX
              MOV       AH,2
              MOV       DL,13
              INT       21H
              MOV       DL,10
              INT       21H
              POP       DX
              POP       AX
              RET
        LFCR  ENDP
;================================ 
         
        CODE  ENDS
              END       START