Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.05.2013, 20:14   #1
Ioane
Пользователь
 
Регистрация: 18.12.2011
Сообщений: 22
Репутация: 10
По умолчанию блочное считывание

Как организовать блочное считывание (по 64 бита) информации из файла?
вот часть кода. что нужно в нем изменить?
Код:
.model small                         
.stack 100h                             
.data                                                                
 
FileName db 32 dup (?)
msg db 'input filename: ','$'
buf db ?
buffer db ?
HANDLE dw ?
 
 
.code                                   
start:
        mov ax, @data   ;инициализация сегментного регистра           
        mov ds, ax 
 
vvod:      
call fclear                
 
        
;вывод сообщения к вводу        
    mov ah,09h      ;функция вывода строки на экран
    mov dx,offset msg   ;смещение в dx
    int 21h
    
;ввод имени файла   
        mov ah, 3fh ;функция чтения
    xor bx, bx  ;дескриптор стандартного ввода
    mov cx, 64  ;сколько читать
    mov dx, offset FileName     ;помещаем смещение
 
    int 21h
 
    mov bx, ax  ;формирование строки
    sub bx, 2   ;с именем файла в формате ASCII
    mov FileName[bx], 0
 
 
;открытие файла
    mov ah, 3dh ;функция открытия файла
    mov al, 2   ;доступ для чтения\записи
    mov dx, offset FileName     ;смещение
    
    int 21h
    mov HANDLE, ax  ;дескриптор файла
 
    jc error
    jmp read
 
error:
 
    jmp vvod    ;переход к метке vvod
 
 
;чтение файла
read:   
            
    mov ah,3fh      ; функция чтения файла
    mov cx,40h      ; сколько читать
    mov dx, offset buffer   ; буфер
    int 21h         ; выполнить
    jc exit         ; проверить флаг на ошибку
    jmp next
 
next:
    mov ah, 09h
    mov dx, offset buffer
    int 21h
 
    jmp exit
 
 
exit:
 
        mov ax,4C00h    ;завершение программы                     
        int 21h
 
fclear PROC
;Очистка экрана
    mov al, 02h
    mov ah, 00h
    int 10h 
 
;установка курсора
        mov ah,02h                      
        mov bh,00   ;видео страница                    
        mov dh,01h      ;номер строки                
        mov dl,01h      ;номер колонки   
        int 10h
    ret
fclear ENDP
        
end start
Ioane вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание из файла kuziashagrath85 Общие вопросы C/C++ 2 31.07.2012 08:16
Считывание Lisёноk Помощь студентам 5 08.11.2010 16:18
Считывание из файла Tema_Crazzzy Visual C++ 2 09.09.2010 13:41
c++ считывание с файла. tsergey Помощь студентам 20 24.04.2010 23:30
Считывание с TreeView program123 Общие вопросы Delphi 1 06.12.2009 20:22


12:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru