15.asm

来自「华工电信系汇编习题的编程实现」· 汇编 代码 · 共 70 行

ASM
70
字号
stack segment stack 'stack'
      dw 32 dup(?)
stack ends

data segment 
     ARRAYW dw 0101H,1234H,0FA32H,0BC12H,0,0,0ABCDH,0
     N db 8
     PLUS dw 8 dup(0)
     MINUS dw 8 dup(0)
     ZERON dw 0
     N1 db 0
     N2 db 0

data ends

code segment 
begin proc far
      assume ss:stack,cs:code,ds:data
      push ds
      sub ax,ax
      push ax
      mov ax,data
      mov ds,ax

      
      mov ch,0
      mov cl,N
AGAIN:
     mov al,N
     sub al,cl
     add al,al
     mov ah,0
     mov bx,offset ARRAYW
     add bx,ax
     mov dx,[bx]
     CMP dx,0
     JE LING
     JS FU

     mov bx,offset Plus
     add bx,word ptr N1
     mov [bx],dx
    ;mov offset Plus + word ptr N1,dx
     mov bl,N1
     add bl,2
     mov N1,bl
     JMP MYEND 

LING:
     mov bx,ZERON
     add bx,1
     mov ZERON,bx
     JMP MYEND
FU:
     mov bx,offset MINUS
     add bx,word ptr N2
     mov [bx],dx
     ;mov  offset MINUS + word ptr N2,dx
     mov bl,N2
     add bl,2
     mov N2,bl

MYEND:
     LOOP AGAIN

      ret
begin   endp
code    ends
      end begin

⌨️ 快捷键说明

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