下载此文档

常用指令.ppt


文档分类:汽车/机械/制造 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
§§1数据传送指令§2算术运算指令§3逻辑运算及移位指令§4串操作指令(下一章再讨论)§5控制转移指令(下一章再讨论)§6输入/输出指令(下一章再讨论)§7处理器专用指令(下一章再讨论)§1数据传送指令通用数据传送指令MOV堆栈操作指令PUSH、POP数据交换指令XCHG查表指令XLAT地址传送指令LEA、LDS、LES标志传送指令LAHF、SAHF、PUSHF、POPF小结通用数据传送指令MOV功能:将源操作数内容复制到目操作数中。可使用的操作数类型组合举例:MOVDX,BP ;通用寄存器通用寄存器MOVAX,ES ;通用寄存器段寄存器MOVSP,1800H ;通用寄存器←立即数MOVBL,[2480H] ;通用寄存器存储器MOVDS,[BX+DI] ;段寄存器存储器MOVBYTEPTR[SI],0FH ;存储器←立即数CS不能做目操作数!堆栈的概念堆栈——以“先进后出”原则组织起来的连续的内存空间。堆栈操作以字为单位。固定以SS:SP为指针指示栈顶,出、入堆栈的操作均针对栈顶单元进行。80X86的堆栈生长方向为“向下增长”。入栈,指针减出栈,指针加堆栈操作入栈:先修改栈顶指针(SP减1),将入栈数据的高字节存入栈顶;再次修改指针(SP减1),将低字节存入栈顶。出栈:先将栈顶单元的内容存入目标字的低字节中,修改栈顶指针(SP加1);再将当前栈顶单元的内容存入目标字的高字节中,并修改指针(SP加1)。堆栈操作指令1、入栈指令PUSH可使用的操作数类型:PUSHCX ;通用寄存器PUSHDS ;段寄存器PUSH[0040H] ;存储器目操作数隐含为栈顶单元指令执行后SP减2入栈过程示意2、出栈指令POP可使用的操作数类型:POPSI ;通用寄存器POPES ;段寄存器POP[BX] ;存储器源操作数隐含为栈顶单元指令执行后SP加2出栈过程示意不能用CS!数据交换指令XCHG功能:将源、目操作数的内容互相交换,指令执行后源、目操作数同时被改变。可使用的操作数类型组合:XCHGCL,DH ;通用寄存器通用寄存器XCHGAX,[BP] ;通用寄存器存储器立即数为什么不能做源操作数?查表指令XLAT指令形式XLAT[数据表首地址标号]应用举例TABDB0,1,4,9,16,25,36,49,64,81 ;数据段中以TAB为首地址定义的字节表,数目≤255……MOVBX,OFFSETTABMOVAL,4XLATTAB指令执行后,AL=16。实现什么功能?地址传送指令有效地址传送指令LEA:源操作数的有效地址EA(不是内容!!)→目标寄存器LEA16位通用寄存器,存储器全地址指针传送指令LDS:将源操作数单元的内容当作32位全地址指针,偏移量(低16位)→目标寄存器,段基址(高16位)→DS。LDS16位通用寄存器,存储器全地址指针传送指令LES:将源操作数单元的内容当作32位全地址指针,偏移量(低16位)→目标寄存器,段基址(高16位)→ES。LES16位通用寄存器,存储器应用举例标志传送指令标志装入指令LAHF(Flags)L→AH标志存储指令SAHFAH→(Flags)L标志入栈指令PUSHF将标志寄存器压入堆栈。标志出栈指令POPF将栈顶字单元的内容弹到标志寄存器中。全部隐含源、目操作数唯一可改变TF的指令!

常用指令 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人q1188830
  • 文件大小205 KB
  • 时间2019-11-18
最近更新