我如何在十六进制中进行 bcalls?

How do I do bcalls in hex?

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

根据此处的定义:http://wikiti.brandonw.net/index.php?title=84PCSE:OS:Include_File,"bcall" 是 RST 28 指令,后跟 bcall 的具体编号。所以要打印一个字符你会做(假设 PutC44FB):

rst 28h
dw 44FBh

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

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

我认为您使用的计算器有一个 eZ80。虽然 eZ80 向后兼容 Z80 指令集,但您链接到的 table 对于 eZ80 来说并不完整。如果你真的想变得狂野,你可以使用 Zilog here 提供的文档,但我必须警告你,如果你对 Z80 Assembly 不太满意table,阅读 material会太密了。