我正在使用m4
预处理器和命令行选项--synclines
。每个展开的多行后,此选项会发出#line <nn>
行。
示例:
; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0(reg_0, 3)
sr1 reg_1
结果:
#line 1 "test.psm"
; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0 reg_0
#line 2
sr0 reg_0
#line 2
sr0 reg_0
#line 2
sr1 reg_1
因为sr0(reg_0,3)起源于第2行,所以m4在每次扩展后添加#line 2
。
如何将评论标记#
更改为;
?,因为汇编程序不支持#
作为评论标记。
答案 0 :(得分:0)
如果您不介意使用sed
,假设m4
生成的代码位于test.psm
:
$ sed 's/^#/;/' <test.psm
;line 1 "test.psm"
; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0 reg_0
;line 2
sr0 reg_0
;line 2
sr0 reg_0
;line 2
sr1 reg_1