看板 ASM 關於我們 聯絡資訊
各位版友好! 最近嘗試用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
narcissusli:已解決 :) 09/06 21:21