当前位置: 首页 > news >正文

常见汇编指令

下面是一些包含汇编指令 MOV、PUSH、POP、LEA、LDS、ADD、ADC、INC、SUB、SBB、DEC、CMP、MUL、DIV、AND、OR、XOR、NOT、TEST、SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR、LODS、MOVS 的例题。这些例题展示了每条指令的用法及其作用。

1. MOV 指令

MOV AX, BX   ; 将寄存器 BX 的值复制到寄存器 AX
MOV AX, [SI] ; 将 SI 寄存器指向的内存位置的值加载到 AX
MOV [DI], AX ; 将 AX 的值存储到 DI 寄存器指向的内存位置

2. PUSH 指令

PUSH AX     ; 将寄存器 AX 的值压入堆栈
PUSH BX     ; 将寄存器 BX 的值压入堆栈

3. POP 指令

POP AX      ; 从堆栈弹出一个值到寄存器 AX
POP BX      ; 从堆栈弹出一个值到寄存器 BX

4. LEA 指令

LEA DX, [BX+SI] ; 将有效地址 BX+SI 加载到 DX
LEA AX, [BP+2]  ; 将 BP+2 的地址加载到 AX

5. LDS 指令

LDS SI, [BP]    ; 加载 DS:SI 指针,用 BP 指向的内存内容

6. ADD 指令

ADD AX, BX     ; 将 BX 的值加到 AX
ADD AL, 5      ; 将 5 加到 AL

7. ADC 指令

ADC AX, BX     ; 带进位的 AX 加 BX

8. INC 指令

INC AX         ; 将 AX 加 1
INC [SI]       ; 将 SI 指向的内存位置的值加 1

9. SUB 指令

SUB AX, BX     ; 将 BX 从 AX 中减去
SUB AL, 10     ; 将 10 从 AL 中减去

10. SBB 指令

SBB AX, BX     ; 带借位的 AX 减去 BX

11. DEC 指令

DEC AX         ; 将 AX 减 1
DEC [SI]       ; 将 SI 指向的内存位置的值减 1

12. CMP 指令

CMP AX, BX     ; 比较 AX 和 BX
CMP AL, 10     ; 比较 AL 和 10

13. MUL 指令

MUL BX         ; 无符号乘法 AX = AL * BX 或者 DX:AX = AX * BX

14. DIV 指令

DIV BX         ; 无符号除法 AX = DX:AX / BX

15. AND 指令

AND AX, BX     ; 按位与 AX 和 BX
AND AL, 0Fh    ; 按位与 AL 和 0Fh

16. OR 指令

OR AX, BX      ; 按位或 AX 和 BX
OR AL, 0Fh     ; 按位或 AL 和 0Fh

17. XOR 指令

XOR AX, BX     ; 按位异或 AX 和 BX
XOR AL, 0Fh    ; 按位异或 AL 和 0Fh

18. NOT 指令

NOT AX         ; 按位取反 AX

19. TEST 指令

TEST AX, BX    ; 按位与 AX 和 BX,但不存储结果,只修改标志位
TEST AL, 01h   ; 测试 AL 的最低位

20. SHL 指令

SHL AX, 1      ; 左移 AX 中的所有位,移出位进入进位标志
SHL AX, CL     ; 左移 AX 中的所有位,移位数由 CL 指定

21. SAL 指令

SAL AX, 1      ; 算术左移 AX 中的所有位

22. SHR 指令

SHR AX, 1      ; 逻辑右移 AX 中的所有位
SHR AX, CL     ; 逻辑右移 AX 中的所有位,移位数由 CL 指定

23. SAR 指令

SAR AX, 1      ; 算术右移 AX 中的所有位

24. ROL 指令

ROL AX, 1      ; 循环左移 AX 中的所有位

25. ROR 指令

ROR AX, 1      ; 循环右移 AX 中的所有位

26. RCL 指令

RCL AX, 1      ; 通过进位标志循环左移 AX 中的所有位

27. RCR 指令

RCR AX, 1      ; 通过进位标志循环右移 AX 中的所有位

28. LODS 指令

LODSB          ; 将 DS:SI 指向的字节加载到 AL,并递增或递减 SI
LODSW          ; 将 DS:SI 指向的字加载到 AX,并递增或递减 SI

29. MOVS 指令

MOVSB          ; 将 DS:SI 指向的字节移动到 ES:DI 指向的位置,并递增或递减 SI 和 DI
MOVSW          ; 将 DS:SI 指向的字移动到 ES:DI 指向的位置,并递增或递减 SI 和 DI

相关文章:

  • 【数据结构】排序——插入排序,选择排序
  • [Cloud Networking] Layer 2
  • NineData云原生智能数据管理平台新功能发布|2024年5月版
  • 联合体和枚举<C语言>
  • 卡尔曼滤波器例子
  • MathType7.8永久破解版下载 让数学学习变得简单有趣!
  • 为什么Kubernetes(K8S)弃用Docker:深度解析与未来展望
  • 微信小程序学习笔记(4)
  • 【AI 高效问答系统】机器阅读理解实战内容
  • Vue3+TS 开发 Google 浏览器插件模板
  • 计算机网络 —— 网络层 (路由协议)
  • 计算机网络 ——网络层(IPv4地址)
  • ThreadCache线程缓存
  • linux install cmake3.22
  • Apache POI(使用Java读写Excel表格数据)
  • SegmentFault for Android 3.0 发布
  • [nginx文档翻译系列] 控制nginx
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • nfs客户端进程变D,延伸linux的lock
  • React组件设计模式(一)
  • underscore源码剖析之整体架构
  • 解析 Webpack中import、require、按需加载的执行过程
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 全栈开发——Linux
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 双管齐下,VMware的容器新战略
  • 学习JavaScript数据结构与算法 — 树
  • 赢得Docker挑战最佳实践
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #include
  • $L^p$ 调和函数恒为零
  • (06)金属布线——为半导体注入生命的连接
  • (1)(1.11) SiK Radio v2(一)
  • (20050108)又读《平凡的世界》
  • (二十四)Flask之flask-session组件
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (四)linux文件内容查看
  • (五十)第 7 章 图(有向图的十字链表存储)
  • .NET 表达式计算:Expression Evaluator
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET大文件上传知识整理
  • .NET构架之我见
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • @vue-office/excel 解决移动端预览excel文件触发软键盘
  • [20160807][系统设计的三次迭代]
  • [20180224]expdp query 写法问题.txt
  • [AHK V2]鼠标悬停展开窗口,鼠标离开折叠窗口
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [C#]C#学习笔记-CIL和动态程序集
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
  • [C++]类和对象【上篇】