ZHCU875Z August 2001 – October 2023 SM320F28335-EP
复制源文件
.copy "filename"
.include "filename"
.copy 和 .include 指令用于告诉汇编器从另一个文件读取源语句。从副本文件汇编的语句会列印在汇编列表中。汇编的 .list/.nolist 指令无论数量多少,从头文件中汇编的语句均不会 列印在汇编列表中。
在汇编 .copy 或 .include 指令后,汇编器会:
文件名 是指定源文件的必需参数。该参数用双引号引起来,并且必须遵循操作系统规则。
您可以指定完整路径名(例如,/320tools/file1.asm)。如果未指定完整路径名,汇编器将在以下位置搜索文件:
有关 --include_path 选项和 C2000_A_DIR 的更多信息,请参阅节 4.5。有关 C2000_C_DIR 的更多信息,请参阅 TMS320C28x 优化 C/C++ 编译器用户指南。
.copy 和 .include 指令可以嵌套在所复制或包含的文件中。汇编器将嵌套限制为 32 级;主机操作系统可能会设置额外的限制。汇编器在复制文件的行号之前加上一个字母代码来标识复制级别。A 表示第一个复制的文件,B 表示第二个复制的文件,以此类推。
在此示例中,.copy 指令用于从其他文件读取和汇编源语句;然后,汇编器继续汇编到当前文件中。
原始文件 copy.asm 包含一条用于复制文件 byte.asm 的 .copy 语句。当 copy.asm 进行汇编时,汇编器会将 byte.asm 复制到它在列表中的位置(注意下面的列表)。副本文件 byte.asm 包含用于第二个文件 word.asm 的 .copy 语句。
当遇到 word.asm 的 .copy 语句时,汇编器会切换到 word.asm 以继续复制和汇编。然后,汇编器返回到它在 byte.asm 中的位置以继续进行复制和汇编。完成 byte.asm 的汇编后,汇编器返回到 copy.asm 以汇编其剩余的语句。
copy.asm (源文件) |
byte.asm (第一个副本文件) |
word.asm (第二个副本文件) |
---|---|---|
|
|
|
列表文件:
1 000000 .space 29
2 .copy "byte.asm"
1 ** In byte.asm
2 000002 0005 byte 5
3 .copy "word.asm"
1 ** In word.asm
2 000003 ABCD .word 0ABCDh
4 * Back in byte.asm
5 000004 0006 .byte 6
3
4 **Back in original file
5 000005 646F .string "done"
000006 6E65
在此示例中,.include 指令用于从其他文件读取和汇编源语句;然后,汇编器继续汇编到当前文件中。该机制类似于 .copy 指令,只是语句不会列印在列表文件中。
include.asm (源文件) |
byte2.asm (第一个副本文件) |
word2.asm (第二个副本文件) |
---|---|---|
|
|
|
列表文件:
1 000000 .space 29
2 .include "byte2.asm"
3
4 ** Back in original file
5 000007 0064 .string "done"
000008 006F
000009 006E
00000a 0065