汇编语言常用指令汇总(持续更新)

  • 通用数据传送指令
  • 累加器专用指令
  • 有效地址送寄存器指令
  • 标志寄存器传送指令
  • 加法指令
  • 减法指令
  • 乘法指令
  • 除法指令
  • 逻辑指令
  • 移位指令

通用数据传送指令

MOV(Move) 传送指令
MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的)。其特点是不破坏源地址单元的内容。
例如:
MOV AX,2000H;将16位数据2000H传送到AX寄存器
MOV AL,20H;将8位数据20H传送到AL寄存器
MOV AX,BX;将BX寄存器的16位数据传送到AX寄存器
MOV AL,[2000H];将2000H单元的内容传送到AL寄存器
需要注意的是:
(1)两个存储单元之间不能直接传送数据,即:MOV指令只允许一个操作数在存储器中。MOV [SI],[2000H];这是错误的
(2)MOV指令中立即数不能直接传送给段寄存器(CS、DS、SS、ES)和IP;段寄存器之间不能直接传送。MOV IP,2000 H ;这是错误的
(3)CS和IP不能作为目的操作数。MOV CS,AX ;这是错误的
(4)MOV指令中立即数不能作目标操作数。MOV 2000H,[SI] ;这是错误的
PUSH(Push onto the stack)进栈
POP(Pop from the stack)出栈
push寄存器:将一个寄存器中的数据入栈
pop寄存器:出栈用一个寄存器接收数据
XCHG(Exchange) 交换
是寄存器和寄存器之间,寄存器和内存变量之间内容的交换指令,两个操作数的数据类型要相同,可以是一个字节,也可以是一个字,也可以是双字。

累加器专用指令

IN(Input) 输入
OUT(Output)输出
CPU对外设的操作通过专门的端口读写指令来完成;
  读端口用IN指令,写端口用OUT指令。
  例子如下:
  IN AL,21H;表示从21H端口读取一字节数据到AL
  IN AX,21H;表示从端口地址21H读取1字节数据到AL,从端口地址22H读取1字节到AH
  MOV DX,379H
  IN AL,DX ;从端口379H读取1字节到AL
  OUT 21H,AL;将AL的值写入21H端口
  OUT 21H,AX;将AX的值写入端口地址21H开始的连续两个字节。(port[21H]=AL,port[22h]=AH)
  MOV DX,378H
  OUT DX,AX ;将AH和AL分别写入端口379H和378H
  
XLAT(Translate) 换码
在汇编中XLAT指令的作用就是在bx保存array的首地址,AL保存array的位置的基础上,执行XLAT指令,将返回值送入AL指令中.

指令如下指令后AL=5

lea bx,array

mov al,1

xlat ;返回值AL=array[AL]

有效地址送寄存器指令

LEA(Load effective address)有效地址送寄存器
LDS(Load DS with Pointer)指针送寄存器和DS
LES(Load ES with Pointer)指针送寄存器和ES
mov 和 lea 的区别

mov ecx,[eax+0x30]表示先运算eax+0x30得到一个结果,以这个结果为地址找一个ecx长度的内存数赋给ecx
lea ecx,[eax+0x30]表示先运算eax+0x30得到一个结果,把这个结果(mov时地址)赋给ecx

标志寄存器传送指令

LAHF(Load AH with flags) 标志送AH
SAHF(Store AH with flags)AH送标志寄存器
PUSHF(Push the flags) 标志进栈
POPF(Pop the flags)标志出栈

加法指令

ADD 加法
ADC(add with carry)带进位加法
INC(Increment) 加1

减法指令

SUB(Subtract)减法
SBB(Subtract with borrow)带借位减法
DEC(Decrement)减1
NEG(Negate)求补
CMP(Compare)比较

乘法指令

MUL(Unsigned Multiple) 无符号乘法
IMUL(Signed Multiple)带符号乘法

除法指令

DIV(Unsigned Divide)无符号除法
IDIV(Singed Divide)带符号除法
CBW(Convert byte to word)字节转换为字
CWD(Convert word to double word)字转换为双字

逻辑指令

AND 逻辑与
OR 逻辑或
NOT 逻辑非
XOR 异或
TEST 测试
TEST AX,BX 与 AND AX,BX 命令有相同效果,只是Test指令不改变AX和BX的内容,而AND指令会把结果保存到AX中。

Test命令将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位。但是,Test命令的两个操作数不会被改变。运算结果在设置过相关标记位后会被丢弃。

移位指令

