NASM手册阅读笔记(8) - 其他
%include
格式
%include file.asm
说明
包含其他的asm源文件,可使用C常用的防止被重复包含的方法
%ifndef MACROS_MAC
%define MACROS_MAC
; 文件内容
%endif
%rep
格式
%rep 重复次数
XXXXX 要重复的代码内容
%endrep
说明
和MASM中 rept 一样的意思 就是重复指令,可以认为是TIMES指令的多行版
可与assign 联用
%assign i 0
%rep 64
inc word [table+2*i]
%assign i i+1
%endrep
%line
格式
%line nnn[+mmm] 文件名
说明
%include 指令的高级版,他可以指定加载某哥文件某行进来
nnn 是基础行
mmm 是递增值,也就是读一个文件 nnn 就++mmm
%!
格式
%! 变量名
说明
读取一个环境变量加载进来
%error
格式
%error 错误信息
说明
当汇编器读到这条指令的时候就会产生一个变异错误,错误内容就是 指令中的错误信息
%strlen
格式
%strlen x 字符串
说明
计算字符串的长度,并将X定义为这个常数
%strlen x “abc”
相当于
%assign x 3
它接收宏,所以可以这样
%define strhello 'hello,world'
%strlen strhellolen strhello
%substr
格式
%substr 变量 字符串 pos
说明
从字符串中取第pos个字符赋值给前面的变量
例子
%substr char 'hello' 1 ; => %define char 'h'
%substr char 'hello' 2 ; => %define char 'e'