Z80:如何添加16位和8位寄存器?
如何将带进位的 16 位和 8 位寄存器(例如 HL 和 A)相加?
How do you add a 16 and a 8 bit register with carry (for example, HL, and A)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将带进位的 16 位和 8 位寄存器(例如 HL 和 A)相加?
How do you add a 16 and a 8 bit register with carry (for example, HL, and A)?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
我想指出(卡尔·诺鲁姆)检查的答案是正确的,但不是最佳答案。
下面展示了两种策略与时钟周期的速度。
使用正确的解决方案可以节省时间,并且不会破坏第二个 16 位寄存器对。
然而,右侧的解决方案确实需要额外的代码字节。
I would like to point out that the checked response (by Carl Norum) is correct, but not the best answer.
The following shows the speed of the two strategies with clock cycles.
Using the right solution saves time, and won't destroy a second 16 bit register pair.
However, the solution on the right does take an extra byte of code.
你不能直接这样做。您需要将 A 复制到 16 位寄存器对中,然后进行加法:
You can't do it directly. You need to copy A into a 16-bit register pair and then do the add:
来自 http://nemesis.lonestar.org/computers /tandy/software/apps/m4/qd/opcodes.html
From http://nemesis.lonestar.org/computers/tandy/software/apps/m4/qd/opcodes.html