到目前爲止,我收到了一個彙編程序,該程序以一行開始,如 - main: mov %a,0x04 ; sys_write
。有些行包含標籤(在末尾是帶有分號的詞),有些則不包含。 ;
之後的所有內容都是評論,需要刪除。需要刪除空白區並重新放入,以便成品看起來像這樣 - main: mov %a,0x04
。我已經花了很多時間了,想知道你們是否知道如何放入空格,因爲目前看起來像這樣 - main:mov%a,0x04
。任何可以普遍增加白色空間的方式將不勝感激。將白色空間添加到我的彙編程序中
int i;
char line[256];
while(fgets(line,256,infile) != NULL)
{
char label[256];
int n = 0;
for(i=0; i<256; i++)
{
if(line[i] == ';') // checks for comments and removes them
{
label[n]='\0';
break;
}
else if(line[i] != ' ' && line[i] != '\n')
{
label[n] = line[i]; // label[n] contains everything except whitespaces and coms
n++;
}
}
char instruction[256];
for(n =0; n<strlen(label);n++)
{
//don't know how to look for commands like mov here
// would like to make an array that puts the spaces back in?
}
// checks if string has characters on it.
int len = strlen(label);
if(len ==0)
continue;
printf("%s\n",label);
}
fclose(infile);
return 0;
':'是一個冒號,','是** **半結腸。 – Olaf
是的,所以在分號後不要打印任何東西。冒號前面的單詞被稱爲標籤,例如main:或name:etc ... – Jason
您應該只能刪除多餘的空格(即一個接一個),並且不要試圖將它們放回... – Jester