chp3_18b.asm

来自「关于8086汇编的一些作业程序」· 汇编 代码 · 共 94 行

ASM
94
字号
stack segment stack'stack'
      dw 32 dup(?)
stack ends
data segment
OBF1 DB 'input the number1:$'
OBF2 DB 'input the number2:$'
OBUF DB 'The sum is:$'
SUM DB 5 DUP(?)
NUM1 DB 5,0,5 DUP(?)
NUM2 DB 5,0,5 DUP(?)
data ends
code segment
start proc far
      assume ss:stack,cs:code,ds:data
      push ds
      sub ax,ax
      push ax
      mov ax,data
      mov ds,ax

      MOV DX,OFFSET OBF1
      MOV AH,9
      INT 21H
      MOV DX,OFFSET NUM1
      MOV AH,10
      INT 21H

      mov dl,0ah
      mov ah,2
      int 21h
      mov dl,0dh
      mov ah,2
      int 21h

      MOV DX,OFFSET OBF2
      MOV AH,9
      INT 21H
      MOV DX,OFFSET NUM2
      MOV AH,10
      INT 21H

      MOV BL,NUM1+1
      MOV BH,0
      MOV SI,BX
      MOV CX,SI

      MOV DI,SI
      ADD DI,OFFSET SUM
      ADD SI,OFFSET NUM1+1

      MOV BL,NUM2+1
      MOV BH,0
      ADD BX,OFFSET NUM2+1

     
      MOV AL,0
      MOV BYTE PTR [DI+1],'$'
      

AGAIN:MOV AH,0
      ADD AL,[SI]
      ADD AL,[BX]
      AAA
      ADD AL,30H
      MOV [DI],AL
      MOV AL,AH
     
     
      DEC SI
      DEC BX
      DEC DI
      LOOP AGAIN
      
      mov dl,0ah
      mov ah,2
      int 21h
      mov dl,0dh
      mov ah,2
      int 21h

     
     MOV DX,OFFSET OBUF
     MOV AH,9
     INT 21H

     MOV DX,OFFSET SUM
     MOV AH,9
     INT 21H
     ret
start endp
code ends
     end start   
      

⌨️ 快捷键说明

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