⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exp12.asm

📁 汇编实现一位数加数
💻 ASM
字号:
        DATA  SEGMENT
        BUF1  DB        5 DUP(?)
        BUF2  DB        5 DUP(?)
      RESULT  DB        6 DUP(0)
        DAT1  DB        '-'
        DAT2  DB        '+'
        DATA  ENDS

        STK1  SEGMENT
              DB        300 DUP(?)
        STK1  ENDS

        CODE  SEGMENT
        MAIN  PROC      FAR
              ASSUME    CS:CODE,DS:DATA,SS:STK1
      START:  MOV       AX,DATA
              MOV       DS,AX
              LEA       BX,BUF1
              MOV       DL,20H
              MOV       AH,02H
              INT       21H
              CALL      SHURU
              LEA       BX,BUF2
              MOV       DL,DAT2     ;show'+'
              MOV       AH,02H
              INT       21H
              CALL      SHURU       ;finished input
              LEA       DI,BUF1
              ADD       DI,4
              LEA       SI,BUF2
              ADD       SI,4
              LEA       BX,RESULT
              ADD       BX,5        ;set up 3 pointers [bx]=[di]+[si]
              CLC                   ;clear cf
              MOV       CX,5
       HUAN:
              MOV       AL,[DI]
              ADC       AL,[SI]
              AAA                   ;adjust for 10jinzhi
              MOV       [BX],AL
              DEC       DI
              DEC       SI
              DEC       BX
              LOOP      HUAN
              MOV       AL,0
              ADC       AL,0
              MOV       [BX],AL

              MOV       CX,7        ;show the '---------'
         HR:  MOV       DL,DAT1
              MOV       AH,02H
              INT       21H
              LOOP      HR

              LEA       BX,RESULT   ;start to print result
              MOV       CX,6
        
              MOV       DL,0AH
              MOV       AH,02H
              INT       21H
              MOV       DL,0DH
              MOV       AH,02H
              INT       21H

         L6:  CMP       CX,6
              JL        L5
              MOV       DL,[BX]
              CMP       DL,0
              JG        L5
              MOV       DL,20H
              MOV       AH,02H
              INT       21H
              JMP       L3
         L5:  MOV       DL,[BX]
              ADD       DL,30H
              MOV       AH,02H
              INT       21H
         L3:  INC       BX
              LOOP      L6
       OVER:  MOV       AH,4CH
              INT       21H

              RET
        MAIN  ENDP
;****************************
       SHURU  PROC      NEAR
              PUSH      CX
              PUSH      AX
              MOV       CX,5
         L1:  MOV       AH,01H
              INT       21H
              SUB       AL,30H
              MOV       [BX],AL
              INC       BX
              LOOP      L1
              MOV       DL,0AH
              MOV       AH,02H
              INT       21H
              MOV       DL,0DH
              MOV       AH,02H
              INT       21H
              POP       AX
              POP       CX
              RET
       SHURU  ENDP
;****************************

        CODE  ENDS
              END       START

⌨️ 快捷键说明

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