惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
Cyberwarzone
Cyberwarzone
Schneier on Security
Schneier on Security
I
Intezer
Cisco Talos Blog
Cisco Talos Blog
Cloudbric
Cloudbric
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
NISL@THU
NISL@THU
博客园 - Franky
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
T
Troy Hunt's Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Project Zero
Project Zero
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
美团技术团队
D
Docker
PCI Perspectives
PCI Perspectives
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 最新话题
Recent Announcements
Recent Announcements
Hacker News: Ask HN
Hacker News: Ask HN
人人都是产品经理
人人都是产品经理
月光博客
月光博客
D
DataBreaches.Net
The Hacker News
The Hacker News
爱范儿
爱范儿
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
A
About on SuperTechFans
Latest news
Latest news
GbyAI
GbyAI
T
Tor Project blog
L
LINUX DO - 热门话题
Security Latest
Security Latest
博客园 - 聂微东
Y
Y Combinator Blog
AI
AI
M
MIT News - Artificial intelligence

faryou的博客

出租车上的对话 faryou的博客-告别小高一 faryou的博客-中考 · 竞赛 · 生活 · 思考 5月月考 - faryou的博客 - 日记 faryou的博客-五一回老家 【汇编 - 功能】中断安装中断实现 【汇编&硬件】时钟中断的具体实现 faryou的博客-这些年,我不再看《熊出没》 【汇编&硬件】关机中断的具体实现 【汇编&硬件】网络连接相关中断的具体实现 faryou的博客-年初小记 【汇编&硬件】鼠标控制中断的具体实现 【汇编&硬件】声音输出中断的具体实现 【汇编&硬件】屏幕输出中断的具体实现 【汇编&硬件】磁盘读取中断的具体实现 【汇编&硬件】键盘读取中断的具体实现 【汇编】汇编环境的搭建及Debug的使用教程 【汇编】漫谈:学习汇编后的一些思考 faryou的博客-关于本站即日起实行“一站三体”运营制度 【汇编基础教程】完结篇 写在最后:前言 【汇编基础教程】使用BIOS的中断实现键盘输入及磁盘I/O 【汇编基础教程】中断 【汇编基础教程】端口 【汇编基础教程】标志寄存器 【汇编基础教程】再谈栈 【汇编基础教程】段 【汇编基础教程】来存一些数据! 【汇编基础教程】来写个“函数” 【汇编基础教程】更灵活的定位内存 【汇编基础教程】理解一下[bx]和loop指令 【汇编基础教程】跳一跳! faryou的博客-我的竞赛经历&对人生的一些思考 faryou的博客-关于现在中小学计算机课的一些想法及思考 faryou的博客-2025年度总结 faryou的博客-临平山下十五年 faryou的博客-Windows 10即将停止支持,谈谈自己从小到大用电脑的感受 faryou的博客-谈谈一名10后的怀旧情怀 【汇编基础教程】8086CPU工作原理 【C语言】指针的理解与应用 【算法教程】【C/C++】DP(动态规划):区间DP——程序设计思路与代码实现 【算法教程】【C/C++】BFS(广度优先搜索)——程序设计思路与代码实现 【算法教程】【C/C++】DFS(深度优先搜索)——程序设计思路与代码实现 【算法教程】【C/C++】单源最短路径——程序设计思路与代码实现 【算法教程】【C/C++】最小生成树——程序设计思路与代码实现 【算法教程】【C/C++】并查集——程序设计思路与代码实现 【算法教程】【C/C++】DP(动态规划):背包DP——程序设计思路与代码实现 【算法教程】【C/C++】DP(动态规划):简单动规问题——程序设计思路与代码实现 【算法教程】【C/C++】递推——程序设计思路与代码实现 【算法教程】【C/C++】三分算法——程序设计思路与代码实现 【算法教程】【C/C++】二分答案——程序设计思路与代码实现 【算法教程】【C/C++】二分查找——程序设计思路与代码实现 【算法教程】【C/C++】贪心算法——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:快排——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:快速幂——程序设计思路与代码实现 【算法教程】【C/C++】基础数学:进制转换——程序设计思路与代码实现 一文弄懂C++中的自定义函数 faryou的博客-2024年度总结
【汇编基础教程】寄存器和内存&一些基本命令的说明
作者: faryou · 2026-01-30 · via faryou的博客

前言

本来已经编辑好了汇编语言后面的几篇教程,但最终考虑了一下还是决定写一下这篇基础教程,如果读者愿意看我的教程学习的话建议后面几篇反复来回看,有助于理解,看书也是如此~

什么是寄存器

从物理层面上看,寄存器位于CPU中,位数一般与地址总线相同(因为用地址总线在内存和寄存器之间通信)。寄存器的读写速度非常快,用处很多,有些寄存器用来存地址,帮助CPU实现一些功能,有的寄存器则用作循环,如下节课的bx。

什么是内存

不知道大家有没有见过内存条,外观上看,内存条是一块薄片,而实际上我们从物理的角度看内存条,它存储的数据确实是条状分布,即便是你在高级语言编程时创建的数组,在内存上也是“一条”,高级语言中的多维数组并不是多维,只不过是用指针标记的罢了。
内存的读写速度相比寄存器慢些(毕竟寄存器本身就在CPU里面),但相比硬盘这些还是要快不少的。应用程序运行时的数据都放在内存中(包括程序的机器代码数据本身、图片、视频、长文本等静态资源,和一些临时数据(就是高级语言中的变量))。

mov指令

mov指令从CPU的角度看就是用地址总线传输一组数据,有以下六种格式:

mov 寄存器,数据(常数)
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器
mov 寄存器,段寄存器

写成C语言方便理解就是这样:

void mov(int *a,int b){
    *a = b;
    return ;
}

使用mov时有三个需要注意的点:

  1. 要向段寄存器中传数据时,必须用寄存器中转。
  2. 要在内存空间之间中转数据,必须用寄存器中转。
  3. mov指令的两个数据必须位数相同

如违反会导致编译错误,因为CPU没有这些功能。

add&sub指令

add指令和sub指令的使用格式类似,其功能是向前一个操作单元加上/减去(add是加,sub是减)。以下是使用格式:

add/sub 寄存器,数据
add/sub 寄存器,寄存器
add/sub 寄存器,内存单元
add/sub 内存单元,寄存器

写成C语言方便理解就是这样:

void add(int *a,int b){
    *a += b;
    return ;
}
void sub(int *a,int b){
    *a -= b;
    return ;
}

需要注意的是,add/sub指令不能对段寄存器操作。