20_ARM汇编自学笔记程序设计之汇编格式

在汇编语言程序中常用的符号

程序中的变量是指其值在程序的运行过程中可以改变的量

程序中的常量是指其值在程序的运行过程中不能被改变的量

程序中的变量可通过代换操作取得一个常量代换操作符为“$”。

汇编语言程序中的表达式和运算符

“+”、“-”、“×”、“/” 及“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

猜你喜欢

转载自blog.csdn.net/u011337769/article/details/74600784
今日推荐