第四章 编译连接工具的使用
第四章 编译连接工具的使用
C54X汇编工具的使用 C54X的源程序可以使用汇编或C语言 编写。使用汇编语言是可以使用助记 符指令集( Mnemonic instruction set)或代数指令集( Algebraic Instruction Set),但两种不能混用
一. C54X汇编工具的使用 C54X的源程序可以使用汇编或C语言 编写。使用汇编语言是可以使用助记 符指令集(Mnemonic Instruction Set)或代数指令集(Algebraic Instruction Set),但两种不能混用
两种指令的汇编语言比较 low_pass mac push(stl) pshm stI push(sto) pshm sto push(arO) pshm aro push(bk) pshm bk ar2=data(#t ar2) mvdm #t ar2ar2 ar3= data(#t ar3) mvdm #t ar3.ar3 ar0=#1 stm #1.arO bk=#N stm fn.bk ar3+ stl a *ar3+0 repeat(#(N-1), a=0 rptz a, #(N-1) a+=ar2+0%*ar3+0% mac ar2+0%,ar3+0%,a
两种指令的汇编语言比较 low_pass_mac: push(st1) ; pshm st1 push(st0) ; pshm st0 push(ar0) ; pshm ar0 push(bk) ; pshm bk ar2 = data(#t_ar2) ; mvdm #t_ar2,ar2 ar3= data(#t_ar3) ; mvdm #t_ar3,ar3 ar0 = #1 ; stm #1,ar0 bk = #N ; stm #N,bk *ar3+% = a ; stl a,*ar3+% repeat(#(N-1)),a=0 ; rptz a,#(N-1) a+= *ar2+0% * *ar3+0% ; mac *ar2+0%,*ar3+0%,a
●ASM500命令格式如下: asm500[ input file object file listing file]11 [-options o input file:汇编源文件名,缺省后缀为.aSm ● object file:编译输出的OBJ文件名,缺省后 为obj o listing file:产生的列表文件名缺省后缀为st ● options:编译器使用的各种选择。常用选项有 ●-c:若使用该选项,编译器忽略字母的大小写。例如 abc与ABC是一样的。系统缺省为区分大小写
⚫ ASM500命令格式如下: ⚫ asm500 [ input file [ object file [ listing file] ] ] [ -options] ⚫ input file: 汇编源文件名,缺省后缀为.asm ⚫ object file: 编译输出的OBJ文件名,缺省后缀 为.obj ⚫ listing file: 产生的列表文件名,缺省后缀为.lst ⚫ options: 编译器使用的各种选择。常用选项有: ⚫ -c:若使用该选项,编译器忽略字母的大小写。例如 abc与ABC是一样的。系统缺省为区分大小写
●-i:设置搜索路径。通知编译器在指定的搜索 路径中去查找copy, include中的文件。用法举 例:-ic:lc54x。 ●-:(小写的L)在编译时产生列表文件,缺省 后缀为st mg:汇编源程序使用代数指令集或在源代码 中使用 Algebraic ●-s:将所有的符号都放入符号表。若不使用该 选项,编译器仅将全局变量放入符号表。 ●v:指定版本。特别是需要使用 BOOTLOADER时,应加v548开关
⚫ -i:设置搜索路径。通知编译器在指定的搜索 路径中去查找.copy,.include中的文件。用法举 例:-ic:\c54x。 ⚫ -l: (小写的L)在编译时产生列表文件,缺省 后缀为.lst ⚫ -mg: 汇编源程序使用代数指令集或在源代码 中使用 . Algebraic ⚫ -s:将所有的符号都放入符号表。若不使用该 选项,编译器仅将全局变量放入符号表。 ⚫ -v: 指定版本。特别是需要使用 BOOTLOADER时,应加-v548开关