汇编语言上机实验十2015李中.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言上机实验十2015李中

实验十 输入/输出与中断实验 一、实验目的 1.掌握输入/输出与中断指令的使用方法; 2.掌握中断向量表的结构及使用方法; 3.掌握 INT 指令的使用方法; 4.掌握 BIOS 中断功能调用的使用方法; 5.掌握 DOS 功能调用的使用方法。 二、实验要求 1.了解 INT 指令与 CALL 指令的不同点; 2.会用 DEBUG 观察中断向量表; 3.会用 DEBUG 的 T 和 P 命令执行 INT 指令; 4.会用 INT 10H、INT 16H 编制程序; 5.会用 DOS 功能调用的 02H、09H 功能编制程序 三、实验题目 1. 编制程序。利用 IBM PC BIOS 功能调用的 INT 16H 功能,编制一个从键盘上接收若 干个字符串的程序。 2.编制程序。利用 IBM PC BIOS 功能调用的 INT 10H 功能,编制一个在屏幕上指定位 置显示若干个字符串的程序。 四、实验思路 1调用INT16号功能实现输入字符,并且用int 10号功能实现显示字符,并且将字符保存到data开始的内存单元中,如果不是ctrl+c的话循环输入输出,是的话结束程序. 2用INT 10中03功能读出当前光标位置,然后保存当前的光标位置,只有用INT10中的02号功能设置要显示字符的位置,调用INT 10的0E号功能循环显示字符,遇到结尾符号0的时候结束输出,然后恢复光标位置,调用INT 10的1号功能恢复光标类型,用INT 10的2号功能设置光标位置,使光标位置回到起点,结束程序. PUSH DX;保存当前光标位置 PUSH CX;保存光标类型 MOV DX,1020H;设置光标位置 MOV AH,02H INT 10H;设置光标位置 五、实验程序 1 DSEG SEGMENT;数据段开始 DATA DB 80 DUP (0);存储数据的单元 DSEG ENDS ;数据段结束 CSEG SEGMENT;代码段开始 ASSUME CS:CSEG,DS:DSEG;段假设 START: MOV AX,DSEG MOV DS,AX;段地址初始化 MOV BX,0 A1: MOV AH,0 INT 16H;调用16号功能输入 CMP AL,03H;判断是否为ctrl+c JE A2;是的话程序结束 MOV AH,0EH INT 10H;调用10号功能实现显示 MOV DATA[BX],AL;存储到data单元 INC BX;指向下一字符 JMP A1;循环输入 A2: MOV AX,4C00H INT 21H;程序结束 CSEG ENDS END START 2 DSEG SEGMENT DATA DB I LOVE YOU.;字符 DB 00H;字符结尾标志 DSEG ENDS ; CSEG SEGMENT;代码段开始 ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX;短地址初始化 MOV SI,OFFSET DATA;取字符的偏移地址 MOV AH,03H INT 10H;读出当前光标位置 PUSH DX;保存当前光标位置 PUSH CX;保存光标类型 MOV DX,1020H;设置光标位置 MOV AH,02H INT 10H;设置光标位置 A1: MOV AL,[SI];取出第一个字符 CMP AL,0;判断是否为0 JE A2 MOV AH,0EH INT 10H;显示字符 INC SI;指向下一个字符 JMP A1;循环 A2: POP CX;恢复光标位置 POP DX;恢复光标类型 MOV AH,01H INT 10H;设置光标类型 MOV AH,02H INT 10H;设置光标位置 MOV AX,4C00H INT 21H CSEG ENDS END START 六、实验结果 1 2如图,显示字符'I LOVE YOU'位于中间位置处 七、实验总结 1,利用INT实现输入和输出,并且改变光标的位置; 2,会自己写入中断向量表,使程序执行自己设置的中断程序; 3,理解INT n的调用过程以及其中堆栈指针的变化情况; 4,学会运用BIOS中断功能调用的使用方法;

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档