Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .stack 100h
- .186
- .data
- ;Определение переменных:
- row db 5 ;row – строка, в которой находится курсор
- col db 10 ;col – столбец, в котором находится курсор
- mode db (?) ;mode – номер режима, нач. значение не определено
- char_ctr db 4Dh ;char_ctr – счетчик ASCII-символов
- .code
- start:
- mov ax,@data
- mov ds, ax
- call B10MODE ;установка видеорежима
- call C10CLEAR ;очистка экрана
- mov bl, 9h ;начальное значение цвета
- label1:
- call D10CURSOR ;установка курсора
- call E10DISPLAY ;вывод символа на экран
- inc col ;перемещение курсора вправо
- cmp col,17 ;проверка на конец строки
- jc label1
- inc char_ctr ;переход к следующему символу
- inc row ;переход в следующий столбец
- mov col,0Ah ;переход на начало строки
- inc bl ;переход к следующему цвету
- cmp char_ctr,53h ;проверка на последний символ
- jc label1
- mov ax,4C00h ;Завершение программы
- int 21h
- ;Определение подпрограмм
- B10MODE proc ;установка видеорежима
- mov ah, 0Fh
- int 10h
- mov mode, al
- mov ah, 0
- mov al, 3
- int 10h
- ret
- B10MODE endp
- C10CLEAR proc ;очистка экрана
- pusha
- mov ah, 06h
- int 10h
- mov ah, ah
- mov al, 6
- mov bh, 23h
- mov cx, 5:10
- mov dx, 12:17
- int 10h
- popa
- ret
- C10CLEAR endp
- D10CURSOR proc ;установка курсора
- pusha
- mov ah, 02h
- mov bh, 0
- mov dh, row
- mov dl, col
- int 10h
- popa
- ret
- D10CURSOR endp
- E10DISPLAY proc ;вывод символа на экран
- pusha
- mov ah, 9h
- mov al, char_ctr
- mov bh, 0
- mov cx, 1
- int 10h
- popa
- ret
- E10DISPLAY endp
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement