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
相关推荐
2501_9181269111 小时前
学习所有6502写游戏存档的语句
汇编·嵌入式硬件·学习·游戏·个人开发
2501_9181269114 小时前
学习所有6502写游戏地图的语句
汇编·嵌入式硬件·学习·游戏·个人开发
2501_918126911 天前
学习所有6502写游戏动画的语句
汇编·嵌入式硬件·学习·程序人生·游戏
2501_918126912 天前
学习所有6502写游戏控制器的语句
java·linux·网络·汇编·嵌入式硬件
2501_918126912 天前
学习所有6502写游戏动作的语句
汇编·嵌入式硬件·学习·游戏·个人开发
2501_918126912 天前
学习所有6502游戏的系统
java·汇编·嵌入式硬件·学习·游戏
SCBAiotAigc2 天前
2026.3.18:汇编之字符串反转
汇编·具身智能
BigDark的笔记4 天前
【ARM汇编】0x01_ARM和C混合编程实现基本运算
c语言·汇编·arm开发
老鱼说AI5 天前
《深入理解计算机系统》(CSAPP)2.2:整数数据类型与底层机器级表示
开发语言·汇编·算法·c#
kang0x05 天前
汇编基础知识练习题
汇编