理论教育 程序空间间接寻址方式的优化方法

程序空间间接寻址方式的优化方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:程序空间间接寻址方式访问程序空间有3种语法:AL、XAR7和XAR7++。表3-25 访问程序空间的AL语法说明注:如果指令被重复执行,AL中的地址被复制到影子寄存器中,且每一次执行后值都会增加。

程序空间间接寻址方式的优化方法

程序空间间接寻址方式访问程序空间有3种语法:∗AL、∗XAR7和∗XAR7++。说明分别见表3-25~表3-27。

3-25 访问程序空间的∗AL语法说明

978-7-111-57271-8-Chapter03-36.jpg

注:如果指令被重复执行,AL中的地址被复制到影子寄存器中,且每一次执行后值都会增加。这种寻址方式只能访问程序空间的低64KW空间。

实例:

XPREAD loc16,∗AL ;[loc16]=程序空间[0x3F:AL]

XPWRITE ∗AL,loc16 ;程序空间[0x3F:AL]=[loc16]

3-26 访问程序空间的∗XAR7语法说明

978-7-111-57271-8-Chapter03-37.jpg

注:如果指令被重复执行,只有在指令XPREAD和XPWRITE中,XAR7的地址被复制到影子寄存器中,且每一次执行后值都会增加。XAR7的内容不变。这种寻址方式只能访问程序空间的低64KW空间。对于其他指令,即使重复执行目的地址也不会改变。

指令实例:

MAC P,loc16,∗XAR7 ;ACC=ACC+P<<PM,P=[loc16]×程序空间[∗XAR7]

DMAC ACC:P,loc32,∗XAR7 ;ACC=([loc32].MSW×程序空间[∗XAR7].MSW)>>PM

;P=([loc32].LSW×程序空间[∗XAR7].MSW)>>PM(www.daowen.com)

QMACL P,loc32,∗XAR7 ;ACC=ACC+P>>PM

;P=([loc32]程序空间[∗XAR7])>>32

IMACL P,loc32,∗XAR7 ;ACC=ACC+P,P=([loc32]×程序空间[∗XAR7])<<PM

PREAD loc16,∗XAR7;[loc16]=程序空间[∗XAR7]

PWRITE ∗XAR7,loc16;程序空间[∗XAR7]=[loc16]

3-27 访问程序空间的∗XAR7++语法说明

978-7-111-57271-8-Chapter03-38.jpg

指令实例:

MAC P,locl6,∗XAR7++ ;ACC=ACC+P<<PM,P=[loc16]×程序空间[∗XAR7++]

DMAC ACC:P,loc32,∗XAR7++;ACC=([loc32].MSW×程序空间[∗XAR7++].MSW)>>PM

;P=([loc32].LSW×程序空间[∗XAR7++].MSW)>>PM

QMACL P,loc32,∗XAR7++;ACC=ACC+P>>PM,P=([loc32]×程序空间[∗XAR7++])>>32

IMACL P,loc32,∗XAR7++;ACC=ACC+P,P=([loc32]×程序空间[∗XAR7++])<<PM

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