我怎么用十六进制做bcalls?

时间:2015-10-31 20:28:14

标签: z80

所以我有一个TI-84 Plus C银版。我刚开始使用操作码在其上编写汇编程序。我找到了一个很好的参考图表here,但想知道如何做bcalls,特别是如何将字符打印到屏幕上。似乎调用的十六进制代码长度为3个字节,但调用占用2个字节。那我怎么称呼呢? 另外,有没有人知道在为我的计算器运行时加载的内存位置程序?我还没有找到它。

2 个答案:

答案 0 :(得分:2)

根据此处的定义:http://wikiti.brandonw.net/index.php?title=84PCSE:OS:Include_File,“bcall”是RST 28指令,后跟bcall的特定数字。所以要打印一个你要做的角色(假设PutC44FB):

rst 28h
dw 44FBh

大概要打印的字符在A寄存器中。

答案 1 :(得分:1)

TI将rst 28h用于其bcall,其转换为十六进制为EF。 Bcalls是2个字节,但请记住,Z80和eZ80是小端处理器。如前所述,_PutC44FB,因此您必须先使用FB,然后使用44,使bcall(_PutC)等效于EFFB44 }}

我认为你使用的计算有一个eZ80。虽然eZ80向后兼容Z80指令集,但您链接的表格不适用于eZ80。如果您想要变得非常狂野,可以使用Zilog here提供的文档,但我必须警告您,如果您对Z80 Assembly不太满意,那么阅读材料将会过于密集。