‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

worklog: hexotron - TIDY!

Кароч, заманался я вручную "компилировать" из мнемоники в машинный код - чем программа больше, тем проще во всём этом запутаться.
Поэтому первая ступень эволюции прикладного софта для чудовищно сложного 4-битного мегапроцессора это ассемблер.
Самый простой, без каких-либо наворотов - ни макросов, ни контроля ошибок тут пока что нет, зато есть метки и можно уже почти (но ещё не совсем) перестать заботиться о вручном высчитывании смещений и т.п.

Теперь надо добавить псевдокоманды (состоящие из более чем одной операции и повторяющиеся по единому шаблону) и "препроцессор", и можно работать.

Исходный кодРезультат трансляции
;comment ! ; another Start: CALL ; Entry point XOR R0 LI 5 LI zz JMP START LI zz ZZ: SYS 1 ADD R1 LI START J -- START: B"11100000", -- 000 CALL B"00001100", -- 001 XOR R0 B"10010100", -- 002 LI 5 B"10001100", -- 003 LI 3 (ZZ) B"11101100", -- 004 JMP B"10000100", -- 005 LI 1 (ZZ) -- ZZ: B"11100001", -- 006 SYS B"00000001", -- 007 ADD R1 B"10100000", -- 008 LI -8 (START) B"11111100", -- 009 J
(код в примере - просто бессмыслица, зато проверяется и лексический, и синтаксический анализаторы)
Tags: worklog
Subscribe

  • Вопрос знатокам

    На каких частотах работали радиосистемы советских "Луноходов"? Приём-передача и всё такое - где-то в УКВ-диапазоне, наверное, судя по внешнему виду…

  • Цвета бесконечности

    http://pink-floyd.ru/archive/2008/Mar/29/colours_of_infinity_dvd.html Только что нашёл эту информацию. Однако, о том, что у Кларка и Гилмора есть…

  • Онотоле

    Нушож, его ссылки на поехавших экспертов из бздена были не напрасны: таки пролез. Когда я предсказывал, что луноборчество станет элементом…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments