在汇编语言程序中常用的符号
程序中的变量是指其值在程序的运行过程中可以改变的量
程序中的常量是指其值在程序的运行过程中不能被改变的量
程序中的变量可通过代换操作取得一个常量代换操作符为“$”。
汇编语言程序中的表达式和运算符
“+”、“-”、“×”、“/” 及“MOD”算术运算符
X:MOD:Y 表示 X 除以 Y 的余数。
“ROL”、“ROR”、“SHL”及“SHR”移位运算符
X:ROL:Y 表示将 X 循环左移 Y 位
“AND”、“OR”、“NOT”及“EOR”按位逻辑运算符
X:AND:Y 表示将 X 和 Y 按位作逻辑与的操作
“=”、“>”、“<”、“>=”、“<= ”、“/=”、“ <>” 运算符
“LAND”、“LOR”、“LNOT”及“LEOR”运算符
字符串最大长度为 512 字节。
LEN 运算符返回字符串的长度(字符数)
CHR 运算符将 0~255 之间的整数转换为一个字符
STR 运算符将将一个数字表达式或逻辑表达式转换为一个字符串
LEFT 运算符返回某个字符串左端的一个子串
RIGHT 运算符返回某个字符串右端的一个子串
CC 运算符用于将两个字符串连接成一个字符串
BASE 运算符返回基于寄存器的表达式中寄存器的编号,
INDEX 运算符返回基于寄存器的表达式中相对于其基址寄存器的偏移量
?运算符返回某代码行所生成的可执行代码的长度
DEF 运算符判断是否定义某个符号
汇编语言的程序结构
AREA Init,CODE,READONLY
ENTRY
Start
LDR R0,=0x3FF5000
LDR R1,0xFF
STR R1,[R0]
LDR R0,=0x3FF5008
LDR R1,0x01
STR R1,[R0]
┉┉
END
汇编语言的子程序调用
BL 子程序名
即可完成子程序的调用。
在调用子程序的同时,也可以完成参数的传递和从子程序返回运算的结果,通常可以使用寄存器 R0~R3 完成
AREA Init,CODE,READONLY
ENTRY
Start
LDR R0,=0x3FF5000
LDR R1,0xFF
STR R1,[R0]
LDR R0,=0x3FF5008
LDR R1,0x01
STR R1,[R0]
BL PRINT_TEXT
┉┉
PRINT_TEXT
┉┉
MOV PC,BL
┉┉
END