答案:TITLE 1+2+3+4+5+...99=?
data segment
sum dw 0
data ends
stack segment para stack
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,es:data,ss:stack
sub1 proc far
start: push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov es,ax
mov cx,99
mov ax,1
next: add sum,ax
inc ax
loop next
mov ax,sum
mov al,ah
call sub3
mov ax,sum
call sub3
mov dl,"H"
mov ah,2
int 21h
ret
SUB1 ENDP
SUB3 PROC
mov bl,al
shr al,1
shr al,1
shr al,1
shr al,1
CALL SUB2
mov al,bl
and al,0fh
CALL SUB2
ret
SUB3 ENDP
SUB2 PROC
cmp al,9
ja g1
add al,"0"
jmp g2
g1: add al,37h
g2: mov dl,al
mov ah,2
int 21h
RET
SUB2 ENDP
code ends
end start
上一个:C语言夹带的汇编语言出错operand size conflict
下一个:请各位好友推荐几本关于学习单片机的汇编语言教材 谢谢了 急求