Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 09:03   #1
KaterinaYes
Новичок
Джуниор
 
Регистрация: 14.05.2013
Сообщений: 1
По умолчанию ассемблер: просмотрщик текстовых файлов

Здравствуйте!
Помогите написать программу-просмотрщик текстовых файлов, которая выводит текст и постранично и построчно(при нажатии на клавиши). Есть пример программы, которая выводит построчно, и есть - постранично. не могу соединить их

вот постраничный вывод:
Код:
;рабокий код. выводит содержимое файла rec.txt
;стрелочками прокрутка

.model small
.stack  100h
data segment
 
;sourcestring    db 257  dup(?) ; зачем то
;resultstring    db 257  dup(?) ; --
ofset dw ? 
handle  dw      0       ;дескриптор файла
file    db 'rec.txt',0,'$'
buf     dw      ?
Ok      db      'OK','$'
er      db      'Error','$'
Buffer equ $
data ends
.code
begin:
    assume ds:data
        mov     ax, data
        mov     ds, ax
 
        mov     ah,3dh ;открытие файла
        mov     al,0
        lea     dx,file 
        int     21h
        jc      erro
 
   Vw: mov Handle,ax       ;вывод содержимого файла  
        mov bx,ax
        mov ah,3Fh             
        mov cx,0FDE8h           
        mov dx,offset Buffer     
        int 21h
 
    mov cx, ax
        mov ah,40h
        mov bx, 1
    add dx, ofset
    int 21h
 
        mov ah,3Eh               
        mov bx,Handle
        int 21h
 
        mov dx,offset ok

inp:         ;вызов функции считывающих нажатие клавиши
mov ah, 6
mov al, 0
mov dl, 0ffh
int 21h
 
 
cmp al, 72  ;стрелочка вверх
jz up
 
cmp al, 80  ;стрелочка вниз
jz down
 
cmp al, 113  ;это вроде энд или эскейп - выход из программы - какая точно не помню))))))
jz Out_prog
 
jmp inp
 
up:                         ;стрелочки для скроллинга
sub ofset, 10
jmp vw
 
down:
add ofset, 10
jmp vw


 
Out_prog:
        mov ah,9h
        int 21h
 
    xor ax, ax
    int 16h
 
        int 20h
erro:
        mov ah,3ch
        mov cx,2
        int 21h
 
        mov dx,offset er
        jmp Out_prog
end     begin           ;конец программы с точкой входа main
и вот строка:

Код:
;вывод строки ФИКСИРОВАННОГО РАЗМЕРА - 8 СИМВОЛОВ
;работает почуть криво, но хоть что-то((((


.model small
.stack  100h
data segment
 
;sourcestring    db 257  dup(?) ; зачем то
;resultstring    db 257  dup(?) ; --
 
handle  dw      0       ;дескриптор файла
file    db 'rec.txt',0,'$'
buf     dw      ?
Ok      db      'OK','$'
er      db      'Error','$'
Buffer equ $
data ends
.code
begin:
    assume ds:data
        mov     ax, data
        mov     ds, ax
 
        mov     ah,3dh ;открытие
        mov     al,0
        lea     dx,file 
        int     21h
        jc      erro
 
       mov Handle,ax         
    M:     mov bx,ax ;вывод
        mov ah,3Fh             
        mov cx,8h           
        mov dx,offset Buffer     
        int 21h
 
    mov cx, ax
        mov ah,40h
        mov bx, 1
    int 21h
 
    mov ah,00h
    int 16h

	
    cmp ah,01h ;если нажали энтер выводит еще 1 строку, если нет - выход
    je M
    jne Out_prog  
    
        mov ah,3Eh               
        mov bx,Handle
        int 21h
 
        mov dx,offset ok
 
Out_prog :
        mov ah,9h
        int 21h
 
    xor ax, ax
    int 16h
 
        int 20h
erro:
        mov ah,3ch
        mov cx,2
        int 21h
 
        mov dx,offset er
        jmp Out_prog
end     begin           ;конец программы с точкой входа main



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.05.2013 в 09:26.
KaterinaYes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
открытие текстовых файлов Djon12 Помощь студентам 6 06.11.2011 19:45
Встроить просмотрщик файлов формата DJVU в программу Greek9000 Общие вопросы .NET 4 26.04.2011 12:06
Реализовать просмотрщик БМП файлов Crespo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 18.09.2010 13:41
Чтение текстовых файлов. the_deer_one Общие вопросы C/C++ 3 05.04.2010 14:06
копирование текстовых файлов teacher Общие вопросы Delphi 4 16.02.2008 20:29