Я знаю, что это невероятно неопределенный вопрос, и это может быть не очень хорошим вопросом для программистов, поскольку это действительно связанная с аппаратным обеспечением вещь, но я предполагаю, что сборка/машинный код вступает в игру, которая будет подходящей для этого сайта.Как машина определяет, что отображается на экране (6502)?
Так что мне интересно; Представьте себе процессор 6502. Он имеет несколько регистров, набор инструкций и доступ к определенному объему памяти. Тогда представьте, что у вас есть ЖК-экран с произвольным разрешением. Как определяется, что показано на этом экране? Как определяется, какие пиксели, в какой позиции задан какой цвет? Всегда ли отображается экран, например, пиксель со значением в аккумуляторе 6502 и с положением x, хранящимся в регистре x, и y-позиция, сохраненная в y? Или это интерпретируется по-разному на каждой машине?
Кто-то написал эмулятор JavaScript 6502, и устройство отображает пиксель со своим значением в некоторой позиции памяти, начиная с 200 долларов. Так, например:
LDA #$08
STA $200
будет отображать розоватый пиксель в положении x: 0, y: 0.
LDA #$01
STA $205
отображает белый пиксель в положении x: 5, y: 0.
Если вы посмотрите на NES, однако, у него есть выделенный PPU, который отображает определенные пиксели с определенным значением в определенной области на экране.
Так как это работает? По-разному интерпретируется ли она каждой машиной (например, Apple II, C64, NES) или существует какая-то последовательность того, как она интерпретируется?
На самом деле, что произойдет, если программа, скомпилированная для Apple II, была каким-то образом выполнена на C64? Машина должна быть в состоянии прочитать инструкции, не так ли?
Это не вопрос программирования, и даже если это не относится к ассемблеру или 6502. –
Да, я уже говорил, что я не знал, был ли это подходящий вопрос или нет, поэтому я все равно спросил, Я думал, что многие программисты на этом сайте, вероятно, будут иметь некоторые аппаратные знания на стороне. Я буду помнить, что не буду задавать подобные вопросы в будущем. – ZimZim
Я уверен, что у многих программистов на этом сайте * есть * есть много знаний об оборудовании, но это все о программировании; ваш вопрос по своей сути является аппаратно-ориентированным, поскольку преобразование структур памяти в строки развертки на дисплее представляет собой аппаратно-аппаратную задачу, относящуюся к системе (что не означает, что вопрос не интересен или действителен, только что он здесь не принадлежит). –