Как записать пиксели на пиксельном экране?

#assembly #embedded

#сборка #встроенный

Вопрос:

Я должен писать по порядку, пиксели на пиксельном экране, адрес от 8000H до 807FH, и я не знаю, как это сделать.

Я попытался ДОБАВИТЬ 1H в адрес 8000H, и появился пиксель. Итак, я попробовал ввести следующий адрес 8010H, появился еще один пиксель, но далеко…. Что мне нужно, так это знать, как записать 2 пикселя один за другим.

Комментарии:

1. Для какого процессора вы кодируете? Кроме того, следующий адрес после 8000H — 8001H, а не 8010H. Это на расстоянии 16 байт от исходного адреса.

2. Какой микропроцессор? Какое устройство? Экран монохромный? Если нет, то сколько в нем цветов?

3. Я использую маленький процессор: PEPE-16

4. Экран монохромный…. У меня есть программа, которая имитирует процессор и пиксельный экран, когда я просматриваю файл memmory, она показывает это:

5. 8000 8010 8020 8030 8040 8050 8060 8070 8080 8090 80A0 80B0

Ответ №1:

Пиксели должны быть расположены некоторым систематическим образом. Надеюсь, они расположены горизонтально, что приятно и просто, но однажды я использовал компьютер, на котором они были расположены вертикально, затем байты были расположены горизонтально в виде строк, затем строки снова были расположены вертикально, что раздражало программу.

В любом случае, предположительно, один бит равен одному пикселю, потому что он монохромный. Итак, вам просто нужно изменить разные биты и выяснить, какой бит соответствует какому пикселю.

Чтобы переключить LSB байта, вы бы заменили байт на 1. Чтобы установить его, вы бы использовали значение 1. Чтобы переключить MSB, вы бы выделили байт на 128. Если вы не знаете, что такое MSB и LSB, вам нужно прочитать о них и о битовых манипуляциях.

Комментарии:

1. тем временем я начал экспериментировать с некоторыми вещами, и теперь программа показывает пиксели по порядку, одну жизнь за другой. но знаете, я могу узнать, как изменить столбец

2. ;[Это это] pixel_screen: MOV R9, 8000H