Установка текста по центру экрана - Assembler/emu8086
Формулировка задачи:
У меня есть Assembler код, который выводит два сообщения по центру экрана.Всё работает (1 картинка), текст по центру. Но стоит мне открыть окно на весь экран (2 картинка), то всё уже по другому.
Как можно узнать с каким расширением экрана работает пользователь?
mov al, 1 mov bh, 0 mov bl, 0011_0111b mov cx, msg1end - offset msg1 mov dl, 36 mov dh, 11 push cs pop es mov bp, offset msg1 mov ah, 13h int 10h mov al, 1 mov bh, 0 mov bl, 0000_1111b mov cx, msg2end - offset msg2 mov dl, 30 mov dh, 13 push cs pop es mov bp, offset msg2 mov ah, 13h int 10h msg1 db "Hello, World!" msg1end: endm msg2 db "Press 'Y' for start" msg2end: endm
Решение задачи: «Установка текста по центру экрана»
textual
Листинг программы
VideoPage db ? ;Г*ГЄГІГЁГўГ*Г*Гї âèäåîñòðГ*Г*ГЁГ¶Г* Columns db ? ;êîëè÷åñòâî ñèâîëîâ Гў ñòðîêå ГЅГЄГ°Г*Г*Г* Rows db ? ;êîëè÷åñòâî ñòðîê Г*Г* ГЅГЄГ°Г*Г*ГҐ ;ïåðåä ГіГ±ГІГ*Г*îâêîé êóðñîðГ* Г*Г* öåГ*ГІГ° ГЅГЄГ°Г*Г*Г* ГЇГ®Г*Г*äîáèòñÿ óòî÷Г*ГЁГІГј ; - Г*îìåð âèäåîñòðГ*Г*èöû ; - êîëè÷åñòâî êîëîГ*îê Г*Г* ГЅГЄГ°Г*Г*ГҐ ; - êîëè÷åñòâî ñòðîê Г*Г* ГЅГЄГ°Г*Г*ГҐ ;Г·Г*Г±ГІГј Г¤Г*Г*Г*ûõ ïîëó÷Г*ГҐГ¬ ÷åðåç âèäåîñåðâèñ BIOS mov ah, 0Fh ;óòî÷Г*ГЁГІГј ГЇГ*Г°Г*ìåòðû âèäåîðåæèìГ* int 10h ; mov [VideoPage],bh ;Г*îìåð ГІГҐГЄГіГ№ГҐГ© âèäåîñòðГ*Г*èöû mov [Columns],ah ;÷èñëî òåêñòîâûõ êîëîГ*îê Г*Г* ГЅГЄГ°Г*Г*ГҐ ;Г·Г*Г±ГІГј Г¤Г*Г*Г*ûõ ïîëó÷Г*ГҐГ¬ ГЁГ§ îáëГ*Г±ГІГЁ Г¤Г*Г*Г*ûõ Video BIOS push es mov ax, 0040h ;ñåãìåГ*ГІ Г¤Г*Г*Г*ûõ Video BIOS mov es, ax mov al, es:[0084h];êîëè÷åñòâî ñòðîê Г*Г* ГЅГЄГ°Г*Г*ГҐ mov [Rows], al pop es mov al, 1 mov bh, 0 mov bl, 0011_0111b mov cx, msg1end - offset msg1 sub Columns, 7 mov dl, Columns sub Rows, 2 mov dh, Rows push cs pop es mov bp, offset msg1 mov ah, 13h int 10h msg1 db "Hello, World!" msg1end: endm
Объяснение кода листинга программы
- *Гиòî÷ГГЁГІГј** - устанавливает текст в верхний левый угол экрана.
- *Гîìåð** - перемещает курсор в нижний правый угол экрана.
- *Гîìåð** - перемещает курсор в верхний правый угол экрана.
- *Гîìåð** - перемещает курсор в нижний левый угол экрана.
- *Г·ГГ±ГІГј** - устанавливает текст в центральный столбец экрана.
- *Г·ГГ±ГІГј** - устанавливает текст в центральный столбец экрана.
- *Г·ГГ±ГІГј** - устанавливает текст в центральный столбец экрана.
- *Гîìåð** - перемещает курсор в нижний правый угол экрана.
- *Гîìåð** - перемещает курсор в верхний правый угол экрана.
- *Гîìåð** - перемещает курсор в нижний левый угол экрана.
- *Гîìåð** - перемещает курсор в верхний левый угол экрана.
- *Гîìåð** - перемещает курсор в нижний правый угол экрана.
- *Гîìåð** - перемещает курсор в верхний правый угол экрана.
- *Гîìåð** - перемещает курсор в нижний левый угол экрана.
- *Гîìåð** - перемещает курсор в верхний левый угол экрана.
- *Гîìåð** - перемещает курсор в нижний правый угол экрана.
- *Гîìåð** - перемещает курсор в верхний правый угол экрана.
- *Гîìåð** - перемещает курсор в нижний левый угол экрана.
- *Гîìåð** - перемещает курсор в верхний левый угол экрана.
- *Гîìåð** - перемещает курсор в нижний правый угол экрана.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д