电气知识|变量定义伪指令

   更新日期:2017-03-26     来源:建材之家    作者:安防之家    浏览:36    评论:0    
核心提示:1. [< 变量名 >]{DB|DW|DD|DQ|DT}< 表达式 >,< 表达式 >; 2. 表达式 为数据项分配存储单元的 , 用来留预存单元 . TEMP DB ? 3. 带 DUP 的表达式 重复数据定义操作符 DUP<( 表达式 )> TAB1 DB 10H DUP 保留 10H 个字节单元变量定义( Define )伪指令为变量申请固定长度的存储空间,并可同时将相应的存储单元初始化变量

电力检修|处理小电流接地故障的新思路

推荐简介:摘要:基于目前日趋完善的小电流接地选线技术和智能化的综合自动化系统及馈线自动化技术,提出全新的处理接地故障的新思路。阐述了利用馈线自动化技术隔离故障的过程,并表述了该新方法的实用意义。 中低压配电系统的中性点,一般采用不接地或经消弧线圈接地方式,称为小电流接地系统。该系统中发生单相接地故障时,尽管故障分量不大,但由于其他两相对地电压升为线电压,在没有消弧线圈的情况下,如果发......
安防之家讯:1. [< 变量名 >]{DB|DW|DD|DQ|DT}< 表达式 >,< 表达式 >;

2. 表达式 为数据项分配存储单元的 , 用来留预存单元 . TEMP DB ?

3. 带 DUP 的表达式 重复数据定义操作符

DUP<( 表达式 )> TAB1 DB 10H DUP 保留 10H 个字节单元

变量定义( Define )伪指令为变量申请固定长度的存储空间,并可同时将相应的存储单元初始化

变量名 伪指令助记符 初值表

变量定义伪指令最常使用变量名

变量名为用户自定义标识符,表示初值表首元素的逻辑地址;用这个符号表示地址,常称为符号地址

变量名可以没有 , 这种情况,汇编程序将直接为初值表分配空间,无符号地址

设置变量名是为了方便存取它指示的存储单元

初值表

初值表是用逗号分隔的参数

主要由数值常数、表达式或?、 DUP 组成

?——表示初值不确定,即未赋初值;

DUP ——表示重复初值

DUP 的格式为:

重复次数 DUP( 重复初值参数 )

变量定义伪指令助记符

变量定义伪指令根据申请的主存空间单位分类

DB ——定义字节伪指令

DW ——定义字伪指令

DD ——定义双字伪指令

DF ——定义 3 字伪指令

DQ ——定义 4 字伪指令

DT ——定义 10 字节伪指令

还有定位伪指令

定义字节单元伪指令 DB

DB 伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值

初值表中每个数据一定是字节量( Byte ),存放一个 8 位数据:

可以是 0~255 的无符号数

或是- 128 ~+ 127 带符号数

也可以是字符串常数

data segment ;数据段

X db 'a',-5

db 2 dup(100),?

Y db 'ABC'

data ends

字节单元定义实例

mov al,X

; 此处 X 表示它的第 1 个数据,

故 AL ← 'a'

inc X+1

; 对 X 为始的第 2 个数据减 1 ,

故成为 -4

mov Y,al

; 现在 Y 这个字符串成为

'aBC'

字节变量的应用

定义字单元伪指令 DW

DW 伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值

初值表中每个数据一定是字量( Word ),一个字单元可用于存放任何 16 位数据:

一个段地址

一个偏移地址

两个字符

0 ~ 65535 之间的无符号数

- 32768 ~+ 32767 之间的带符号数

data segment ;数据段

count dw 8000h,?,'AB'

maxint equ 64h

number dw maxint

array dw maxint dup(0)

data ends字单元定义实例

字变量和字常量的定义:

WNUM EQU 5678H

; 定义 WNUM 为常量

COUNT DW 20H

; 定义 COUNT 变量,假设在数据段的偏移地址为 10H

字变量和字常量的应用:

MOV AX,[BX+SI+WNUM] ; MOV AX,[BX+SI+5678H]

MOV AX,COUNT ; MOV AX,[0010H]

MOV AX,[SI+COUNT] ; MOV AX,COUNT[SI]

; MOV AX,[SI+10H]

LEA BX,COUNT ; LEA BX,[0010H]

MOV BX,OFFSET COUNT ; MOV BX,0010H

字变量和字常量

定义双字单元伪指令 DD

DD 伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值

初值表中每个数据是一个 32 位的双字量( Double Word ):

可以是有符号或无符号的 32 位整数

也可以用来表达 16 位段地址(高位字)和 16 位的偏移地址(低位字)的远指针

vardd DD 0,?,12345678h

farpoint DD 00400078h

其他数据单元定义伪指令

定义 3 字伪指令 DF ——用于为一个或多个 6 字节变量分配空间及初始化

6 字节常用在 32 位 CPU 中表示一个 48 位远指针( 16 位段选择器 :32 位偏移地址)

定义 4 字伪指令 DQ ——用于为一个或多个 8 字节变量分配空间及初始化

8 字节变量可以表达一个 64 位整数

定义 10 字节伪指令 DT ——用于为一个或多个 10 字节变量分配空间及初始化

10 字节变量可以表达扩展精度浮点数

例 : 数据定义综合应用

.model small

.stack

.data

bvar DB 16

wvar DW 4*3

dvar DD 4294967295 ; = 232 - 1

qvar DQ ?

DB 1,2,3,4,5

tvar DT 2345 ; 定义了 BCD 码 2345H

abc DB 'a','b','c'

msg DB 'Hello',13,10,'$'

bbuf DB 12 DUP('month')

dbuf DD 25 DUP(?)

CALLDOS EQU <int 21h>

.code

.startup

mov bl,bvar

mov ax,word ptr dvar[0]

mov dx,word ptr dvar[2]

; 取双字到 DX.AX

mov dx,offset msg

mov ah,09h

CALLDOS

.exit 0

end

定位伪指令

定位伪指令控制数据的偏移地址

ORG 参数

ORG 伪指令是将当前偏移地址指针指向参数表达的偏移地址:

ORG 100h ; 从 100h 处安排数据或程序

ORG $+10

; 使偏移地址加 10 ,即跳过 10 个字节空间

MASM 中,符号“ $ ”表示当前偏移地址值

EVEN ; 从偶地址开始

ALIGN n ; 从 n 的整数倍地址开始

安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
小程序码
 
打赏
 
更多>文章标签:安防之家
更多>同类安防监控资讯
0相关评论

推荐图文更多...
点击排行更多...
安防监控商机更多...
安防监控圈更多...
最新视频更多...
推荐产品更多...
水泥之家 | 橱柜之家 | 机械之家 | 水电之家 | 五金之家 | 家电之家 | 饰品头条 | 墙布头条 | 家纺头条 | 塑料头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 陶瓷之家 | 照明之家 | 防水之家 | 防盗之家 | 博一建材 | 卫浴之家 | 区快洞察 | 漳州建材 | 泉州建材 | 三明建材 | 莆田建材 | 合肥建材 | 宣城建材 | 池州建材 | 亳州建材 | 六安建材 | 巢湖建材 | 宿州建材 | 阜阳建材 | 滁州建材 | 黄山建材 | 安庆建材 | 铜陵建材 | 淮北建材 | 马鞍山建材 |
建材 | 双碳之家 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号
(c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved
Powered by 安防之家