编写8086/8088汇编语言源程序,在屏幕上显示提示信息“please input two numbers(1-9):”。

编写8086/8088汇编语言源程序,在屏幕上显示提示信息“pleaseinputtwonumbers(1-9):”。然后从键盘接收一个1到9之间的数字,如果输入的数字为... 编写8086/8088汇编语言源程序,在屏幕上显示提示信息“please input two numbers(1-9):”。然后从键盘接收一个1到9之间的数字,如果输入的数字为1到9之间的数字,则在屏幕上换行显示:“The sum is:x ”(x为所键盘输入的1到9之间的数),反之如果键盘上输入的不是1到9之间的数,则屏幕上显示:“ Input error!” 展开
 我来答
记住一座城
2012-05-01 · TA获得超过728个赞
知道小有建树答主
回答量:1091
采纳率:33%
帮助的人:733万
展开全部
很久没碰汇编了,但总算满足了你的要求!
;输入1-9之间的数字,正确输入则在下一行输出此数字,输入错误提示错误并要求
;重新输入,直至输入正确程序才结束!
assume cs:code,ds:data,ss:stack
data segment
input db 'please input two numbers(1-9):','$'
show db 'The sum is:','$'
error db 'input error!,try again:','$'
num db ?
data ends
stack segment
dw 8 dup(?)
stack ends
code segment
start:mov ax,data
mov ds,ax
mov bx,offset input
mov ax,0b000h
mov es,ax
mov di,8000h+160+22
lea dx,input
mov ah,9
int 21h
r:mov ah,0 ;r标号为输入错误跳转至此处重新输入判断
int 16h
mov num,al
call set
mov ax,4c00h
int 21h
set:cmp al,39h
ja err ;判断输入如果大于9提示错误
cmp al,30h ;判断输入是否大于0,如果大于就输出
ja s
jmp short err
s:mov ah,2
mov bh,0
mov dh,1
mov dl,0
int 10h
lea dx,show
mov ah,9
int 21h
mov al,num
mov es:[di],al
ret
err:lea dx,error
mov ah,9
int 21h
jmp short r
code ends
end start
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式