首页 > 解决方案 > 编写一个程序,从用户那里输入两个数字(总和小于 10),并在下一行显示它们的总和

问题描述

.model small
.stack 100h
.data
msg1 db "Enter The First Number : $"
msg2 db ,0dh,0ah,"Enter The Second umber : $"
msg3 db ,0dh,0ah,"SUM of Entered Numbers = $"
num1 db ?;
num2 db ?,;
ans db ?,"$"
.code  
main proc 

mov ax,@data            ;initiaize ds
mov ds,ax  
mov dx,offset msg1      ;load and display msg1
mov ah,09
int 21h
mov ah,1h               ;read first initial
int 21h
sub al,30h
mov num1,al 
mov dx,offset msg2      ;load and display msg2
mov ah,9
int 21h
                        ;read second initial
mov ah,1h
int 21h
sub al,30h
mov num2,al
mov dx,offset msg3
mov ah,9                ;load and display msg3
int 21h
mov al,num1             ;add num1 and num2
add al,num2 
add al,30h              ;moves value into ans
mov ans,al
mov dx,offset ans       ;load and display msg3
mov ah,9
int 21h
end main                

编写一个程序,从用户那里输入两个数字(总和小于 10),并在下一行显示它们的总和。注意:不需要考虑输入数字的条件。示例执行: 输入第一个数字:3 输入第二个数字:5 3 和 5 的总和为 8 无法显示结果,如 3 和 5 的总和为 8

标签: emu8086

解决方案



.model small
.stack 100h
.data
msg1 db "Enter The First Number : $"
msg2 db 0dh,0ah,"Enter The Second umber : $"
msg3 db 0dh,0ah,"SUM of Entered Numbers = $"
num1 db ?
num2 db ?
ans db ?,"$"
.code  
main:
mov ax,@data            ;initiaize ds
mov ds,ax  
mov dx,offset msg1      ;load and display msg1
mov ah,09
int 21h
mov ah,1h               ;read first initial
int 21h
sub al,30h
mov [num1],al 
mov dx,offset msg2      ;load and display msg2
mov ah,9
int 21h
                        ;read second initial
mov ah,1h
int 21h
sub al,30h
mov [num2],al
mov dx,offset msg3
mov ah,9                ;load and display msg3
int 21h
mov al,num1             ;add num1 and num2
add al,num2 
add al,30h              ;moves value into ans
mov [ans],al
mov dx,offset ans       ;load and display msg3
mov ah,9
int 21h

mov ax,4c00h
int 21h
end main

mov [num2], 人

mov [num1], 人

mov [ans], 人

不要直接使用标签

在此处输入图像描述


推荐阅读