[問題] Keil A51在BIT space取得特定的連續位址?

看板ASM (組合語言)作者時間12年前 (2012/09/06 00:20), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
各位版友好! 最近嘗試用Keil A51來編譯以前的組語程式,在 bit address(0x20 ~ 0x2F)遇到困擾。 也許是因為語法不熟悉,想請版友指點迷津。 由於我想要在bit address裡面配置一個完整的byte(8 bits),便於運算。 但不指定特定位址,因為有多個library,如果事先指定變數位址,很容易發生overlap。 剛開始宣告如下: BIT_SEG SEGMENT DATA BITADDRESSABLE RSEG BITSEG Keyboard: DS 1 UP BIT Keyboard.7 DOWN BIT Keyboard.6 Keyboard的位址由linker決定,但卻被宣告在 R0~R7那塊(0x00 ~ 0x1F)。 後來改用SEGMENT BIT或BSEG的方式,卻又無法讓這8 bits剛好擺在同一個byte。 目前只試出將位址寫死,但後續呼叫Library時,位址可能重複的問題還是會碰上。 請版友幫忙提供意見,謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.7.163

09/06 21:21, , 1F
已解決 :)
09/06 21:21, 1F
文章代碼(AID): #1GHtkrvG (ASM)
文章代碼(AID): #1GHtkrvG (ASM)