Всем привет!
Как вы помните: я говорил что хочу сделать свою лисп машину.
Проект не удался из-за корпуса и проводов. Но после этого я взялся делать микрокомпьютер на графической операционной системе.
Этот проект уже получился.
Сейчас решил всё усложнить и сделал ассемблер машину.
Ввод и вывод желают оставлять всего лучшего потому что ввод идёт с помощью двух кнопок (на самом деле limit switch это называют). А эти две кнопки это 0 и 1.
Результат программы не выводится но отображается в светодиодах:
Зеленый - всё правильно.
Желтый - правильно но с ошибками.
Красный - не правильно.
Назвал я первую ассемблер машину как "pear 8800". Почему именно груша? Во первых я люблю груши :-). Во вторых мне нравится везде ставить название "pear" и дальше что-то.
Но можно вводить код по типу такого (не один не скомпилирует ведь мой это интерпретатор но на самом деле это не так):
section .data
hello: 1
section .code
mov ret hello
Вывод: 1.
3 регистра: rsi и rdi для данных и ret для данных которые возвращает программа.
Вот так.