- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据传送指令
一 通用数据传送指令
指令英文全拼翻译MOVMove传送PUSHPush onto the stack进栈POPPop from the stack出栈XCHGExchange交换MOV指令为双操作数指令,两个操作数中不能全为内存操作数
格式:MOV DST,SRC
执行操作:dst = src
注:1.目的数可以是通用寄存器, HYPERLINK /view/1223079.htm \t _blank 存储单元和段寄存器(但不允许用CS段寄存器).
2.立即数不能直接送段寄存器
3.不允许在两个存储单元直接传送数据
4.不允许在两个段寄存器间直接传送信息
PUSH入栈指令及POP出栈指令:
HYPERLINK /view/93201.htm \t _blank 堆栈操作是以“后进先出”的方式进行数据操作。
格式:PUSH SRC //Word
执行操作:(SP)-(SP)-2
((SP)+1,(SP))-(SRC)
注:1.入栈的操作数除不???许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器。
2.入栈时高位字节先入栈,低位字节后入栈。
格式:POP DST //Word
执行操作:(DST)-((SP+1),(SP))
(SP)-(SP)+2
注:1.出栈操作数除不允许用立即数和CS段寄存器外,可以为通用寄存器,段寄存器和存储器。
2.执行POP SS指令后,堆栈区在存储区的位置要改变。
3.执行POP SP 指令后,栈顶的位置要改变。
XCHG(eXCHanG)交换指令:
将两操作数值交换。
格式:XCHG OPR1,OPR2 //Byte/Word
执行的操作:(OPR1)--(OPR2)
注:1.必须有一个操作数是在寄存器中
2.不能与段寄存器交换数据
存储器与存储器之间不能交换数据。
二 累加器专用传送指令
指令英文全拼翻译INInput输入OUTOutput输出XLATTranslate换码IN?输入指令
长格式为:IN AL,PORT(字节)
IN AX,PORT(字)
执行的操作:(AL)-(PORT)(字节)
(AX)-(PORT+1,PORT)(字)
短格式为:IN AL,DX(字节)
IN AX,DX(字)
OUT?输出指令
长格式为:OUT PORT,AL(字节)
OUT PORT,AX(字)
执行的操作:(PORT)-(AL)(字节)
(PORT+1,PORT)-(AX)(字)
短格式为:OUT DX,AL(字节)
OUT DX,AX(字)
执行的操作:((DX))-(AL)(字节)
((DX)+1,(DX))-AX(字)
XLAT(TRANSLATE)换码指令:
把一种代码转换为另一种代码。
格式:XLAT (OPR 可选) //Byte
执行操作:(AL)-((BX)+(AL))
注:指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码。
三 有效地址送寄存器指令
指令英文全拼翻译LEALoad effective address有效地址送寄存器LDSLoad DS with Pointer指针送寄存器和DSLESLoad ES with Pointer指针送寄存器和ESLEA(Load Effective Address) :
有效地址传送寄存器指令
格式:LEA REG,SRC //指令把源操作数SRC的有效地址送到指定的寄存器中。
执行操作:(REG)-SRC
注:1. SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器
2.MOV BX,OFFSET OPER_ONE 等价于LEA BX,OPER_ONE
3.MOV SP,[BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中
4.LEA SP,[BX] //将BX的内容作为存储器有效地址送入SP中
LDS(Load DS with pointer):
HYPERLINK /view/159417.htm \t _blank 指针送寄存器和DS指令
格式:LDS REG,SRC //常指定SI寄存器。
执行的操作:(REG)-(SRC)
(DS)-(SRC+2)
注:把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中。该指令常指定SI寄存器。
LES(Load ES with pointer) 指针送寄存器和ES指令
格式:LES REG,SRC //常指定DI寄存器
执行的操作:(REG)-(SRC)
(ES)-(SRC+2)//与LDS大致相同,不同之处是将ES代替DS而已。
注:把源操作数指定的4个相继字节送到由指
原创力文档


文档评论(0)