Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами 
:(
    Опции темы
Виксан
Дата 10.2.2007, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



заранее создать подкаталог Е в главном каталоге. Программа должна удалить его и создать там подкаталог  К. В нём создать файл с атрибутами "скрытый", в котором содержиться два любых текстовых рядка. содержимое файла вывести на экран.
как это сделать?
PM MAIL   Вверх
piritus
Дата 10.2.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



вобще-то подобная тема была. называется "Файлы".
не понятно, под какую ОС надо (предпологаю, что DOS). а главный каталог - это, наверное, "c:\".

Код

;заранее создать подкаталог Е в главном каталоге. Программа должна удалить его и создать там подкаталог  К. В нём создать файл с атрибутами "скрытый", в котором содержиться два любых текстовых рядка. содержимое файла вывести на экран.
;как это сделать?

.model tiny
CSEG segment
org 100h

Start:
    jmp go
file_name       db 'c:\K\file.txt',0
first_dir       db 'c:\E',0
second_dir       db 'c:\K',0

any_text       db 'Информация подрывает из ряда вон выходящий объект деятельности.',0dh
               db 'Преамбула творит класс эквивалентности. Ощущение мира непредвзято...'
end_text:
Handle           dw 0

go:
;настройка видео режима и видео страницы
    mov ax,0003h
    int 10h
    mov ax,0500h
    int 10h
    
;удаление каталога C:\E
    mov ah,3ah
    lea dx,first_dir
    int 21h
    
;создание каталога C:\K
    mov ah,39h
    lea dx,second_dir
    int 21h
    jc Error

;создание нового файла с атрибутом "скрытый"
    mov ah,3ch
    mov cx,02h
    lea dx, file_name
    int 21h
    jc Error
    
;запись в файл
    xchg bx,ax
    mov Handle,bx
    mov ah,40h
    mov cx,end_text-any_text    
    lea dx,any_text
    int 21h

;закрытие файла
    mov ah,3eh
    mov bx,Handle
    int 21h

;открытие файла для чтения или записи
    mov ax,3d02h 
    lea dx,file_name
    int 21h
    jc Error
    
    mov Handle,ax
    xchg bx,ax

;чтение данных из файла в буфер с текущей позиции курсора, количество копируемых символов в cx
    mov ah,3fh
    mov cx,65535
    lea dx,Buffer
    int 21h
    jc Error

;закрытие файла
    mov ah,3eh
    mov bx,Handle
    int 21h
    
;вывод данных на консоль
    mov ax,0b800h
    mov es,ax
    mov ah,07h
    xor di,di
    lea si,Buffer
    
label1:
    lodsb
    test al,al
    je Pause
    stosw
    jmp short label1

;пауза
Pause:
    xor ah,ah
    int 16h
    
Error:
    ret
    
Buffer equ $
CSEG ends
end Start



Это сообщение отредактировал(а) piritus - 10.2.2007, 23:15
--------------------
PM MAIL ICQ   Вверх
Виксан
Дата 11.2.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



под Windows надо
PM MAIL   Вверх
sgi1981
Дата 13.2.2007, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 2
Всего: 10



Программа на FASM
Текст составлен для среды программирования FASM 1.67.8.

[code=asm]
format PE GUI 4.0
entry start

include 'win32a.inc'

section '.data' data readable writeable

  _class db 'dsfgdsfg',0
  _edit db 'EDIT',0

  _title db 'Прога для Виксан',0

  wc WNDCLASS 0,WindowProc,0,0,NULL,NULL,NULL,COLOR_BTNFACE+1,NULL,_class

  edithwnd dd ?
  editfont dd ?
  msg MSG
  client RECT
  SH SHFILEOPSTRUCT <?>
  DIR_del db 'E',0,0
  DIR_create db 'K',0,0
  FILE_create db 'file_hid.txt',0
  hfile dd 0
buffile dd 0; буфер, записываемый в файл
temp1 dd 0
section '.code' code readable executable

  start:

        invoke  GetModuleHandle,0
        mov     [wc.hInstance],eax
        mov     [wc.hIcon],0
        invoke  LoadCursor,0,IDC_ARROW
        mov     [wc.hCursor],eax
        invoke  RegisterClass,wc
        invoke  CreateWindowEx,0,_class,_title,WS_VISIBLE+WS_OVERLAPPEDWINDOW,144,128,256,256,NULL,0,[wc.hInstance],NULL

  msg_loop:
        invoke  GetMessage,msg,NULL,0,0
        or      eax,eax
        jz      end_loop
        invoke  TranslateMessage,msg
        invoke  DispatchMessage,msg

        jmp     msg_loop

  end_loop:
        invoke  ExitProcess,[msg.wParam]

proc WindowProc hwnd,wmsg,wparam,lparam
        push    ebx esi edi
        cmp     [wmsg],WM_CREATE
        je      wmcreate
        cmp     [wmsg],WM_SIZE
        je      wmsize
        cmp     [wmsg],WM_SETFOCUS
        je      wmsetfocus
        cmp     [wmsg],WM_DESTROY
        je      wmdestroy
  defwndproc:
        invoke  DefWindowProc,[hwnd],[wmsg],[wparam],[lparam]

Это сообщение отредактировал(а) sgi1981 - 13.2.2007, 04:50

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  example_files_work.zip 1,18 Kb
PM MAIL   Вверх
piritus
Дата 13.2.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



главный каталог-это каталог из которого была запущена программа?
или c:\ ?
--------------------
PM MAIL ICQ   Вверх
sgi1981
Дата 13.2.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 2
Всего: 10



Этот сайт форума меня вообще удивляет !
Вчера ночью только было все ОК с моим сообщением, сегодня днем открываю - сообщение изуродовано.

Вот архив с исходником и исполняемым файлом...
Думаю так будет надежнее

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  example_files_work_source.zip 3,11 Kb


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0931 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.