微机原理与接口技术研究性课题一DEBUG调试.docx_第1页
微机原理与接口技术研究性课题一DEBUG调试.docx_第2页
微机原理与接口技术研究性课题一DEBUG调试.docx_第3页
微机原理与接口技术研究性课题一DEBUG调试.docx_第4页
微机原理与接口技术研究性课题一DEBUG调试.docx_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理研究性课题一汇编语言指令系统DEBUG调试研学报告姓名: 何梦浩 学号: 12213010 班级: 电子1201 教师: 崔勇 一、数据传送类指令 数据传送指令主要包括数据传送、数据交换、堆栈操作、查表转换、地址传送、标志位传送、I/O数据传送指令。这类指令的主要特点是大部分指令操作完成后,对FR中的标志位不产生影响。1. 数据传送指令MOV格式:MOV dst,src功能:将源操作数送至目标操作单元,源操作数的内容不变(其中dst只能是寄存器和存储器;src可以是立即数、寄存器和存储器)上图说明MOV指令默认了一种进制方式,不能识别其它的带进制符号的数,查资料知道,debug中默认了16进制,且不需要带进制表示符号H。使用错误:(1) 目标操作数不能为立即数,例如MOV 12,AL(2) 立即数不能直接送到段寄存器中,例如MOV CS,12(3) 源操作数和目标操作数不能同时为间接寻址方式,例如MOV AL,12(4) 源操作数和目标操作数大小不匹配,例如MOV AL,BX(5) 段寄存器不能同时做为源操作数和目标操作数,例如MOV DS,SS(6) CS代码段寄存器不能做目标操作数,例如MOV CS,122. 数据交换指令XCHG格式:XCHG dst,src功能:源操作数和目标操作数里面的内容交换(源操作数和目标操作数寻址可以是通用寄存器和存储器,不能是立即数。)上图可以看出,先将立即数12送至累加器AL,那么(AX)=0012,然后交换AL和BL的内容,得出(BX)=0012,(AX)=0000使用错误:(1) 不能用寄存器和立即数直接交换,例如MOV AL,12(2) 不能交换存储器间接寻址的两个操作数,例如MOV AL,BL3. 堆栈操作指令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使用错误:(1) 堆栈不能直接对字节进行操作,例如PUSH AL和POP BL(2) 堆栈不能把CS作为目标操作数,例如POP CS4. 查表转换指令XLAT格式:XLAT功能:查表得到的字节数据送入AL中。5. 有效地址传送指令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当中6. 标志位传送指令标志寄存器FR的操作指令有以下4条:LAHF;将标志寄存器的低8位传送到AH寄存器。SAHF;将AH的8位数传送到标志寄存器的低8位。PUSHF;标志位寄存器内容进栈。POPF;将堆栈中弹出的数送标志位寄存器。(这四条指令格式中只有操作码,操作数是隐含约定的。) 7. I/O数据传送指令(1)输入指令IN格式:IN ac,port功能:将端口的数据送入CPU累加器。(2)输出指令OUT格式:OUT port,ac功能:将CPU累加器中的数据写入端口。使用错误:端口地址和DX加“ ”会出错,如IN AL,28H和IN AL,DX。二、算术运算指令1. 加法指令(1)不带进位的加法指令 格式:ADD dst,src 8 功能:源操作数和目标操作数相加,结果送至目标单元。(2)带进位的加法指令格式:ADC dst,src功能:源操作数和目标操作数的和与进位标志CF相加,结果送至目标单元。(3)加1指令 格式:INC dst功能:目标操作数加1,结果送至目标单元。2. 减法指令(1)不带借位的减法指令 格式:SUB dst,src 功能:目标操作数减去源操作数,结果送至目标单元。 (2)带借位的减法指令 格式:SBB dst,src 功能:目标操作数减去源操作数再减去借位标志CF,结果送至目标单元。(3)减1指令 格式:DEC dst 功能:目标操作数减1,结果送至目标单元。(4)求补指令 格式:NEG dst 功能:0减目标操作数,结果送至目标单元。 (5)比较指令 格式:CMP dst,src功能:目标操作数减源操作数,不回送结果,只是形成标志位。3. 乘法指令格式:MUL/IMUL src 说明:MUL为无符号数乘法,IMUL为有符号数乘法,源操作数为乘数,被乘数和乘积由隐含方式确定。 4. 除法指令格式:DIV/IDIV src说明:DIV为无符号数除法,IDIV为有符号数除法,源操作数为除数,被除数和商及余数由隐含方式确定。 5. BCD码运算调整指令类型指令功能指令位置组合型DAA对AL中的加法结果调整为组合型BCD码ADD/ADC之后DAS对AL中的减法结果调整为组合型BCD码SUB/SBB之后非组合型AAA对AL中的加法结果调整为非组合型BCD码ADD/ADC之后AAS对AL中的减法结果调整为非组合型BCD码SUB/SBB之后AAM对AL中的乘法结果调整,结果存入AH和AL中MUL之后AAD对AX中的非组合型BCD码调整为二进制,存入AL中DIV之前从上图看出,AL加上BL内的值,然后用DAA将算得的数据转换为组合型BCD码,保存到了AL当中6. 符号扩展指令符号扩展指令有如下3条: 字节扩展格式:CBW;将AL中的符号扩展到AH 字扩展格式: CWD;将AX中的符号扩展到DX双字扩展格式:CDQ;将EAX中的符号扩展到EDX从上图看出AL中的符号扩展到了AH当中从上图看出,AX中的符号扩展到了DX三、逻辑运算指令1. 逻辑运算指令格式功能AND dst,src源操作数与目标操作数按位“与“,结果送至目标单元OR dst,src源操作数与目标操作数按位“或“,结果送至目标单元XOR dst,src源操作数与目标操作数按位“异或“,结果送至目标单元TEST dst,src源操作数与目标操作数按位“与“,置相应标志位NOT dst目标操作数按位“取反“,结果送至目标单元 从上图可以看出AL和BL的值作逻辑与之后存入AL当中,下面是表中的其它指令debug调试 2. 移位指令格式功能SHL dst,1/CL逻辑左移SHR dst,1/CL 逻辑右移 SAL dst,1/CL 算术左移 SAR dst,1/CL 算术右移 ROL dst,1/CL 循环左移 ROR dst,1/CL 循环右移 RCL dst,1/CL 带进位循环左移 RCR dst,1/CL 带进位循环右移 从上图可以看出,执行完逻辑右移之后,AX的值从0012变成0009,注意使用时要严格遵循格式,要将移动的位数放到CL当中四、处理机控制指令类型 格式 功能 标志位操作CLC 清除进位位 CF0 STC进位位置位 CF1CMC进位位求反 CFCFCLD清除方向标志 DF0STD方向标志置位 DF1CLI清除中断标志 IF0STI中断标志置位 IF1等待 WAIT 用于主/协处理器执行数字指令时的同步 暂停 HLT 使处理器停止执行命令 空操作 NOP 用于延时 封锁 LOCK 封锁总线,使指令的执行受到保护 交权 ESC 由CPU转到FPU去执行 五、存在的问题(1) DEBUG中输入的数字都是16进制数,不用在后面加H; (2) 输入以字母开头的数字时,如F4H,前面不用加0; (3) 用debug调试是出现docbox异常退出现象,探究原因可能是操作过于频繁,或者是数据处理过多书是我们时代的生命别林斯基书籍是巨大的力量列宁书是人类进步的阶梯高尔基书籍是人类知识的总统莎士比亚书籍是人类思想的宝库乌申斯基书籍举世之宝梭罗好的书籍是最贵重的珍宝别林斯基书是唯一不死的东西丘特

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论