Итак, у меня есть TI-84 Plus C Silver Edition. Я только начал работать над написанием программ сборки на нем с помощью кодов операций. Я нашел хорошую справочную диаграмму here, но задавался вопросом, как делать bcalls, в частности, как печатать символ на экране. Кажется, что шестнадцатеричный код для вызова имеет длину 3 байта, но вызов занимает 2 байта. Итак, как мне это назвать? Кроме того, кто-нибудь знает, куда загружаются программы памяти, когда они запускаются для моего калькулятора? Я еще не смог его найти.Как сделать bcalls в hex?
ответ
Основываясь на определениях здесь: http://wikiti.brandonw.net/index.php?title=84PCSE:OS:Include_File, «bcall» - это инструкция RST 28
, за которой следует определенный номер bcall. Таким образом, чтобы напечатать символ, который вы могли бы сделать (при условии, что PutC
является 44FB
):
rst 28h
dw 44FBh
Предположительно характер для печати в A
регистре.
Итак, я просто положил в '3EC6EF44FBC9', который должен установить значение C6 (буква l, если я правильно помню), rst 28h , а затем 44FB, вызов. C6 - завершить программу. Когда я запускаю его, мой калькулятор выключается, и ОЗУ очищается. Я использую OS 4.0, а не 4.2, если это имеет значение. Любая подсказка, почему он разбился? – fuzzything44
Хорошо, я узнал, что я делаю неправильно. Я использовал значение .dw 44FB как есть. В шестнадцатеричном формате мне нужно было перевернуть его на FB44. В любом случае, спасибо за файл заголовка. Это должно помочь мне в тонну в будущем. – fuzzything44
TI использует rst 28h
для своего bcall, который переводит в шестнадцатеричный как EF
. Bcalls - 2 байта, но имейте в виду, что Z80 и eZ80 являются малоприводными процессорами. Так, как упоминалось ранее, _PutC
- 44FB
, поэтому вам нужно сначала использовать FB
, затем 44
, что делает bcall(_PutC)
эквивалентом EFFB44
.
Я думаю, что вы используете calc, имеет eZ80. В то время как eZ80 обратно совместим с набором инструкций Z80, таблица, к которой вы привязаны, не завершена для eZ80. Если вы хотите получить действительно дикую природу, вы можете использовать документы, предоставленные Zilog here, хотя я должен предупредить вас, что если вам не очень удобно с Z80 Assembly, материал для чтения будет слишком плотным.
Ссылка на диаграмму не вызывает ничего для меня. Пожалуйста, исправьте это, чтобы проверить свои исследования. –
Ссылка теперь работает. Насколько я могу судить, это верно для моего калькулятора, но, не имея возможности показывать все, что я могу сделать, это делать программы, которые должны или не должны заканчиваться. – fuzzything44
Я действительно знаком с версией, отличной от C, но bcall, вероятно, все еще «EF xx xx» – harold