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

汇编语言常用指令大全.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MOV?指令为双操作数指令,两个操作数中必须有一个是 寄存器.   MOV DST , SRC // Byte / Word   执行操作: dst = src   1.目的数可以是通用寄存器,? 存储单元和段寄存器(但不允许用CS段寄存器).   2.立即数不能直接送段寄存器   3.不允许在两个存储单元直接传送数据   4.不允许在两个段寄存器间直接传送信息   PUSH?入栈指令及POP出栈指令:? 堆栈操作是以“后进先出”的方式进行数据操作.   PUSH SRC //Word   入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器.   入栈时高位字节先入栈,低位字节后入栈.   POP DST //Word   出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器.   执行POP SS指令后,堆栈区在存储区的位置要改变.   执行POP SP 指令后,栈顶的位置要改变.   XCHG(eXCHanG)交换指令: 将两操作数值交换.   XCHG OPR1, OPR2 //Byte/Word   执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp   1.必须有一个操作数是在寄存器中   2.不能与段寄存器交换数据   3.存储器与存储器之间不能交换数据.   XLAT(TRANSLATE)换码指令: 把一种 代码转换为另一种代码.   XLAT (OPR 可选) //Byte   执行操作: AL=(BX+AL)   指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码.   LEA(Load Effective Address) 有效地址传送寄存器指令   LEA REG , SRC //指令把源操作数SRC的有效地址送到指定的寄存器中.   执行操作: REG = EAsrc   注: SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器   MOV BX , OFFSET OPER_ONE 等价于 LEA BX , OPER_ONE   MOV SP , [BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中   LEA SP , [BX] //将BX的内容作为存储器有效地址送入SP中   LDS(Load DS with pointer) 指针送寄存器和DS指令   LDS REG , SRC //常指定SI寄存器。   执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定的寄存器中,后二个存储单元送入DS段寄存器中。   LES?(Load ES with pointer) 指针送寄存器和ES指令   LES REG , SRC //常指定DI寄存器   执行操作: REG=(SRC) , ES=(SRC+2) //与LDS大致相同,不同之处是将ES代替DS而已.   LAHF?( Load AH with Flags ) 标志位送AH指令   LAHF //将PSW寄存器中的低8位的状态标志(条件码)送入AH的相应位, SF送D7位, ZF送D6位......   执行操作: AH=PSW的低位字节。   SAHF?( Store AH into Flags ) AH送标志寄存器指令   SAHF //将AH寄存器的相应位送到PSW寄存器的低8位的相应位, AH的D7位送SF, D6位送ZF......   执行操作: PSW的低位字节=AH。   PUSHF?( PUSH the Flags) 标志进栈指令   PUSHF //将标志寄存器的值压入堆栈顶部, 同时栈指针SP值减2   执行操作: SP=SP-1,(SP)=PSW的高8位, SP=SP-1, (SP)=PSW的低8位   POPF?( POP the Flags ) 标志出栈指令   POPF //与PUSHF相反, 从堆栈的顶部弹出两个字节送到PSW寄存器中, 同时堆栈指针值加2   执行操作: PSW低8位=(SP), SP=SP+1, PSW高8位=(SP) , SP=SP+1   输入输出指令(IN,OUT):只限于使用累加器AX或AL与外部设备的端口传送信息.   IN (INput)输入指令:信息从I/O通过累加器传送到CPU   IN AL , PORT //直接的字节输入,PORT是外设端口编号(即端口地址),只能取 00H ~ 0FFH共256个端口地址.   IN AX , PORT //直接的字输入,AX存储连续两个端口地址PORT+1,PORT   IN AL , DX //间接的字节输入,端口地址范围可通过DX设置

文档评论(0)

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

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

1亿VIP精品文档

相关文档