MASM汇编语言笔记(二)汇编语言基础

 

回车换行符 CR/LF 0dh,0ah
字符串以空字符0结尾 greetings BYTE "Good Morning",0
不初始化的值用?表示,例如 value BYTE ?
DUP初始化多个字节,例如 array WORD 20 DUP(?)
遗留初始化伪指令DB,DW,DD,DQ,DT都可以使用
定义数组,例如 mylist WORD 1,2,3,4,5
定义实数,例如 rVal REAL8 3.2E-260
小尾顺序 little endian order:变量的最低有效字节存储在地址值的最小的地址单元中,其余字节顺序存储
例如 12345678H的存储情况:
0000 78
0001 56
0002 34
0003 12
.DATA?伪指令 声明为未初始化数据,可以减小编译后的程序尺寸,例如
.DATA
smallArray DWORD 10 DUP(0)
.DATA?
bigArray DWORD 5000 DUP(?)
代码段和数据段可以混合书写
符号常量编译器确定,不占存储空间,相当于C语言里的常量
等号伪指令 名字=表达式,例如
COUNT=500
mov ax,COUNT
用符号常量可以使程序清晰,例如用于键值定义和DUP操作符等
$运算符:返回当前程序语句的地址偏移值
计算数组大小举例:
list BYTE 10,20,30,40
ListSize=($-list)
计算字符串大小举例:
myString BYTE "This is a long string,containing"
                BYTE "any number of characters"
myStringLength=($-myString)
字WORD数组和D双字WORD数组计算长度时必须除以2或4,例如;
List WORD 1000H,2000H,3000H,4000H
ListSize=($-List)/2

EQU伪指令,相当于C语言里的define,例如 PI EQU 3.1416
EQU不允许重复定义,=允许重复定义
TEXTEQU用于创建文本宏text macro 例如:
 rowSize=5
 count TEXTEQU %(rowSize*2)
 move TEXTEQU <mov>
 setupAL TEXTEQU <move al,count>
 那么setupAL将被汇编成 mov al,10
TEXTEQU有三种风格:
name TEXTEQU <text> 将文本赋给符号
name TEXTEQU textmacro 将已定义的文本宏内容赋给符号
name TEXTEQU %constExpr 将整数表达式常量赋给符号
TEXTEQU可以重复定义

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值