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

推荐订阅源

博客园_首页
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
B
Blog
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
月光博客
月光博客
人人都是产品经理
人人都是产品经理
IT之家
IT之家
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
C
Check Point Blog
罗磊的独立博客

faryou的博客

faryou的博客 faryou的博客 faryou的博客 faryou的博客 faryou的博客 faryou的博客-福建行小记 faryou的博客 faryou的博客 faryou的博客 faryou的博客 faryou的博客-夏令营小记 faryou的博客 faryou的博客 faryou的博客 faryou的博客-暑假阶段总结与展望 faryou的博客 faryou的博客 faryou的博客 faryou的博客 台风进行时 faryou的博客 limbo虚拟机初体验&安装Windows NT 4.0 faryou的博客 台风将来时 faryou的博客 faryou的博客 faryou的博客 faryou的博客 出租车上的对话 faryou的博客
【汇编基础教程】段
作者: faryou · 2026-01-30 · via faryou的博客

前言

(没有前言,因为写不出来)

段是什么

我们的程序在运行的时候,需要调用各种数据,这些数据在内存中,如果和代码混在一起,那么显然,调用会十分麻烦,代码则极度混乱。
段的出现就是为了解决这个问题。字面意思理解段,就是把程序分成“一段一段”,每段有自己的用处。8086CPU中,有三种段:代码段(存放你程序的代码)、栈段(作为栈使用,通常只有一段)、数据段(存放你的静态资源,即长文本、图片、视频)。

如何使用段

汇编语言中,用segment和ends分别表示段的开始与结束。格式如下:

段名 segment
段内代码
段名 ends

在汇编中,可以直接引用段名代表引用其段地址,以下语句是合法的:

mov 寄存器,段名

通常情况下,我们会用三组寄存器来标记三个地址:CS:IP标记代码段,DS:BX标记数据段,SS:SP标记栈段,CPU以这三组寄存器为依据来确定操作对象。
由此,我们只需要改变这些寄存器的内容,即可以改变CPU的操作对象。
需要注意的是,对于CS:IP,我们无法使用mov直接改变其值,而应使用jmp等转移指令。