@XRFD

Что не так вроде программа написана верно но при запуске просто экран программы без рисунка?

подскажите что не так вроде программа написана верно но при запуске просто экран программы без рисунка который я рисовал как решить проблему
.MODEL SMALL
.STACK 100h
.DATA
.CODE
MAIN PROC
    MOV AX, @DATA
    MOV DS, AX

    ; инициализация библиотеки Turbo Graphics
    MOV AH, 00h
    INT 10h

    ; настройка цвета и режима графики
    MOV AH, 0Ch
    MOV AL, 0Fh ; белый цвет
    INT 10h

    ; рисование тела яхты
    MOV AH, 0Bh
    MOV CX, 100 ; ширина тела
    MOV DX, 50  ; высота тела
    MOV BH, 0   ; номер цвета
    MOV BL, 0Ch ; цвет корпуса яхты
    MOV DH, 10  ; начальная координата по Y
    MOV DL, 50  ; начальная координата по X
    INT 10h

    ; рисование паруса
    MOV AH, 0Bh
    MOV CX, 50  ; ширина паруса
    MOV DX, 50  ; высота паруса
    MOV BH, 0   ; номер цвета
    MOV BL, 0Eh ; цвет паруса
    MOV DH, 10  ; начальная координата по Y
    MOV DL, 150 ; начальная координата по X
    INT 10h

    ; рисование мачты
    MOV AH, 0Bh
    MOV CX, 10  ; ширина мачты
    MOV DX, 100 ; высота мачты
    MOV BH, 0   ; номер цвета
    MOV BL, 0Ah ; цвет мачты
    MOV DH, 10  ; начальная координата по Y
    MOV DL, 125 ; начальная координата по X
    INT 10h

    ; завершение работы с графикой
    MOV AH, 00h
    INT 10h

    ; завершение программы
    MOV AH, 4Ch
    INT 21h
MAIN ENDP
END MAIN
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
; инициализация библиотеки Turbo Graphics
    MOV AH, 00h
    INT 10h

Написано "инициализация библиотеки", а выглядит как просто вызов функции прерывания int 10h BIOS set video mode. Если это и правда инициализация библиотеки, то она (библиотека) должна уже быть загружена на этот момент. Дальше ты вызываешь другие нестандартные функции этого же прерывания, в отсутствие библиотеки они делают совсем не то, что написано в комментариях.

; завершение работы с графикой
    MOV AH, 00h
    INT 10h

Даже если предыдущий код что-то нарисовал, в этом месте режим экрана переключается с графического на текстовый и всё исчезает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы