Новичок
Профиль
Группа: Участник
Сообщений: 20
Регистрация: 11.12.2007
Репутация: нет Всего: нет
|
привет всем, помогите, пожайлуста, у меня есть программа нужно ней поменять только: 1. цвет экрана должен меняться с белого на черный 2. на экран должна выводится надпись Болкунова Екатерина Станиславовна. Вот код проги: | Код | .model tiny .code extrn init_video:near,print_chars:near org 100h start: ;------------------------------------------------------------------ call init_video mov bh,0h ; устанавливаем цвет символа 0<=M<=7 mov dx,0h mov ax,0h n: cld lea si,text add si,dx lodsw mov bl,al call print_chars inc dx cmp dx,22 ; количество символов в выводимой сроке +1 jnz n h: mov ah,08 ; считываем символ int 21h ; с клавиатуры в AL cmp al,24h ; $ символ останова работы программы jnz h int 20h ;---------------------------------------------------------------------------- text db 'Бойко Андрей Андреевич' end start
|
И второй | Код | public init_video, print_chars cseg segment public assume cs:cseg cur_x db '0' cur_y db '0' ;bbb db '0' ;------------------------------------------ ; Инициализация видео адаптера ;------------------------------------------ init_video proc near push ax push es push di push bx push dx MOV AX,3 ; \ INT 10h ; / видео режим mov ax,0B800h mov es,ax mov ah, 20h mov al, 0 mov di, 0 wh: mov es:[di], ax ; \ add di, 2h ; | заливаем страницу фоном cmp di,0FA0h ; | jnz wh ; / mov dx,3d4h ; \ mov al,13 ; |Запрос на использование начальный адрес сканирования (мл.) out dx,al ; / mov dx,3d5h ; \ mov al,0 ; |мл. байт страницы out dx,al ; / mov dx,3d4h ; \ mov al,12 ; |Запрос на использование начальный адрес сканирования (ст.) out dx,al ; / mov dx,3d5h ; \ mov al,0 ; |ст. байт страницы out dx,al ; / mov dx,3d4h ; \ mov al,10 ; |Запрос на использование начало курсора out dx,al ; / mov dx,3d5h ; \ mov al,0 ; |начало курсора out dx,al ; / mov dx,3d4h ; \ mov al,11 ; |Запрос на использование конец курсора out dx,al ; / mov dx,3d5h ; \ mov al,0Fh ; | максимальное значение курсора out dx,al ; / mov dl,0 ; координаты X <= 80 mov dh,0 ; координаты Y <= 25 call set_cur pop dx pop bx pop di pop es pop ax ret init_video endp ;----------------------------------------------------------------- ; вывод символа ... на входе S = bl M = bh ;----------------------------------------------------------------- print_chars proc near push ax push bx push cx push dx mov cx,10 mov dl,cur_x mov dh,cur_y cmp bl,13 jz _enter cmp bl,10 jz _enter ; cmp bl,8 ; jz _beck cmp bl,24h jz _end _start: mov ah,0 mov al,dh mov cl,80 mul cl ; результат умнажения в AX mov dh,0 add ax,dx add ax,ax mov di,ax add bh,20h mov ax,0B800h mov es,ax mov ah, bh mov al, bl mov es:[di], ax mov dl,cur_x mov dh,cur_y ; mov ah,bbb ; cmp ah,66h ; jz _end cmp dl,80 jz _enter add dl,1 call set_cur loop _end _enter: mov dl,0 mov dh,cur_y add dh,1 call set_cur ; loop _end ;_beck: mov dl,cur_x ; mov dh,cur_y ; mov bl,20h ; mov bh,0h ; mov ah,66h ; mov bbb,ah ; cmp dl,0 ; jz _aa ; sub dl,1 ; call set_cur ; loop _start ;_aa: mov dl,80 ; sub dh,1 ; call set_cur ; loop _start _end: pop dx pop cx pop bx pop ax ret print_chars endp ;----------------------------------------------------------- ; Установка курсора входные данные: dl = X <= 80 и dh = Y <= 25 ;----------------------------------------------------------- set_cur proc near push ax push bx push dx push cx mov [cur_x],dl mov [cur_y],dh mov ah,0 mov al,dh mov cl,80 mul cl ; результат умнажения в AX mov dh,0 add ax,dx mov cx,ax ; mov dx,3d4h ; \ mov al,15 ; |Запрос на использование адрес курсора (мл.) out dx,al ; / mov dx,3d5h ; \ mov al,cl ; |мл. байт страницы out dx,al ; / mov dx,3d4h ; \ mov al,14 ; |Запрос на использование адрес курсора (ст.) out dx,al ; / mov dx,3d5h ; \ mov al,ch ; |ст. байт страницы out dx,al ; / pop cx pop dx pop bx pop ax ret set_cur endp ;---------------------------------------- cseg ends end
|
|