rysr.asm

来自「初学者使用」· 汇编 代码 · 共 85 行

ASM
85
字号
        DATA  SEGMENT
           X  DB        20 DUP(0)
           Y  DB        20 DUP(0)
           S  DB        ?
           D  DB        ?
           Z  DB        21 DUP('$')

           
        DATA  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA
      START:  MOV       AX,DATA
              MOV       DS,AX

              MOV       BL,'+'
              MOV       SI,0
         A1:  MOV       AH,01H      ;FIRST PART
              INT       21H
              CMP       AL,BL
              JZ        B1
              SUB       AL,30H
              MOV       X[SI],AL
              INC       SI
              LOOP      A1


         B1:
          ;    MOV       S,BH
              MOV       BL,'='
              MOV       DI,0

         C1:  MOV       AH,01H      ;SENCOND PART
              INT       21H
              CMP       AL,BL
              JZ        D1
              SUB       AL,30H
              MOV       Y[DI],AL
              INC       DI
              LOOP      C1

         D1:

         ;     MOV       D,BH
              CLC
              PUSHF
              MOV       AX,0
              MOV       CX,3


              CMP       SI,DI
              JC        F1

              XCHG      SI,DI


          ;   MOV       CX,S+1

         F1:  POPF                  ;WORK IT OUT
              MOV       AL,X[SI-1]
              ADC       AL,X[DI-1]
              AAA
              PUSHF
              ADD       AL,30H
              MOV       Z[SI-1],AL
              DEC       SI
              DEC       DI


              LOOP      F1

              JNC       G1
              MOV       DL,31H
              MOV       AH,2H
              INT       21H

         G1:  LEA       DX,Z
              MOV       AH,9H
              INT       21H

              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START
     

⌨️ 快捷键说明

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