首页 > 编程语言 >举例说明常用的传输类汇编指令的使用

举例说明常用的传输类汇编指令的使用

时间:2022-11-13 19:33:17浏览次数:74  
标签:标志 汇编 src SP 传输 指令 寄存器 port 举例说明

一、通用数据传送指令

  1、传送指令MOV (move)

  指令的汇编格式:MOV DST,SRC

  指令的基本功能:(DST)《-(SRC) 将原操作数(字节或字)传送到目的地址。

  指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。

  指令的执行对标志位的影响:不影响标志位。指令的特殊要求:

  目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是CS,也不能用立即数方式。

  2、进栈指令PUSH (push onto the stack)

  出栈指令 POP (pop from the stack)

  指令的汇编格式:PUSH SRC ;POP DST

  指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。

  PUSH SRC (SP)《-(SP)-2 ;(SP)《-(SRC)

  POP DST (DST)《-((SP));(SP)《-(SP)

  指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。

  指令对标志位的影响:PUSH 和 POP指令都不影响标志位。

  指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2; POP指令的DST不允许是CS寄存器;

  3、交换指令XCHG (exchange)

  指令的汇编格式:XCHG OPR1,OPR2

  指令的基本功能:(OPR1)《-》(OPR2)

  指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。

  指令对标志位的影戏:不影响标志位。

  指令的特殊要求:不允许使用段寄存器。

二、累加器专用传送指令

  4、输入指令IN (input)

输出指令 OUT (output)

  指令的汇编格式:IN ac,port port《=0FFH

  IN ac,DX port》0FFH

  OUT port,ac port《=0FFH

  OUT DX,ac port》0FFH

  IN ac,port port《=0FFH (AL)《-(port)传送字节或 (AX)《-(port+1,port)传送字

  IN ac,DX port》0FFH (AL)《-((DX))传送字节或 (AX)《-((DX)+1,(DX))传送字

  OUT port,ac port《=0FFH (port)《-(AL)传送字节或 (port+1,port)《-(AX)传送字

  OUT DX,ac port》0FFH (DX)《-(AL)传送字节或 ((DX)+1,(DX))《-(AX)传送字指令对标志位的影响:不影响标志位。

  指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。

  5、换码指令XLAT (translate)

  指令的汇编格式:XLAT opr 或 XLAT

  指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在

  AL中。 (AL)《-((DS)*16+(BX)+(AL))

  指令对标志位的影响:不影响标志位。

  指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL。opr为表格的首地址,因为opr所表示的偏移地址已存入BX寄存器,所以opr在换码指令中可有可无,有则提高程序的可读性。

  三、地址传送指令

  6、有效地址传送器LEA (load effecTIve address)

  指令的汇编格式:LEA reg,src

  指令的基本功能:LEA指令把源操作数的有效地址送到指定的寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。

  指令支持的寻址方式:各种存储器寻址方式。

  指令对标志位的影响:不影响标志位。

  指令的特出要求:指令中reg不能是段寄存器;

  7、指针送寄存器和DS LDS (load DS with point)

  指针送寄存器和ES LES (load ES with point)

  指令的汇编格式:LDS reg,src LES reg,src

  指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。

  LDS reg,src (reg)《-(src) (DS)《-(src+2)

  LES reg,src (reg)《-(src) (ES)《-(src+2)

  指令支持的寻址方式:src必须为存储器寻址方式

  指令对标志位的影响:不影响标志位。

  指令的特殊要求:指令中REG不能是段寄存器;

四、标志寄存器传送指令

  8、标志寄存器的低字节送AH LAHF (load AH with FLAGS)

 指令的汇编格式:LAHF

  指令的基本功能:(AH)《-(FLAGS)0-7

  指令对标志位的影响:不影响标志位

  9、AH送标志寄存器低字节 SAHF(store AH into FLAGS)

  指令的格式:SAHF

  指令的基本功能:(FLAGS)0-7《-(AH)

  指令对标志位的影响:由装入值来确定标志位的值。

  10、标志进栈 PUSHF (push the flags)

  指令的汇编格式:PUSHF

  指令的基本功能:(SP)《-(SP)-2 ((SP)+1,(SP))《-(FLAGS)0-15

  指令对标志位的影响:不影响标志位。

  11、标志出栈 POPF (pop the FLAGES)

  指令的汇编格式:POPF

  指令的基本功能:(FLAGS)0-15《-((SP)+1,(SP)) (SP)《-(SP)+2

  指令对标志位的影响:由装入值来确定标志位的值。

标签:标志,汇编,src,SP,传输,指令,寄存器,port,举例说明
From: https://www.cnblogs.com/wangking666/p/16886698.html

相关文章

  • 传输层协议之TCP三次握手
    1.TCP协议与UDP协议TCP协议:传输控制协议UDP协议:用户数据报协议1.1TCP协议与UDP协议的区别TCP协议是面向连接的,可靠的,进程到进程通信的协议。TCP提供全双工服务,即数......
  • 抓包整理————tcp 传输数据的基础概念[十一]
    前言简单介绍一下tcp数据传输。正文tcp数据传输是怎么样子的呢?比如我们在代码中写好了,connection去连接。然后我们用write去读取数据,这个时候呢,到底我们的操作系......
  • 汇编语言(Assembly Language)指令表
    汇编指令英文全称1.通用数据传送指令MOV---->moveMOVdest,src;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。MOVSX---->extendedm......
  • TCP-可靠传输-流量-拥塞控制
    1.TCP的可靠传输1.1停止等待ARQ协议主机采用TCP发出信息时会设置一个定时器,若超出定时器所设定的时间还没有响应过来,则主机会认为发出去的消息没有传达到目的......
  • C温故补缺(六):C反汇编常用的AT&Tx86语法
    C语言反汇编用到的AT&Tx86汇编语法参考:CSDN1,CSDN2默认gcc-S汇编出的,以及反汇编出的,都是AT&Tx86代码,可以用-masm=intel指定为intelx86汇编格式gcc-Stest.c-m......
  • HDMI原理详解以及时序流程(视频是三对差分信号,音频Audio是PCM级(无压缩)传输,包含在数据包
    资料来源:HDMI介绍与流程-TaigaComplex-博客园最近要用ZYNQ开发版的HDMI做显示,看着硬件管脚和例程只能发呆,于是决心去弄清楚HDMI的工作原理,查找了很多资料,都是碎片化的......
  • [C++]对照代码学习反汇编
    程序代码:1#include<iostream>23intmain()4{5inti,j,k;6intresult=0;7for(i=1;i<=4;i++)8for(j=1;j<=4;......
  • Linux——文件传输协议知识点梳理
    接触过Linux操作系统的同学一定对文件传输协议并不陌生,因为在Linux操作系统里我们对文件的上传下载通常不会像我们操作window系统那么直观,一般都是通过文件传输协议去完成......
  • 举例说明了十大ES6功能
    虽然ES6规范不是最近才发布,但我认为很多开发人员仍然不太熟悉。主要原因是在规范发布之后,Web浏览器的支持可能很差。目前,规范发布已经超过2年了,现在很多浏览器对ES6支持......
  • 汇编
    第一种汇编格式,称之为Intel汇编格式,而第二种称之为AT&T汇编格式。比较明显的差异有源操作数和和目的操作数的不同:在Intel汇编格式中,目标操作数在源操作数的左边;而在AT&......