欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教關于KEIL C251編譯器關于USING 0的使用語法問題 [打印本頁]

作者: newlined    時間: 2024-4-13 13:05
標題: 請教關于KEIL C251編譯器關于USING 0的使用語法問題
一個單片機程序,關于R0到R7寄存器的使用,以前是通過設置RS0,RS1來區分,比如在一個中斷中 執行 CLR RS0;CLR RS1,使用0區,在另一個中斷中執行SETB RS0;CLR RS1,使用1區,在主程序中執行 SETB RS0,SETB RS1使用3區。現在我想在程序使用中對R0到R7的寄存器壓棧處理,就是 PUSH AR0....PUSH AR7,發現在程序的開頭中不使用  USING 語句定義寄存器區域的使用,編譯就會出問題,出現下面的錯誤  : error A53: MISSING 'USING' INFORMATION,我是不是要把程序中所有的 CLR RS0;CLR RS1,替換成 USING 0,SETB RS0;CLR RS1 替換成 USING 1,SETB RS0,SETB RS1 替換成 USING 3?假設 我寫成一下程序會怎樣?

CLR  RS0;
CLR  RS1;
USING 3

就是關于使用using的機理是什么,謝謝大家。

作者: 1600277881    時間: 2024-4-13 19:23
using 3 它不是CPU指令,所以不會翻譯成任何CPU指令, 它只是告訴編譯器這個寄存器組已用, 不要拿來放變量而已, 要轉到Bank 3 就 ORL  PSW,#0x18
作者: Hephaestus    時間: 2024-4-13 21:12
using就兩個用途,一是AR0這樣的別名,不寫using匯編器不知道AR0到底在哪里。另一個用途是寫relocatable代碼的時候,using表示這個地方已經被使用了,鏈接的時候會避免在這里分配變量地址。
作者: newlined    時間: 2024-4-15 08:06
1600277881 發表于 2024-4-13 19:23
using 3 它不是CPU指令,所以不會翻譯成任何CPU指令, 它只是告訴編譯器這個寄存器組已用, 不要拿來放變量 ...

謝謝您的回復,我再揣摩下。
作者: newlined    時間: 2024-4-15 08:07
Hephaestus 發表于 2024-4-13 21:12
using就兩個用途,一是AR0這樣的別名,不寫using匯編器不知道AR0到底在哪里。另一個用途是寫relocatable代 ...

謝謝您的回復,using可以在程序中多次使用嗎?
作者: Hephaestus    時間: 2024-4-15 11:51
newlined 發表于 2024-4-15 08:07
謝謝您的回復,using可以在程序中多次使用嗎?

當然可以,using的有效期在寫using這一行的下一行開始,直到遇到另一個using結束。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1