Как вы выводите на экран видео в dosbox? - PullRequest
0 голосов
/ 05 апреля 2019

Этот код ничего не выводит.Как вывести символ «А» в левом углу нового экрана?

Я попробовал приведенный ниже код.

,,,,,,,,,, *

Предположим, cs: код, ds: код
сегмент кода
org 100h

начало:

мов топор, 0B800h
мув эс, топор
мовбайт: es: [0], 'A'
int 20h
код заканчивается
конец начинается

,,,,,,,,,,

Я быкак там, чтобы буква «А» в левом углу в противном случае пустой экран.

1 Ответ

1 голос
/ 05 апреля 2019

Этот код ничего не выводит.

Возможные варианты:

  • режим видео не использует память дисплея при 0xB800: 0x0000 (например, режим графического видео).

  • код написал «А», но атрибут делает его невидимым (например, черный передний план с черным фоном).

  • код написал «A», и атрибут делает его видимым;но он перезаписывается или прокручивается с верхней части экрана, как только программа существует (до того, как вы сможете ее увидеть)

Чтобы защититься от всех этих потенциальных проблем:

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

  • do mov ax,(0xF0 << 8) | 'A' и mov [es:0],ax для установки атрибута при одновременной записи символа.Примечание. Это можно оптимизировать для одной инструкции mov word [es:0],(0xF0 << 8) | 'A'.

  • имеют некоторую задержку перед выходом (дождитесь, пока пройдет время, подождите, пока пользователь нажмет клавишу,...).

...