作者narcissusli ()
看板ASM
标题[问题] Keil A51在BIT space取得特定的连续位址?
时间Thu Sep 6 00:20:03 2012
各位版友好!
最近尝试用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
1F:→ narcissusli:已解决 :) 09/06 21:21