算术运算与数制转换-循环移位.asm

来自「实现了算术运算功能」· 汇编 代码 · 共 75 行

ASM
75
字号
DATAREA   SEGMENT
  X   DW   0
DATAREA   ENDS

MYPROG  SEGMENT
       ASSUME  CS:MYPROG,DS:DATAREA
START: MOV   AX,DATAREA
       MOV   DS,AX

       MOV   BX,0
       MOV   CX,4
       MOV   AH,01H
 LP1:  INT   21H
       SUB   AL,30H
       CMP   AL,09H
       JLE   P1
       sub   AL,07H
   P1: SHL   BX,1
       SHL   BX,1
       SHL   BX,1
       SHL   BX,1
       ADD   BL,AL
       LOOP  LP1
       
       INT   21H
       MOV  BYTE PTR   X,AL
       
       MOV   DX,0
       MOV   CX,4
 LP2:  INT   21H
       SUB   AL,30H
       CMP   AL,09H
       JLE   P2
       SUB   AL,07H
   P2: SHL   DX,1
       SHL   DX,1
       SHL   DX,1
       SHL   DX,1
       ADD   DL,AL
       LOOP  LP2
        
       MOV   AX,X
       CMP   AL,2BH
       JLE   P3
       SUB   BX,DX
       JMP   P4
    P3:ADD   BX,DX

    P4:MOV   DL,3DH
       MOV   AH,02H      
       INT   21H
       MOV   X,BX
       ROL   X,1
       MOV   DX,X
       AND   DL,01H
       ADD   DL,30H          
       INT   21H

       MOV   CX,5
  LP3: ROL   X,1
       ROL   X,1
       ROL   X,1
       MOV   DX,X
       AND   DL,07H
       ADD   DL,30H
       INT   21H
       LOOP  LP3
       
       MOV   AH,4CH
       INT   21H

MYPROG   ENDS

       END   START

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?