SHL(Shift logical left)逻辑左移
SAL(Shift arithmetic left)算术左移
SHR(Shift logical right) 逻辑右移
SAR(Shift arithmetic right)算术右移
ROL(Rotate left) 循环左移
ROR(Rotate right)循环右移
RCL(Rotate left through carry)带进位循环左移
RCR(Rotate right through carry)带进位循环右移

汇编语言常用指令汇总(持续更新)相关推荐

  1. linux常用指令(持续更新)

    linux常用指令(持续更新) 基本访问指令: 直接进入用户的home目录: cd ~ 进入上一个目录: cd - 进入当前目录的上一层目录: cd .. 进入当前目录的上两层目录: cd ../.. ...

  2. [Linux] Linux指令汇总(持续更新中...)

    写在前面: 以前真心没有玩过Linux系统,总感觉整天摆弄Linux的同学都是大牛.如今,在公司里实习需要远程登录Linux服务器,所有的代码都要在开发板上完成,所以被逼无奈也不得不定下心来好好学学L ...

  3. AI工具(ChatGPT)常用指令,持续更新...

    更多使用指令,关注公众号:AI信息号 使用VensiGPT时,当你给的指令越精准,它回复就会越完美,例如,如果你要请它协助撰写文案,如果没有给与指定情景与目标,它会不知道如何回复的更精准. 下面,我整 ...

  4. HFSS常用操作汇总(持续更新)

    HFSS常用操作 操作类 convert to read only 切角 Non-Model 圆极化天线使用Discrete扫频 peakGain and GainTotal 局部区域的电流或电场等的 ...

  5. iOS精品资源汇总(持续更新)

    文章目录 引言 I.iOS自定义视图相关热门资源 1.1 <用户协议及隐私政策>弹框 1.2 电子签名 1.3 商品详情页 1.4 上传图片视图的封装[支持删除和添加] 1.5 查看风险商 ...

  6. 工具篇:Git与Github+GitLib常用操作(不定期持续更新)

    工具篇:Git与Github+GitLib常用操作(不定期持续更新) 前言: 写这个主要是打算自己用的,里边很多东西都是只要我自己看得懂,但是用了两个星期发现真是越用越简单,越用越好用,私以为得到了学 ...

  7. vue input file onchange_vue常用指令汇总

    在我们对比vue与react的时候,会发现一个很明显的特点,react的写法很自由,用js来搞定一切,而vue的模版语法提供了一套相对固定的模式来书写页面,vue的优势在于这些特性帮助我们简化了代码, ...

  8. Android常用开发网址(持续更新)

    2019独角兽企业重金招聘Python工程师标准>>> Android常用开发网址(持续更新) 环境搭建 android镜像 http://www.androiddevtools.c ...

  9. 【帆软报表】使用技巧及常见问题汇总-持续更新

    [帆软报表]使用技巧及常见问题汇总-持续更新 1.重复与冻结设置,做用:冻结区域 模板-重复与冻结设置 2.单元格有效小数设置 选中单元格-格式-数字-#0.00 3.图表中有效小数设置 图表属性表- ...

最新文章

  1. git stash参数介绍
  2. 纪中在家培训总结(2020.2.1~2020.2.24)
  3. SpringBoot登录登出切面开发
  4. 浅谈MVP与Model-View-ViewModel(MVVM)设计模式
  5. 【正则表达式】sql语句去掉注释代码
  6. java中有关类的程序设计_《Java程序设计一》 1,设计课程类及类中包含的属性和方法....
  7. springMVC的controller单例和多例下成员变量的问题
  8. Ubuntu18.04设置简单密码
  9. GPU程序在GameByro中的使用
  10. Vue:带参数函数在传递参数的同时传递事件对象
  11. springboot-shiro-cas-redis集成session共享,权限共享
  12. 尚学堂马士兵struts2操作手册
  13. Unity 小程序开发
  14. ABAP设置默认打印机
  15. 密码学应用(二)访问控制
  16. App Store 商业模式
  17. 果然,ChatGPT 还是被拿去搞黄色了...
  18. 大数据:Hadoop集群测试
  19. 从业4-证券投资基金的监管
  20. BigBrother的大数据之旅 Day 4 Linux(4)

热门文章

  1. MySQL解释说明constra_MySQL命令具体解释
  2. three.js 模型重合相交部分闪烁 Z-Fighting
  3. postman传递json数组
  4. 使用Log4j时,配置ConversionPattern(日志显示格式)遇到的问题
  5. C语言中CR是什么意思
  6. echarts柱状图数据过多,叠加拥挤
  7. Ubuntu 22.04无法使用realvnc问题解决
  8. Seed lab:Remote DNS Attack
  9. 命令行的故障排除:给linux初学者的建议(译文)
  10. Docker实战教程