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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2009, 17:40   #1
Futa
 
Регистрация: 06.11.2009
Сообщений: 3
По умолчанию Работа с файлами

Суть программы: Копирование файла - программа запрашивает два полных имени файла, источник и приемник, и производит копирование источника в приемник

Вот что есть на данный момент:
Код:
.model small
.stack 100h
.code
.386
start:
mov ax,DGROUP; указывают где начала кода
mov ds, ax

;получаем длину командной строки
mov cl, es:80h
cmp cl, 1 ;если длина строки - 1 символ
jle show_usage ;значит полезного в ней нет, выводим справку о программе

;иначе переносим имя файла в path
;mov cl, es:80h
sub cl,1
mov bx,81h
next:
inc bx
mov ah,es:[bx]
mov path[bx-82h],ah
LOOP next



;и открываем этот файл
mov ax,3d00h ; открываем для чтения
lea dx,path ; DSx указатель на имя файла
; mov dx,offset path ; DSx указатель на имя файла
int 21h ; в ax деcкриптор файла
jc exit ; если поднят флаг С, то ошибка открытия

mov bx,ax ; копируем в bx указатель файла
xor cx,cx
xor dx,dx
mov ax,4200h
int 21h ; идем к началу файла
out_str:
mov ah,3fh ; будем читать из файла
mov cx,1 ; 1 байт
lea dx,buf ; в память buf
int 21h 
cmp ax,cx ; если достигнуть EoF или ошибка чтения
jnz close ; то закрываем файл закрываем файл
mov dl,buf
mov ah,2 ; выводим символ в dl
int 21h ; на стандартное устройство вывода
jmp out_str
close: ; закрываем файл, после чтения
mov ah,03Eh
int 21h
jmp exit

show_usage:
mov ah,9 ; Функция DOS 09h
mov dx,offset usage
int 21h ; вывести строку на экран
; выход из процедуры
exit:
mov ax,4c00h ;конец программы
int 21h

.data
usage db "Using this program:",0Dh,0Ah,"fread.exe [filename.txt]",0Dh,0Ah,'$'
path db " " ; имя файла для октрытия
buf db ?

end start

Последний раз редактировалось rpy3uH; 06.11.2009 в 21:26.
Futa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рАБОТА С ФАЙЛАМИ СергейURC Общие вопросы Delphi 8 23.09.2009 15:40
Работа с файлами МартинИ Паскаль, Turbo Pascal, PascalABC.NET 3 23.12.2008 21:36
Работа с файлами Maksi Фриланс 4 07.06.2008 11:38
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03
работа с файлами С++ Rossik Общие вопросы C/C++ 1 16.05.2008 19:28