Том дал хорошее описание. Я хотел бы добавить, что некоторые ассемблеры используют «A» для операций на аккумуляторе (например, ROL A), а некоторые нет (только ROL).
Так вот прокомментировал разборку:
SEC ;I added this to set C=1
LDA #$08 ;Loads immediate value 08 into A and sets status flags (as every instruction does)
ROL ;Rotates (like a shift) A left through the carry, so C=0, A=0x11
STA $10 ;Stores A into memory address $10, so $10=11
Вы можете протестировать программу в различных тренажерах или эмуляторов, которые имеют отладчиков - просто пошагово и наблюдать эффекты каждой команды. Это лучший способ узнать.
Скопируйте вышеуказанную разборку и вставьте ее в here. Нажмите «Собрать», установите флажок «Отладчик» и нажмите «Шаг». Веб-страница - это книга, которая поможет вам программировать 6502 со встроенными тренажерами.
Альтернативно this simulator here не так уж плохо.
Clicking this link загрузит вашу программу в более продвинутый симулятор, который показывает каждый цикл.
Конечно, есть много других загружаемых эмуляторов старых компьютеров, где вы можете взаимодействовать в командной строке для ввода сборки, а затем использовать эмулятор для его отладки. Для этого требуется немного больше обучения, но, возможно, стоит того. Например. AppleWin - разумный выбор, поскольку он довольно прост в использовании.
Спасибо! Это лучше –