ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:233.57KB ,
资源ID:5937973      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5937973.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(在PC机上用汇编语言实现简单的人机交互程序.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

在PC机上用汇编语言实现简单的人机交互程序.docx

1、在PC机上用汇编语言实现简单的人机交互程序 在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 picture?$ buf4 db Please ch

2、oose 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 with you!$ buf11 db Bye-Bye!$ buf12 db If you want turn up, please press w !$ buf13 db If you wa

3、nt 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 ENDSESEG SEGMENT ;附加段:在此处添加程序所需的数据ESEG ENDSCSEG SEGMENT assume cs:CSEG, ds:DSEG, es:ESEG, ss:SSEG MAIN PROC FAR ;主程序入口 mov ax, dseg mov ds, ax mov ax,es

4、eg mov es, ax ;输入端口设置 begin: lea dx,buf1 ;将buf1 的 首地址传给dx mov ah,9 int 21h ;输出buf1的内容 mov dl,0ah mov ah,02 int 21h ;输出换行 mov dl,0dh mov ah,02 int 21h ;输出回车,实现换行后,光标人在第一列 mov ah,07 int 21h ;输入字符 mov bl,al cmp bl,104 ;比较字符与h 得ascall码值 jnz l1 ;判断 为h的话 程序继续执行 不为h的话 程序跳转到了l1 lea dx,buf2 ;将buf2 的 首地址传给dx

5、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 ;输出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

6、 ah,02 int 21h ;输出回车,实现换行后,光标任在第一列 start: lea dx,buf3 ;将buf3的 首地址传给dx mov ah,9int 21h ;输出buf3的内容 lea dx,buf4 ;将buf4 的 首地址传给dx mov ah,9 int 21h ;输出buf4的内容 mov dl,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 ;比较字

7、符与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 ;输出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 ;输出回车,实

8、现换行后,光标任在 第一列 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的内容 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

9、 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 ;输出buf12的内容 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

10、;输出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,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的内容 m

11、ov 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 picture ;跳转到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 ; 跳

12、回到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 ; 跳回到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 a

13、h,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 ENDP CSEG ENDSEND MAIN2 对程序进行编译3 对程序进行连接4 运行程序实验结果 程序运行结果 程序刚执行的画面当你按下h时当你没有按下h,而是其他键时当你选择y时当你选择n时你可以使用w s d a 实行画图实验心得 体会到编程最难弄的是构思,和程序的调试,这个程序长度很长,构思了一天,程序调试了一中午才弄出来,翻阅的书籍就只有微机原理与接口技术的教科书,感觉学到很多东西。参考资料 微机原理与接口技术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1