微机原理实验报告.docxVIP

  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文档。上传文档
查看更多
微机原理实验报告

2.1显示程序实验实验目的掌握在PC机上以十六进制形式显示数据的方法。掌握部分DOS功能调用使用方法。熟悉Windows集成操作软件Tdpit的操作环境和操作方法实验设备 PC微机一台、TD-PITD实验系统一套。3.实验步骤和结果 (1)编辑源代码STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES DB Press any key to exit!,0AH,0DH,0AH,0DH,$MES1 DB Show 34H as hex:,0AH,0DH,$SD DB 15HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES MOV AH,09H INT 21H MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV SI,OFFSET SD MOV AL,DS:[SI] AND AL,0F0H MOV CL,4 SHR AL,CL CMP AL,0AH JB C2 ADD AL,07HC2:ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,DS:[SI] AND AL,0FH CMP AL,0AH JB C3 ADD AL,07HC3:ADD AL,30H MOV DL,AL MOV AH,02H INT 21HKEY:MOV AH,1 INT 16H JZ KEY MOV AX,4C00H INT 21H CODE ENDSEND START(2)实验结果图所示: 2.2 数据传送实验1. 实验目的1. 掌握与数据有关的不同寻址方式。2. 继续熟悉实验操作软件的环境及使用方法。2.实验设备PC 微机一台、TD-PITD 实验系统一套。3.实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。参考实验程序如下。实验程序清单(例程文件名:A2.ASM)DDATA SEGMENT;定义源数据段MSR DB HELLO,WORLD!$LEN EQU $- MSRDDATA ENDSEXDA SEGMENT;定义附加数据段MSD DB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART:MOV AX,DDATAMOV DS,AX;装载数据段寄存器MOV AX,EXDAMOV ES,AX;装载附加数据段寄存器MOV SI,OFFSET MSR;设置 SIMOV DI,OFFSET MSD;设置 DIMOV CX,LENNEXT: MOV AL,[SI];开始传输数据MOV ES:[DI],ALINC SIINC DIDEC CXJNZ NEXTPUSH ESPOP DS;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21HKEY: MOV AH,1;判断是否有按键按下?INT 16H;(为观察运行结果,使程序有控制的退出)JZ KEYMOV AX,4C00H;结束程序退出INT 21HCODE ENDSEND START将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示。MOV BX,0MOV CX,LENNEXT: MOV AL,MSR[BX]MOV ES:MSD[BX],ALINC BXLOOP NEXT4.实验步骤(1) 编辑源代码将程序源代码编辑完成之后修改文件名为A2.asm保存在目录E:\masm5.0\MYCODE下。(2) 编译A2.asm文件进入DOS系统打开MASM5.0所在目录,并编译A2.asm文件,直到编译无错误。如图2-2-2所示。(3) 连接A2.obj文件使用LINK命令连接A2.obj文件,生成A2.exe文件。运行A2.exe文件,查看运行结果。如图所示:运行程序后,屏幕显示“HELLO, WORLD!”。说明程序运行正确。下面通过调试查看内存数据来了解数据的传输过程。(4) DEBUG调试输入命令E:\masm5.0debug a2.exe 回车可进入调试系统,首先对a2.exe进行反汇编,如图所示:从反汇编的程序上可以看出,原字符串存放的段地址为0,13E5,偏移地址为0x0000,复制字符串的母的地址为0x13E6,偏移地址为0x0000,字符串的长度为0x0D。下面通过内存查看命令源地址和目的地址的数据情况,如图所示:从此图可以直接看出原

文档评论(0)

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

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

1亿VIP精品文档

相关文档