首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在65816上重新定位零页

如何在65816上重新定位零页
EN

Stack Overflow用户
提问于 2021-10-10 10:43:40
回答 1查看 86关注 0票数 0

背景信息

作为一名对8位技术感兴趣的现代PHP开发人员,我对真正的低级技术有一点粗略的了解。虽然我曾经在Z80处理器上工作过,并且在大学做过一些MIP组装,但我对65x处理器家族最不熟悉。

我想要实现的

我想要做的是为我的应用程序将0页重新定位到0xd 300--我已经进行了强制性的互联网搜索,但是找不到一个我能够理解的好例子。我在65c02中工作,但是在一个65816处理器上;我发现,多亏了一位朋友,您只能在本机模式下重新定位零页,而不是模拟模式,因为65c02不支持它。这不是一个问题,因为我可以切换到本机模式,我正在做什么,并恢复到仿真模式,如果我想优雅地返回到基本(嗯,不仅是我知道)。

如果有人也能提供一个例子,8502 (准将C128),以及,如我所知,有一个可重定位零页。我知道这是两个问题之一,但这与我想要做的事情有关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-19 06:35:35

Direct寄存器D是一个16位寄存器,指定银行0中哪个256字节的页面应该是当前的直接页(您称之为零页)。

有几个不同的指令可以用来写到D。因此,像这样的东西应该能起作用:

代码语言:javascript
复制
rep #$20  ; 16-bit accumulator
lda #$100
tcd       ; transfer 16-bit accumulator to D

请注意,该页允许在任何字节边界上开始。因此,您可以设置D=2并在[0002, 0101]上有一个直接页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69514435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档