如何格式化汇编代码?
How to format an assembly code?
我有一段相当长的汇编语言代码,我想在使用 asm()
函数的 C 程序中使用它,但是代码中的每一行都必须用引号引起来并且换行符 ('\ n') 必须插入到每一行的末尾,以使其可用。有没有文本编辑工具可以做到这一点,或者我必须手动完成?
我编写了一个从文件 a.s
获取汇编代码并将格式化文本保存到文件 b.s
的程序。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *pFileA=fopen("a.s","r"),
*pFileB=fopen("b.s","w");
if(pFileA==NULL || pFileB==NULL)
{
printf("ERROR!\n");
system("pause");
return 1;
}
char a;
START:
a=getc(pFileA);
while(a==' ' || a=='\t' || a=='\n')
{
putc(a,pFileB);
a=getc(pFileA);
}
if(a==EOF)
goto END;
putc('"',pFileB);
MID:
while(a!='\n' && a!='"')
{
putc(a,pFileB);
a=getc(pFileA);
}
if(a=='"')
{
putc(92,pFileB);
putc(a,pFileB);
a=getc(pFileA);
goto MID;
}
putc(92,pFileB);
putc('n',pFileB);
putc('"',pFileB);
putc(a,pFileB);
goto START;
END:
fclose(pFileA);
fclose(pFileB);
printf("SUCCESS!\n");
system("pause");
return 0;
}
我有一段相当长的汇编语言代码,我想在使用 asm()
函数的 C 程序中使用它,但是代码中的每一行都必须用引号引起来并且换行符 ('\ n') 必须插入到每一行的末尾,以使其可用。有没有文本编辑工具可以做到这一点,或者我必须手动完成?
我编写了一个从文件 a.s
获取汇编代码并将格式化文本保存到文件 b.s
的程序。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *pFileA=fopen("a.s","r"),
*pFileB=fopen("b.s","w");
if(pFileA==NULL || pFileB==NULL)
{
printf("ERROR!\n");
system("pause");
return 1;
}
char a;
START:
a=getc(pFileA);
while(a==' ' || a=='\t' || a=='\n')
{
putc(a,pFileB);
a=getc(pFileA);
}
if(a==EOF)
goto END;
putc('"',pFileB);
MID:
while(a!='\n' && a!='"')
{
putc(a,pFileB);
a=getc(pFileA);
}
if(a=='"')
{
putc(92,pFileB);
putc(a,pFileB);
a=getc(pFileA);
goto MID;
}
putc(92,pFileB);
putc('n',pFileB);
putc('"',pFileB);
putc(a,pFileB);
goto START;
END:
fclose(pFileA);
fclose(pFileB);
printf("SUCCESS!\n");
system("pause");
return 0;
}