Я не могу написать текст на экран 13h в MS-DOS через .com/.exe файл, я должен я мог контролировать текст полностью. У меня FASM
draw_string:
push es
pusha
mov bx, SCREEN_WIDTH
xchg ax, bx
mul di
add ax, dx
mov di, ax
mov ax, 0A000h
mov es, ax
mov ax, 1130h
mov bh, 6
int 10h
mov bp, es
mov es, bp
mov bl, TEXT_COLOR
.next_char:
lodsb
test al, al
jz .done
cmp al, 32
jb .skip_char
cmp al, 126
ja .skip_char
push si
mov ah, 0
sub al, 32
shl ax, 3
mov si, ax
add si, 0FA6Eh
mov cx, 8
.draw_line:
mov al, [es:si]
inc si
push di
mov dh, 8
.draw_pixel:
test al, 80h
jz .skip_pixel
mov [es:di], bl
.skip_pixel:
shl al, 1
inc di
dec dh
jnz .draw_pixel
pop di
add di, SCREEN_WIDTH
loop .draw_line
pop si
.skip_char:
add dx, 8
jmp .next_char
.done:
popa
pop es
ret
Источник: Stack Overflow на русском