8086 CPU汇编伪操作汇总

8086 汇编中的伪操作(伪指令)是给汇编器的指令,不生成机器码,仅用于控制汇编过程、定义数据 / 段 / 符号等。以下按功能分类汇总核心伪操作,覆盖 MASM/TASM 主流用法:

一、段定义与存储模式伪操作

伪操作 功能
.MODEL 指定程序存储模式(TINY/SMALL/MEDIUM 等),简化段定义
SEGMENT/ENDS 手动定义段的开始与结束(代码段、数据段、栈段)
.CODE 简化定义代码段(配合.MODEL使用)
.DATA 简化定义数据段(配合.MODEL使用)
.STACK 定义栈段并指定大小(如.STACK 100H
ASSUME 关联段寄存器与逻辑段(如ASSUME CS:CODE, DS:DATA
ORG 指定当前段的起始偏移地址(如ORG 100H用于 COM 程序)

二、数据定义伪操作

伪操作 功能
DB 定义字节型数据(8 位,如NUM DB 5, 'A'
DW 定义字型数据(16 位,如ARR DW 100H, 200H
DD 定义双字型数据(32 位,如VAL DD 12345678H
DQ 定义四字型数据(64 位)
DT 定义十字节型数据(80 位,用于浮点)
DUP 重复定义数据(如BUF DB 10 DUP(0),定义 10 个 0 字节)
EQU 符号常量赋值(如MAX EQU 100,常量不可重定义)
= 符号赋值(可重定义,如COUNT = COUNT + 1

三、程序结束与入口伪操作

伪操作 功能
END 标记汇编源程序结束,主模块可指定入口标号(如END START
ENDM 结束宏定义(与MACRO配合)

四、过程与宏定义伪操作

伪操作 功能
PROC/ENDP 定义过程(子程序)的开始与结束(如MAIN PROC
MACRO/ENDM 定义宏指令(批量指令复用,如EXIT MACRO {MOV AH,4CH; INT 21H} ENDM
LOCAL 宏 / 过程中定义局部标号,避免重名冲突
RET 过程返回(虽为指令,但常与 PROC 配合,伪操作层面可归为过程相关)

五、模块通信伪操作

伪操作 功能
PUBLIC 声明本模块可被其他模块访问的符号(标号、过程、变量)
EXTRN 声明引用其他模块的外部符号(需指定类型,如EXTRN SUBP:PROC
INCLUDE 嵌入指定文件内容(如头文件.inc,实现代码共享)

六、其他常用伪操作

伪操作 功能
LABEL 为内存单元定义别名与类型(如ARRAY_BYTE LABEL BYTE
TYPE 获取数据类型的字节数(如TYPE NUM,NUM 为 DB 则返回 1)
LENGTH 获取数组元素个数(如LENGTH ARR,ARR 为10 DUP(0)则返回 10)
SIZE 获取数组总字节数(SIZE = TYPE × LENGTH
相关推荐
万法若空4 小时前
8086/8088实模式的内存布局
汇编
浩浩测试一下1 天前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
一品人家2 天前
win32汇编使用GDI+入门教程之九
汇编·windows·win32汇编
虚构之人2 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全
一品人家4 天前
win32汇编使用GDI+入门教程之六
汇编·windows·win32汇编
前端菜鸟日常5 天前
鸿蒙开发实战:100 个项目疑难杂症汇编
汇编·华为·harmonyos
188号安全攻城狮6 天前
【PWN】HappyNewYearCTF_9_ret2syscall
linux·汇编·安全·网络安全·系统安全
万法若空6 天前
Vim常用指令汇编
汇编·编辑器·vim
请输入蚊子7 天前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
188号安全攻城狮7 天前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全