版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 在PC机上用汇编语言实现简单的人机交互程序实验器材 电脑实验思路 人机交互,即电脑与人的交流,电脑与人之间的对话也是其中一种,我实现人机交互是电脑与人的简单对话,教人用设置好的程序画图。流程图实验步骤 1 将下面的程序输入电脑的asm文件中SSEG SEGMENT PARA STACK 'stack'db 60h dup('sseg.') ;初始化堆栈大小为100SSEG ENDSDSEG SEGMENT buf1 db 'Hello!$' buf2 db 'Hi!$' buf3 db 'Do you love pict
2、ure?$' buf4 db 'Please choose yes or no.$' buf5 db 'You can try it now.$' buf6 db 'You are impolite!$' buf7 db 'You are polite! I like it!$' buf8 db 'You made an error!$' buf9 db 'Please choose again!$' buf10 db 'I think I can not talk more wit
3、h you!$' buf11 db 'Bye-Bye!$' buf12 db 'If you want turn up, please press w !$' buf13 db 'If you want turn down, please press s !$' buf14 db 'If you want turn left, please press a !$' buf15 db 'If you want turn right, please press d !$' ;定义输出的字符串 DSEG ENDS
4、ESEG SEGMENT;附加段:在此处添加程序所需的数据ESEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:ESEG, ss:SSEGMAIN PROC FAR ;主程序入口mov ax, dsegmov ds, axmov ax,esegmov es, ax ;输入端口设置 begin: lea dx,buf1 ;将buf1 的 首地址传给dx mov ah,9int 21h ;输出buf1的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行
5、后,光标人在第一列 mov ah,07 int 21h ;输入字符 mov bl,al cmp bl,104 ;比拟字符与h 得ascall码值 jnz l1 ;判断 为h的话 程序继续执行 不为h的话 程序跳转到了l1 lea dx,buf2 ;将buf2 的 首地址传给dx mov ah,9 int 21h ;输出buf2的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 lea dx,buf7 ;将buf7 的 首地址传给dx mov ah,9 int 21h ;输
6、出buf7的内容 jmp start ;跳转到start程序 l1: lea dx,buf6 ;将buf6的 首地址传给dx mov ah,9 int 21h ;输出buf6的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 start: lea dx,buf3 ;将buf3的 首地址传给dx mov ah,9int 21h ;输出buf3的内容 lea dx,buf4 ;将buf4 的 首地址传给dx mov ah,9int 21h ;输出buf4的内容 mov dl,
7、0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 choose: mov ah,07 int 21h ;无回显方式输入字符 mov bl,al cmp bl,110 ;比拟字符与n得ascall码值 jz l2 ;判断不 为的话 程序继续执行 为n的话 程序跳转到了l2 cmp bl,121 ;比拟字符与y 得ascall码值 jz l3 ;判断 不为的话 程序继续执行 为y的话 程序跳转到了l3 lea dx,buf8 ;将buf8 的 首地址传给dx mov ah,9 int 21h ;
8、输出buf8的内容 lea dx,buf9 ;将buf9 的 首地址传给dx mov ah,9 int 21h ;输出buf9的内容 mov dl,0ah mov ah,02 int 21h ; 输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在 第一列 jmp choose ;跳转到choose程序l2: lea dx,buf10 ;将buf10 的 首地址传给dx mov ah,9 int 21h ;输出buf10的内容 lea dx,buf11 ;将buf11 的 首地址传给dx mov ah,9 int 21h ;输出buf11的内容
9、mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 jmp exit ;跳转到exit程序l3: lea dx,buf5 ;将buf5 的 首地址传给dx mov ah,9 int 21h ;输出buf5的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 lea dx,buf12 ;将buf12 的 首地址传给dx mov ah,9 int 21h ;输出b
10、uf12的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 lea dx,buf13 ;将buf13的 首地址传给dx mov ah,9 int 21h ;输出buf13的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 lea dx,buf14 ;将buf14的 首地址传给dx mov ah,9 int 21h ;输出buf14的内容 mov dl
11、,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 lea dx,buf15 ;将buf15 的 首地址传给dx mov ah,9 int 21h ;输出buf15的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 mov bh,00 mov ah,03 int 10h ;得到当前光标的位置dh为行位置dl为列位置 mov ch,dh ;将 行位置传给ch jmp pi
12、cture ;跳转到picture程序 picture: mov ah,07 int 21h ;无回显方式输入字符 cmp al,wjz up cmp al,'s' jz down cmp al,'a' jz left cmp al,'d' jz right jmp picture ; 跳回到picture程序up: sub dh,1 mov bh,00 mov dh,dh mov ah,2 int 10h mov bh,00 mov al,'|' mov ah,0ah mov cx,1 int 10h jmp picture ;
13、 跳回到picture程序 down: add dh,1 mov bh,00 mov dh,dh mov ah,2 int 10h mov bh,00 mov al,'|' mov ah,0ah mov cx,1 int 10h jmp picture ; 跳回到picture程序left: sub dl,1 mov bh,00 mov dl,dl mov ah,2 int 10h mov bh,00 mov al,'-' mov ah,0ah mov cx,1 int 10h jmp picture ; 跳回到picture程序right: add dl,1 mov bh,00 mov dl,dl mov ah,2 int 10h mov bh,00 mov al,'-' mov ah,0ah mov cx,1 int 10h jmp picture ; 跳回到picture程序exit: mov ah,1 int 21hmov ax, 4c00h int 21hMAIN E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年商丘辅警协警招聘考试备考题库附答案详解(精练)
- 2023年通化辅警招聘考试题库及答案详解一套
- 2023年黔南布依族苗族自治州辅警协警招聘考试真题含答案详解ab卷
- 2026届黑龙江省佳木斯市汤原县高级中学数学高二上期末质量检测模拟试题含解析
- 甘肃省镇原县镇原中学2025-2026学年化学高二第一学期期末统考试题含解析
- 2025-2026学年内蒙古赤峰市、呼和浩特市校际联考高二生物第一学期期末质量检测模拟试题含解析
- 2026届云南省育能高级中学高二上数学期末调研试题含解析
- 新余市重点中学2026届生物高一第一学期期末监测模拟试题含解析
- 2026届福建省泉州市南安国光中学高二上数学期末联考试题含解析
- 天津市静海区2025年数学高二第一学期期末考试模拟试题含解析
- 党校食堂管理制度
- 企业ERP项目立项与管理报告模板
- linux操作系统选择题大全
- 幼儿英语启蒙教学课件
- 2025年中心血站护理岗工作人员招聘考试笔试试题含答案
- 课件-房屋市政工程生产安全重大事故隐患判定标准(2024版)
- 第15课 红红火火中国年(教学课件)小学二年级上册 统编版《道德与法治》新教材
- 2025年食管胃底静脉曲张破裂出血护理查房记录
- 2026步步高六册同步物理必修3-第十二章 2 第2课时 路端电压与负载的关系 欧姆表的原理
- 运动减肥课件
- IATF16949中英文对照版2025-10-13新版
评论
0/150
提交评论