我不是很喜歡彙編,但對於一個項目,我不得不將C51 C編譯器的幾行彙編代碼修改爲SDCC。C51 C編譯器內聯彙編到SDCC內聯彙編
這是代碼C51
setb T1Run
setb T0Run
setb IDLE
jnb T0Full, $
其中,與SDCC編譯產生
?ASlink-Warning-Undefined Global 'IDLE' referenced by module 'Com_Func'
?ASlink-Warning-Undefined Global '$' referenced by module 'Com_Func'
?ASlink-Warning-Undefined Global 'T0Run' referenced by module 'Com_Func'
?ASlink-Warning-Undefined Global 'T1Run' referenced by module 'Com_Func'
?ASlink-Warning-Byte PCR relocation error for symbol $
file module area offset
Refby ./Com_Func.rel Com_Func CSEG 004A
Defin ./Com_Func.rel Com_Func CABS 0000
爲編譯器錯誤/警告。
- 我知道
$
-symbol被彙編程序指令的實際地址替換 - 但是SDCC是什麼? - 如何解決
T0Run
等的警告?
這些符號在C頭文件中定義。包括這個文件沒有幫助。到現在爲止,我用實際數字替換了這些符號。仍然沒有線索如何告訴解析器它沒關係 – displayname