汇编人机对话
汇编语言实现人机对话
要求
1. 程序执行后,首先询问:
What’s your name,
2. 要求用户键入回答,例如输入:lily。
3. 再次询问:
Which class are you in,
4. 要求用户再次键入回答,例如输入:3。
5. 回车换行。
6. 显示:Your name is lily,and your class is 3. confirm(y/n)。 7. 如果回答y,退出程序;否则,返回1。
编程
DATAS SEGMENT
BUF1 DB 30
LEN1 DB ?
STRI1 DB 30 DUP(?)
BUF2 DB 30
LEN2 DB ?
STRI2 DB 30 DUP(?)
STR1 DB 'WHAT IS YOUR NAME?',0DH,0AH,'$'
STR2 DB 0DH,0AH,'WHICH CLASS ARE YOU IN?',0DH,0AH,'$'
STR3 DB 0DH,0AH,'YOUR NAME IS $'
STR4 DB ', AND YOUR CLASS IS $'
STR5 DB '. CONFORM? (Y/N)',0DH,0AH,'$'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS
MOV DS,AX
MOV DX,OFFSET STR1
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF1
MOV AH,10
INT 21H
MOV DX,OFFSET STR2
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF2
MOV AH,10
INT 21H
MOV DX,OFFSET STR3
MOV AH,09H
INT 21H
LEA SI,BUF1
INC SI
MOV AL,LEN1
CBW
INC SI
ADD SI,AX
MOV BYTE PTR [SI], '$'
MOV DX,OFFSET STRI1
MOV AH,09H
INT 21H
MOV DX,OFFSET STR4
MOV AH,09H
INT 21H
LEA SI,BUF2
INC SI
MOV AL,[SI]
CBW
INC SI
ADD SI,AX
MOV BYTE PTR [SI], '$'
MOV DX,OFFSET STRI2
MOV AH,09H
INT 21H
MOV DX,OFFSET STR5
MOV AH,09H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
MOV AH,01H
INT 21H
.IF AL=='Y'||AL=='y'
MOV AH,4CH
INT 21H
.ELSE
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
JMP START
.ENDIF
;此处输入代码据段代码
MOV AH,4CH
INT 21H CODES ENDS
END START
本文档为【汇编人机对话】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。