完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
昨天我看了一下指针间接长寻址模式。只有当寄存器X用于其他目的时,这似乎才有用:
加载到: ldw x,5000美元 ld a,(x) VS ld a,(($ 5000) 两者的代码大小均为4字节,前者需要3个周期,而后者需要4个周期。 ldw x,5000美元 ldw x,(x) 与 ldw x,(($ 5000)) 两者的代码大小均为4字节,前者需要4个周期,后者需要5个周期。 ldw y,$ 5000 ldw(y),x VS ldw(($ 5000),x 这里前者占用6个字节的代码大小和4个周期,而后者占用4个字节的代码大小和5个周期。 有些完全没有意义: ldw x,5000美元 ldw x,(x) 与 ldw x,(($ 5000)) 两者都需要4个字节的代码大小,但前者需要4个周期,而后者需要5个周期!在这里我们无论如何都要覆盖x。 在我看来,指针间接长寻址模式仅在非常特殊的情况下才有用,我想知道为什么它被包含在内。 我错过了这种寻址方式吗? 菲利普 以上来自于谷歌翻译 以下为原文 Yesterday I had a look at the pointer indirect long addressing mode. It seems this one is useful only when register X is in use for other purposes: Loading into a: ldw x, $5000 ld a, (x) vs ld a, (($5000) Both have a code size of 4 bytes, and the former takes 3 cycles while the latter takes 4 cycles. ldw x, $5000 ldw x, (x) vs. ldw x, (($5000)) Both have a code size of 4 bytes,the former takes 4 cycles, the latter takes 5 cycles. ldw y, $5000 ldw (y), x vs ldw (($5000), x Here the former takes 6 bytes of code size and 4 cycles, while the latter takes 4 bytes of code size and 5 cycles. Some are completly pointless: ldw x, $5000 ldw x, (x) vs. ldw x, (($5000)) Both take 4 bytes of code size, but the former takes 4 cycles, while the latter takes 5! And here we overwrite x anyway. It seems to me that pointer indirect long addressing mode is useful only in very specific circumstances, and I wonder why it was included at all. Am I missing something about this addressing mode? Philipp |
|
相关推荐
1个回答
|
|
我认为这种寻址模式的存在是为了与ST7代码兼容。
它没有相应的ST7寻址模式有用,因为X寄存器是16位宽,而ST7 X寄存器只有8位宽。 这个“小”X寄存器功能有很大的不同! 以上来自于谷歌翻译 以下为原文 I think that this addressing mode exists for compability with ST7 code. It's less useful than the corresponding ST7 addressing mode because X register is 16 bit wide, whereas ST7 X register is only 8 bit wide. This ''small'' X register feature makes a big difference! |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2632 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3607 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:13 , Processed in 1.154718 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号