MENU

「8088/8086指示型语句」

2021 年 04 月 19 日 • 8086

数据定义伪指令

  • 伪指令助记符就是定义的变量的类型

    • DB全称为Define Byte,一个字节
    • DW全称为Define Word,两个字节
    • DD全称为Define Double Word,四个字节
    • DQ全称为Define Quadword,八个字节
    • DT全称为 Define Tenbytes,十个字节
  • 变量名 伪指令助记符 操作数,...
  • 变量名 伪指令助记符 数量 DUP (初值,...)

    • DUP的作用,是为多个变量设置相同的初值
    • 数量指的是 (初值,...)重复的次数,DB 3 DUP (33H,22H,11H)共定义了九个字节
  • ?的作用是,随机值,用于预留储存空间

符号定义伪指令

  • 符号名 EQU 表达式
  • 用于用符号名代替某个表达式,类似于 C 语言的 #define

    • CONSTANT EQU 100H
    • #define CONSTANT 0x100

段定义伪指令

  • 用于定义逻辑段

    • 逻辑段的起始与结束
    • 多模块编程中,同类逻辑段之间的联系
  • 段名 SEGMENT [定位类型] [组合类型] ['类别']
  • 段名 ENDS

    • 段名代表的就是段的基地址
    • [定位类型]用来说明逻辑段的起点
    • [组合类型]装入内存时,各个逻辑段的组合方式,一般不使用
    • ['类别']链接时,不同模块中的同类逻辑段,将被装入连续储存区
    • 这两条伪指令,只用于定义段的范围,没法定义段的性质
  • ASSUME 段寄存器名:段名,...

    • 用于定义段的性质,段寄存器名CS DS SS ES其中一个

结束伪指令

  • END用来表示源程序结束

过程定义伪指令

  • PROC 过程名 NEAR/FAR,表示过程开始

    • NEAR近过程,段内的调用,不写的话默认为这个
    • FAR远过程,段间调用的时候必须要有
    • RET必须为过程的最后一条指令
  • ENDP 过程名,表示过程结束

宏命令伪指令

  • 宏命令名 MACRO <形式参数>,开始宏命令定义
  • ENDM,结束宏命令定义
  • DADD MACRO X,Y,Z,定义
  • DADD X,Y,Z调用

调整偏移量伪指令

  • ORG 表达式,表达式为非负常数,常用于调整段内的偏移