速通汇编(二)汇编mov、add&sub指令

一,mov指令

mov指令的全称是move,从字面上去理解,作用是移动(比较确切的说是复制)数据,mov指令可以有以下几种形式

无论哪种形式,都是把右边的值移动到左边

  • mov 寄存器,数据(例如:mov ax,27)
  • mov 寄存器,寄存器(例如:mov ax,bx)
  • mov 寄存器,内存单元(例如:mov ax,[0])
  • mov 内存单元,寄存器(例如:mov [0],ax)
  • mov 段寄存器,寄存器(例如:mov ds,ax)

二,add&sub指令

add和sub指令的含义很好理解(加和减),它们和mov指令一样都有两个操作对象,可以有以下几种形式

无论哪种形式,如果是add指令,是将两个操作对象的值相加后存放在左边的对象中;如果是sub指令,是将左操作对象减去右操作对象后得到的值存放在左边的对象中

  • add/sub 寄存器,数据(例如:add/sub ax,27)
  • add/sub 寄存器,寄存器(例如:add/sub ax,bx)
  • add/sub 寄存器,内存单元(例如:add/sub ax,[0])
  • add/sub 内存单元,寄存器(例如:add/sub [0],ax)

(注意!汇编中的任何数据加减都是基于十六进制的!)

(注意!汇编中加减运算的结果如果越界了,会舍弃掉高位的结果,例如:add ax,bx,其中ax=FFFF,bx=FFFF,相加的结果在数学上为1FFFE,存放在ax中,但是ax只能存放4位十六进制数,因此该命令执行后ax中的数据为FFFE,因为最高位的1被舍弃掉了!)

(注意!段寄存器不能像通用寄存器那样进行运算,这是硬件限制,mov不涉及运算,只是移动数据)

相关推荐
small_wh1te_coder2 天前
GCC深度剖析:从编译原理到嵌入式底层实战
汇编·c++·面试·嵌入式·状态模式·c
白书宇3 天前
5.从零开始写LINUX内核--从实模式到保护模式的过渡实现
linux·汇编·数据库·开源
浩浩测试一下3 天前
02高级语言逻辑结构到汇编语言之逻辑结构转换 if (...) {...} else {...} 结构
汇编·数据结构·数据库·redis·安全·网络安全·缓存
蚰蜒螟4 天前
JVM安全点轮询汇编函数解析
汇编·jvm·安全
要记得喝水9 天前
汇编中常用寄存器介绍
开发语言·汇编·windows·c#·.net
技术领导力10 天前
华为开源CANN,再次释放“昇腾转向”信号
汇编
DONG91314 天前
Python 中的可迭代、迭代器与生成器——从协议到实现再到最佳实践
开发语言·汇编·数据结构·python·算法·青少年编程·排序算法
embrace9917 天前
【C语言学习】scanf函数
c语言·开发语言·汇编·学习·青少年编程·c#·编辑器
麦兜*17 天前
【算法】十大排序算法超深度解析,从数学原理到汇编级优化,涵盖 15个核心维度
java·汇编·jvm·算法·spring cloud·ai·排序算法
会掉头发18 天前
x86_64汇编
汇编