Я хочу раскрасить некоторые буквы, используя этот процесс:
markText proc
mov ax,data
mov ds,ax
mov es,ax
mov cx, M
mov dx, 1
push dx
mov Counter, 0
mov si, 0
colorText:
mov ah,13h ;SERVICE TO DISPLAY STRING WITH COLOR.
push ax
mov al,[CharMas+si]
cbw
mov bp, ax;STRING TO DISPLAY.
inc si
pop ax
mov bh,0 ;PAGE (ALWAYS ZERO).
mov bl,Color
mov L, cx
xor cx, cx
mov cx,1 ;STRING LENGTH.
mov dl,0 ;X (SCREEN COORDINATE).
mov dh,b.ColorRepeat ;Y (SCREEN COORDINATE).
int 10h ;BIOS SCREEN SERVICES.
mov cx, L
inc ColorRepeat
loop ColorText
mov AX,4C00h
int 21h
markText endp
В моем массиве (CharMas) у меня есть что-то вроде: «a», «b», «c». Но там просто черный пробел вместо цветных букв. Что не так с моим кодом?
P.S. он отлично работает, если я изменяю индекс arr на 0 или 1, например:
mov bp, offset CharMas[0]
CharMas
иb
и любую другую полезную вещь. - person Jose Manuel Abarca Rodríguez   schedule 22.06.2017