汇编语言(二)之数值求和

汇编语言(二)之数值求和

输入一串数字,求和

运行结果:

www.zeeklog.com  - 汇编语言(二)之数值求和

程序代码:


datas segment

x               db ?
y               db ?
z               db ?

xInputPrompt    db 'Enter a number x=$'
yInputPrompt    db 0dh,0ah,'Enter a number y=$'
zOutputPrompt   db 0dh,0ah,'sum x+y=$'
       

datas ends

stacks segment

    db 100h dup(0)
stacks ends

codes segment

main proc far

assume cs:codes,ds:datas,ss:stacks

start:
           push ds
		   sub ax,ax
		   push ax
		   
		   mov ax,datas
		   mov ds,ax
		   
		   mov dx,offset xInputPrompt        ;输出请求x输入提示
		   mov ah,9
		   int 21h
		   
		   
		   mov ah,1                          ;输入数据保存在X中
		   int 21h
		   sub al,30h
		   mov x,al
		   
		   mov dx,offset yInputPrompt        ;输出请求y输入提示
		   mov ah,9
		   int 21h
		   
		   mov ah,1                          ;输入数据保存在y中
		   int 21h
		   sub al,30h
		   mov y,al
		   
		   add al,x
		   mov z,al
		   
		   mov dx,offset zOutputPrompt        ;输出z提示
		   mov ah,9
		   int 21h
		   
		   ;输出z
		   mov bx,10
		   mov cx,0
		   mov al,z 
	       mov ah,0
		 
        s: mov dx,0	       
           div bx
		   
		   add dx,30h
           push dx
		   inc cx
		   
		   cmp ax,0
           jnz s
		   
		   
		  
	  s1:  pop dx
	       mov ah,2
		   int 21h
		   loop s1
		   
		   ret
		   
main endp

codes ends

 end main