当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

汇编预处理

PANCHIP RISC汇编器的预处理,除macro宏以外与C语言预处理兼容。

C兼容的部分严格区分大小写,用户自定义名、macro/endmacro不区分大小写。

预处理指令如下:

指令

说明

#include

包含一个源代码

#define

宏定义

#undef

取消已定义宏

#if

如果给定条件为真,则编译下面代码

#ifdef

如果宏已定义,则编译下面代码

#ifndef

如果宏未定义,则编译下面代码

#elif

如果前面的#if#ifdef#ifndef给定条件不为真,当前条件为真,则编译下面代码

#else

#if#ifdef#ifndef 的替代方案

#endif

结束一个#if#ifdef#ifndef条件编译块

#error

当遇到时,输出错误信息

macro

macro宏定义

注意

紧接#之后不能有空白。

汇编器支持以下预定义宏:

描述

__FILE__

这会包含当前文件名,一个字符串常量

__LINE__

这会包含当前行号,一个十进制常量

__DATE__

当前日期,一个以 "YYYY-MM-DD" 格式表示的字符常量

__TIME__

当前时间,一个以 "HH:MM:SS" 格式表示的字符常量

__ENTRY_ADDRESS__

程序入口地址,数字形式

__INTERRUPT_ADDRESS__

中断入口地址,数字形式

__STACK_DEPTH__

栈深度(单位双字节),数字形式

__PRAS__

Panchip RISC Assembler专有宏,其值为1

__PRAS_VERSION__

Panchip RISC Assembler专有宏,表示编译器版本,其值为一个数字,例如0x00010203

__PRAS_VERSION_STR__

Panchip RISC Assembler专有宏,表示编译器版本,其值为一个字符串,例如"1.2.3"

__PRAS_MAJOR_VERSION__

Panchip RISC Assembler专有宏,表示编译器主版本,其值为一个数字,例如"1.2.3"中的1

__PRAS_MINOR_VERSION__

Panchip RISC Assembler专有宏,表示编译器次版本,其值为一个数字,例如"1.2.3"中的2

__PRAS_PATCH_VERSION__

Panchip RISC Assembler专有宏,表示编译器补丁版本,其值为一个数字,例如"1.2.3"中的3

__INSTR_*

指令宏,每一条指令语法都会有一条预定义宏,例如__INSTR_MOV_A_K__表示支持指令mov A, #K