网站大量收购独家精品文档,联系QQ:2885784924

微机原理与接口技术研究性课题一DEBUG调试.docx

微机原理与接口技术研究性课题一DEBUG调试.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理研究性课题一 汇编语言指令系统DEBUG调试研学报告 姓名: 何梦浩 学号: 班级: 电子1201 教师: 崔勇 一、数据传送类指令 数据传送指令主要包括数据传送、数据交换、堆栈操作、查表转换、地址传送、标志位传送、I/O数据传送指令。这类指令的主要特点是大部分指令操作完成后,对FR中的标志位不产生影响。 数据传送指令MOV 格式:MOV dst,src 功能:将源操作数送至目标操作单元,源操作数的内容不变 (其中dst只能是寄存器和存储器;src可以是立即数、寄存器和存储器) 上图说明MOV指令默认了一种进制方式,不能识别其它的带进制符号的数,查资料知道,debug中默认了16进制,且不需要带进制表示符号H。 使用错误: 目标操作数不能为立即数,例如MOV 12,AL 立即数不能直接送到段寄存器中,例如MOV CS,12 源操作数和目标操作数不能同时为间接寻址方式,例如MOV [AL],[12] 源操作数和目标操作数大小不匹配,例如MOV AL,BX 段寄存器不能同时做为源操作数和目标操作数,例如MOV DS,SS CS代码段寄存器不能做目标操作数,例如MOV CS,12 数据交换指令XCHG 格式:XCHG dst,src 功能:源操作数和目标操作数里面的内容交换 (源操作数和目标操作数寻址可以是通用寄存器和存储器,不能是立即数。) 上图可以看出,先将立即数12送至累加器AL,那么(AX)=0012,然后交换AL和BL的内容,得出(BX)=0012,(AX)=0000 使用错误: 不能用寄存器和立即数直接交换,例如MOV AL,12 不能交换存储器间接寻址的两个操作数,例如MOV [AL],[BL] 堆栈操作指令PUSH/POP (1)数据进栈指令PUSH 格式:PUSH src 功能:先将SP/ESP减2/4修改,然后将源操作数压入SP/ESP指定的位置。高字节数据存放在高地址单元,低字节数据存放在地地址单元。 (2)数据出栈指令POP 格式:POP dst 功能:先将SP/ESP指定位置的一个字/双字数据弹出到目标单元,然后SP/ESP加2/4修改,指向新的栈顶。 从上图可以看出,将AX的内容压入堆栈,同时SP减2,然后将堆栈的底部数据压出到CX当中,同时SP加2 使用错误: 堆栈不能直接对字节进行操作,例如PUSH AL和POP BL 堆栈不能把CS作为目标操作数,例如POP CS 查表转换指令XLAT 格式:XLAT 功能:查表得到的字节数据送入AL中。 有效地址传送指令LEA/LDS (1)有效地址传送指令LEA 格式:LEA dst, src 功能:源操作数的有效地址EA传送到目标。 (其中源操作数必须是存储器寻址,目标操作数为16位或32位通用寄存器。) 从上图看出,将SI里的值加上立即数1200之后,再传送到AX当中 (2)目标地址传送指令LDS 格式:LDS dst, src 功能:将源操作数中存放的地址指针“段基值:偏移地址”的低16位传送到目标通用寄存器中,高16位传送到DS段寄存器中。 (源操作数必须是存储器寻址,目标操作数为16位通用寄存器。) 低16位送到AX当中,而高16位送到DS当中 标志位传送指令 标志寄存器FR的操作指令有以下4条: LAHF;将标志寄存器的低8位传送到AH寄存器。 SAHF;将AH的8位数传送到标志寄存器的低8位。 PUSHF;标志位寄存器内容进栈。 POPF;将堆栈中弹出的数送标志位寄存器。 (这四条指令格式中只有操作码,操作数是隐含约定的。) I/O数据传送指令 (1)输入指令IN 格式:IN ac,port 功能:将端口的数据送入CPU累加器。 (2)输出指令OUT 格式:OUT port,ac 功能:将CPU累加器中的数据写入端口。 使用错误: 端口地址和DX加“[ ]”会出错,如IN AL,[28H]和IN AL,[DX]。 二、算术运算指令 加法指令 (1)不带进位的加法指令 格式:ADD dst,src 8 功能:源操作数和目标操作数相加,结果送至目标单元。 (2)带进位的加法指令 格式:ADC dst,src 功能:源操作数和目标操作数的和与进位标志CF相加,结果送至目标单元。 (3)加1指令 格式:INC dst 功能:目标操作数加1,结果送至目标单元。 减法指令 (1)不带借位的减法指令 格式:SUB dst,src 功能:目标操作数减去源操作数,结果送至目标单元。 (2)带借位的减法指令 格式:SBB dst,src 功能:目标操作数减去源操作数再减去借位标志CF,结果送至目标单元。 (3)减1指令 格式:DEC

文档评论(0)

guocuilv2018 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档