汇编指令详解79671

汇编指令详解79671

ID:19652354

大小:91.50 KB

页数:50页

时间:2018-10-04

汇编指令详解79671_第1页
汇编指令详解79671_第2页
汇编指令详解79671_第3页
汇编指令详解79671_第4页
汇编指令详解79671_第5页
资源描述:

《汇编指令详解79671》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、汇编指令详解79671-----------------------Page1-----------------------8086/8088指令详解一、数据传送指令(课本P47)1.通用数据传送指令(P47)MOV传送字或字节.PUSH把字压入堆栈.POP把字弹出堆栈.XCHG交换字或字节.MOVSX先符号扩展,再传送.MOVZX先零扩展,再传送.PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD把EAX,ECX,EDX,

2、EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.MOV指令格式为:MOVDST,SRC执行的操作:(DST)<-(SRC)1.目的数可以是通用寄存器,存储单元和段寄存器(但不允许用CS段寄存器).2.立即数不能直接送段寄存器3.不允许在两个存储单元直接传送数据4.不允许在两个段寄存器间直接传送信息PUSH入栈指令及POP出栈指令:堆栈操作是以"后进先出"的方式进行数据操作.PUSH进栈指令格式为:PUSHSRC执行的操作:(SP)<-(

3、SP)-2((SP)+1,(SP))<-(SRC)1.入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器.2.入栈时高位字节先入栈,低位字节后入栈.POP出栈指令格式为:POPDST1-----------------------Page2-----------------------执行的操作:(DST)<-((SP+1),(SP))(SP)<-(SP)+21.出栈操作数除不允许用立即数和CS段寄存器外,可为通用寄存器,段寄存器和存储器.2.执行POPSS指令后,堆栈区在存储区的位置要改变.3.执行P

4、OPSP指令后,栈顶的位置要改变.XCHG交换指令格式为:XCHGOPR1,OPR2执行的操作:(OPR1)<-->(OPR2)1.必须有一个操作数是在寄存器中2.不能与段寄存器交换数据3.存储器与存储器之间不能交换数据.2.累加器专用传送指令(P53)IN(Input)输入OUT(Output)输出XLAT(Translate)换码这组指令只限于使用累加器AX或AL传送信息.IN输入指令长格式为:INAL,PORT(字节)INAX,PORT(字)执行的操作:(AL)<-(PORT)(字节)(AX)<-(PORT+1,PORT

5、)(字)短格式为:INAL,DX(字节)INAX,DX(字)执行的操作:AL<-((DX))(字节)AX<-((DX)+1,DX)(字)OUT输出指令长格式为:OUTPORT,AL(字节)OUTPORT,AX(字)执行的操作:(PORT)<-(AL)(字节)2-----------------------Page3-----------------------(PORT+1,PORT)<-(AX)(字)短格式为:OUTDX,AL(字节)OUTDX,AX(字)执行的操作:((DX))<-(AL)(字节)((DX)+1,(DX))

6、<-AX(字)在IBM-PC机里,外部设备最多可有65536个I/O端口,端口(即外设的端口地址)为0000~FFFFH.其中前256个端口(0~FFH)可以直接在指令中指定,这就是长格式中的PORT,此时机器指令用二个字节表示,第二个字节就是端口号.所以用长格式时可以在指定中直接指定端口号,但只限于前256个端口.当端口号>=256时,只能使用短格式,此时,必须先把端口号放到DX寄存器中(端口号可以从0000到0FFFFH),然后再用IN或OUT指令来传送信息.XLAT换码指令格式为:XLATOPR或:XLAT执行的操作:(

7、AL)<-((BX)+(AL))1.BX指向一张256字节的表的起点,AL为表的索引值(0-255,即0-FFH);返回AL为查表结果.2.指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码.3.有效地址送寄存器指令(P55)LEA(Loadeffectiveaddress)有效地址送寄存器LDS(LoadDSwithPointer)指针送寄存器和DSLES(LoadESwithPointer)指针送寄存器和ESLFS传送目标指针,把指针内容装入FS.LGS传送目标指针,把指针内容装入GS.LS

8、S传送目标指针,把指针内容装入SS.LEA有效地址送寄存器格式为:LEAREG,SRC执行的操作:(REG)<-SRC3-----------------------Page4-----------------------指令把源操作数的有效地址送到指定的寄存器中.例:LEA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。