Pull to refresh

Comments 9

Похоже, колесо сансары замкнулось. Идëм на второй круг. Когда ожидать симулятор .NET поверх этого всего?

Нет, это не для этого и ваши слова здесь не совсем подходят. Этот симулятор например я показываю студентам, которые никогда в жизни настоящий ассемблер проходит или использовать не будут. А тут есть возможность потрогать и получить первое представление. И так как мои лекции о процессорах и их архитектуре проходят до этого, то и первое понимание самой сути ассемблер на этом симуляторе вполне себя оправдывает. Почти никто из моих студентов может быть никогда и не будет программистом в ассемблере, но представление от него он получит. Разве это плохо?

Прям с языка сорвали.


Тут идеальный пример низкоуровневой архитектуры, на уровне процессора z80, чтобы понять как оно там работает в простом виде, когда еще нет предсказывающих ветвлений, защищенного режима, многоядерности и пары сотен регистров.
И запустить можно ВЕЗДЕ, в браузере.
Как раз самое то, чтобы не только показать, но и пощупать и написать простейшую программу. Для этого и 24-символьного дисплея в принципе достаточно.

Конечно, на простом ассемблере и написать например сортировку массива - этот симулятор самое то.

С этим симулатором хорошо показать различные проблемы, например с переполнением стека. Потому что многие вроде понимают, что это такое, но как к этому приходит - не ясно. А написав несколько примеров, где например ret и goto перемешиваются так, что в стек остаётся всегда что-то, что не должно - то и работы программы нарушается.

Второй пример для переполнение стека , когда например при вызове функции сохраняются два регистра с командой push, а перед возвратом берём только один регистр назад с командой Pop. И если вызов такой функции повторяется какое-то n-колличество раз, то и наглядно как стек 'нежелательно' заполняется и когда-то переполняется. И в какой-то момент настолько, что встречается с местом, где уже находится и код. Вроде банальность, но именно так новички понимают, как работают внутренние вещи в процессоре или операционной системе.

Заинтересовало как реализован парсинг команд?

Как там геймрип сайбера поживает?)

Я ожидал увидеть компилятор ассемблера на javascript, а тут просто расписаны основы ассемблера. И что выведет ваша функция print, если строка будет нулевой длины ?

Ну в принципе только ноль - те. как-бы и ничего, но вы правы - проверка на конец стоки должна быть перед выводом. Но автор тут ни причём- это программа автора симулятора.

Sign up to leave a comment.