對于低級別的編程,有時需要說,在一個給定的記憶體位置,這是我的地址所在。對于這篇文章,例子是PIC16F886和相關微控制器中的PIR暫存器。它總是在地址0x000C處找到。
我采取的方法是:
#define pir1 (*(uint8_t*)0xc)/span>
現在我可以用類似于pir1 |= 0x40的東西來賦值給這個變數(好吧,我會用一個#定義的常數來代替神奇的數字,但你會明白我的意思)。這在GCC上編譯得很好,即使我使用-Wextra -Wall也沒有警告。為了驗證我的假設,GCC吐出了以下x86_64的代碼:
movl $12,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/332268.html
標籤:
