微机原理和接口技术的研究性学习.docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术研究性学习 DEBUG命令及汇编指令调试 指导老师:苏晓星 班级:通信1208班 学号姓名:陈睿哲 1、 学习目的 1 2、 实验环境 1 3、 学习过程 1 3.1、数据传送类指令 1 3.1.1 数据传送指令(MOV) 1 3.1.2 数据交换指令(XCHG) 2 3.1.3 堆栈操作指令(PUSH/POP) 2 3.1.4 查表转换指令(XLAT) 3 3.1.5 地址传送指令(LEA/LDS) 4 3.1.6 标志位传送指令 5 3.1.7 I/0数据传送指令 7 3.2 算数运算类指令 8 3.2.1 加法指令 8 3.2.2减法指令 9 3.2.3乘法指令 10 3.2.4 除法指令 11 3.2.5 BCD码运算调整指令 12 3.3 逻辑运算类指令 14 4、 心得体会 18 学习目的 通过在计算机debug环境下,调试各类指令,实现熟悉80x86的常用指令及功能的目的。 实验环境 64位window 7 DOSBOX 0.74环境 打开Dosbox输入mount c c:\??加载目录到c盘 输入c:\ ?进入到c盘,看到我们已经在c盘, 输入debug,表示打开放在c盘下的debug工具,并输入指令R 启动DEBUG调试程序时,不带被调试程序,则所有段寄存器值相等,都指向当前可用的主存段;除SP之外的通用寄存器值都设置为0。 学习过程 3.1、数据传送类指令 3.1.1 数据传送指令(MOV) 格式:MOV dst(寄存器、储存器),src(立即数、寄存器、储存器) 功能:源操作数传送至目标单元,源操作数保持不变。 数据传送具有一定方向: 立即数传送至通用寄存器获储存器。 通用寄存器与存储器之间相互传输。 通用寄存器之间相互传送。 通用寄存器与段寄存器(CS不能作为目标)之间相互传送。 储存器与段寄存器(CS不能作为目标)之间相互传送。 调试: 3.1.2 数据交换指令(XCHG) 格式:XCH dst(通用寄存器、储存器),src(通用寄存器、储存器) 功能:源操作数与目标操作数相互交换。 源操作数和目标操作数寻址可以使通用寄存器和存储器,不能使立即数。 应用XCHG指令时应当注意:存储器之间不能直接进行数据交换 调试: 3.1.3 堆栈操作指令(PUSH/POP) 数据进栈指令(PUSH) 格式:PUSH src 功能:先将SP/ESP减2/4修改,然后将源操作数压入SP/ESP指定的位置。高字节数据存放在高地址单元,低字节数据存放在低地址单元。 数据出栈指令(POP) 格式:POP dst 功能:从栈顶弹出操作数送入目的操作数。目的操作数允许为16或32位通用寄存器、存储器和16位段寄存器。当操作数数据类型为字类型,出栈操作使SP加2;当操作数数据类型为双字类型,出栈操作使SP加4。 应用POP/PUSH指令时应当注意: 堆栈不能进行字节操作。 不能用CS作为目标操作数。 堆栈出栈后,并不意味着数据清除,但因为SP指针对它们已不起作用,也就意味着这些数据无意义。 3.1.4 查表转换指令(XLAT) 格式:XLAT 功能:查表得到的字节数据送入AL中。 调试: 3.1.5 地址传送指令(LEA/LDS) 有效地址传送指令(LEA) 格式:LEA dst(通用寄存器),src(储存器寻址) 功能:源操作数的有效地址EA传送到目标。 目标地址传送指令(LDS) 格式:LDS dst,src 功能:将源操作数中存放的地址指针“段基址:偏移地址”的低16位传送到目标通用寄存器中,高16位传送到DS段寄存器中。 源操作数必须是存储器地址,目标操作数为16位通用寄存器。 调试: 3.1.6 标志位传送指令 LAHF ;将标志寄存器的低8位传送到AH寄存器 SAHF ;将AH的低8位数传送到标志寄存器的低8位 PUSHF;标志位寄存器内容进栈 POPF ;将堆栈中弹出的数送标志寄存器 调试: 3.1.7 I/0数据传送指令 输入指令(IN) 格式:IN ac,port 功能:将端口的数据送入CPU累加器。 输出指令(OUT) 格式:OUT port,ac 功能:将CPU累加器中的数据写入端口。 端口地址为 00H 到 FFH,可直接传送,否则要先送到 DX,再送到 ac。 调试: 3.2 算数运算类指令 算术运算类指令包括加、减、乘、除、比较、调整指令,另外还有 BCD 码的运算,这些数可以是无符号数,也可以是有符号数。 3.2.1 加法指令 不带进位的加法指令: 格式:ADD dst,src 功能:目标+源→目标。 调试: 带进位的加法指令: 格式:ADC dst,src 功能:目标+源+CF→目标。 调试: 加1指令: 格式:INC dst 功能:目标+1→目标。

文档评论(0)

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

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

1亿VIP精品文档

相关文档