Системное программное обеспечение. Рощин А.В. - 127 стр.

UptoLike

Составители: 

127
call writef ; Вывод буфера в файл
exit9: pop es
pop ds
pop di
pop si
pop dx
pop cx
pop bx
pop ax
iret
new_int8 endp
; Новый обработчик прерывания 5
new_int5 proc far
mov cs:iniflag,0ffh
iret
new_int5 endp
; Запись видеобуфера в файл
writef proc near
mov ax,cs
mov ds,ax
mov ax,0e07h
int 10h
mov ax,vbuf ; Начало видеобуфера (сегмент)
mov es,ax
mov si,0
lea di,buf
mov dx,25 ; Число строк
cld
trans1: mov cx,80 ; Число символов в строке
trans: mov al,es:[si]
mov [di],al
inc si
inc si
inc di
loop trans
mov byte ptr [di],0dh
inc di
mov byte ptr [di],0ah
inc di
dec dx
jnz trans1
; Создание файла
test word ptr num,0ffffh ; Сброшено экранов 0 ?
jnz sdwig ; Переход на смещение указателя
mov word ptr num,2050
mov ah,3ch ; Функция создания файла
                                     127



            call writef         ; Вывод буфера в файл
exit9:      pop es
            pop ds
            pop di
            pop si
            pop dx
            pop cx
            pop bx
            pop ax
            iret
new_int8    endp
; Новый обработчик прерывания 5
new_int5    proc far
            mov cs:iniflag,0ffh
            iret
new_int5    endp
; Запись видеобуфера в файл
writef proc near
       mov ax,cs
       mov ds,ax
       mov ax,0e07h
       int  10h
       mov ax,vbuf        ; Начало видеобуфера (сегмент)
       mov es,ax
       mov si,0
       lea  di,buf
       mov dx,25          ; Число строк
       cld
trans1:     mov cx,80 ; Число символов в строке
trans:      mov al,es:[si]
            mov [di],al
            inc    si
            inc    si
            inc    di
            loop trans
            mov byte ptr [di],0dh
            inc    di
            mov byte ptr [di],0ah
            inc    di
            dec dx
            jnz    trans1
; Создание файла
            test word ptr num,0ffffh ; Сброшено экранов 0 ?
            jnz    sdwig        ; Переход на смещение указателя
            mov word ptr num,2050
            mov ah,3ch          ; Функция создания файла