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)
相关推荐
水饺编程1 天前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰1 天前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
Zevalin爱灰灰2 天前
Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验
linux·汇编·arm开发
水饺编程3 天前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
小向是个Der5 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋5 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统5 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light5 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19685 天前
Modbus协议开发实战指南
汇编
水饺编程7 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编