汇编语言(五)-汇编语言程序格式

1. 程序运行步骤描述

全部的过程是在DOS下完成
在这里插入图片描述

2. 伪指令的使用

机器指令:程序运行期间由计算机来执行

伪指令:汇编程序对源程序进行汇编时处理的操作,完成处理器选择、存储模式定义、数据定义存储器分配指示程序开始结束等功能

  • 指令格式
    标号:操作码 操作数,操作数 ;注释 (最多双操作数)
  • 伪指令格式
    标号 伪操作码 操作数,…,操作数 ;注释 (个数未限制)
  1. 数据定义及存储器分配伪操作
    [变量名] 伪操作 操作数[,操作数,…][;注释]

DB 定义一个字节( Byte )空间
DW 定义一个字( Word )空间
DD 定义一个双字( Double Word )空间

DATA_BYTE DB 10,4,10H,?
DATA_WORD DW 100,100H,-5,?
DATA1 DB 330

注意
数据按定义次序依次存放
存放满足高高低低原则
表数范围符合定义空间大小

ARRAY DB ‘HELLO’
DB ‘A’,‘B’,‘C’,‘D’(= DB ‘ABCD’)
DW ‘AB’,‘CD’
DATA2 DW ‘ABCD’

  • 重复定义

在这里插入图片描述
DA1 DB 10 DUP( 12H,34,‘a’ )
DA2 DW 2 DUP( 12,8 DUP(?),‘b’ )

  1. 段定义伪操作
    段名 segment [定位类型][组合类型][使用类型][‘类别’]
    |
    段名 ends

在这里插入图片描述
段认定伪操作
在这里插入图片描述
注意:ASSUEM仅是段认定,不送数值

  1. 程序开始和结束伪操作
    NAME module_name ;定义模块名
    TITLE text ;打印标题
    (上述二者不是必须的,二者皆无,用源文件名作模块名 )
    END [ label ] ;结束汇编

符号的取名原则
(1) 由小写字母a-z、大写字母A-Z、阿拉伯数字0-9、特殊符号@和_组成
(2) 第一个符号必须是字母或特殊符号
(3) 有效长度31个字符

在这里插入图片描述

3. 表达式赋值伪操作

表达式名 EQU 表达式
在程序中用表达式(或数值)替代出现的表达式名称
在这里插入图片描述
注意
表达式说明的先后次序(先说明再使用)
不允许同一个表达式名称多次说明

赋值伪操作 “ = ”
赋值操作和 EQU 相同,且允许重复定义
在这里插入图片描述

表达式操作符

  1. 算术操作符
    +、- 、* 、/、MOD

注意:所有运算的结果均为整数
在这里插入图片描述

  1. 逻辑和移位操作符
    AND、OR、XOR、NOT、SHL、SHR
    具体含义和操作指令相同

在这里插入图片描述

  1. 关系操作符
EQ NE LT LE GT GE
等于 不等 小于 小于等于 大于 大于等于

关系成立为真 FFFFH 或 FFH
关系不成立为假 0000H 或 00H
两个操作数必须都是数字,或同一段内的两个存储器地址

在这里插入图片描述

  1. 数值回送操作符

DAT DW 1234H
SEG 返回符号的段基址
OFFSET 返回符号的偏移地址
TYPE 返回符号的类型

DB DW DD NEAR FAR 常数
1 2 4 -1 -2 0

VAR DB 100 DUP( 12H )
DAT DW 12H,34H

LENGTH 返回连续定义的个数
SIZE 返回占用的总空间
SIZE = LENGTH * TYPE
注意:非连续定义LENGTH返回值为1

在这里插入图片描述

  1. 属性操作符

type PTR 表达式
对已分配的存储单元赋予另一种属性
属性包括:BYTE WORD DWORD NEAR FAR

DAT DW 1234H,5678H
在这里插入图片描述
THIS type
对下一个存储单元赋予另一种类型
在这里插入图片描述
HIGH 标号名 MOV AH, HIGH DAT
LOW 标号名 MOV AL, LOW DAT
注意:标号对应的数据必须是16位数据

操作符优先级
在这里插入图片描述

ORG 地址数值
使后续操作从指定地址开始
ORG 10
VAR1 DW 1234H
ORG 20
VAR2 DW 5678H

EVEN
使后续操作从偶数地址开始
A DB ‘morning’
EVEN
B DW 2 DUP(?)

$
地址计数器的当前值

ORG $+8
VAR1 DW 1234H
VAR2 DW 5678H

A DW 1, 2 , $+4 , 3 , 4 , $+4

猜你喜欢

转载自blog.csdn.net/qq_43681073/article/details/109699545
今日推荐