速通汇编(二)汇编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不涉及运算,只是移动数据)

相关推荐
Seeing51 小时前
音乐111111
汇编
Funlang2 小时前
从汇编到Fun语言
汇编
l1t5 小时前
DeepSeek总结的有符号、无符号、未对齐:从汇编到 SQL 的教训
汇编·数据库·sql
Hi202402176 天前
同一个 NMS 算子,两种语言实现:CUDA C 与 Rust 生成 LLVM IR 和 Vortex 汇编的差异
c语言·汇编·rust·gpgpu·vortex·cudac
lhbweilai6 天前
深挖FreeRTOS内核实现(二)
c语言·汇编·stm32·单片机
水饺编程6 天前
第1章:开发环境搭建,在 Windows 中安装 VS 2019
linux·c语言·汇编·visual studio
水饺编程7 天前
第1章:下载 Linux 0.12 内核
linux·c语言·汇编·ubuntu
水饺编程7 天前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
水饺编程8 天前
第1章:在 Windows 中安装 GCC 套件
c语言·汇编
水饺编程9 天前
第1章,了解乌班图环境,使用浏览器和邮箱
c语言·汇编·ubuntu