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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 20:21   #1
Matadora
Пользователь
 
Аватар для Matadora
 
Регистрация: 04.09.2010
Сообщений: 25
Вопрос как внести данные в файл?!

привет всем
делаю лабораторную, где нужно в созданный файл внести данные, а именно количество кластеров на диске 0о
написала код – вроде бы находить число кластеров, и файл создает НО не записывает данные в файл
подскажите почему или как это осуществить
мой код ниже, очень надеюсь на вашу помощь

Код:
; multi-segment executable file template.
 
data segment
    ; add your data here!
    pkey db "data written to the file D: \ proba4.txt$" 
    path db 'D:\proba4.txt',0  ; путь к файлу
    handle      dw      0  
    kl4 dw ? ;отвечает за количество кластеров
ends
 
stack segment
    dw   128  dup(0)
ends
 
code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax
    
    mov ah,4eh      ; создает файл
    lea dx, path 
    mov ah, 3ch
    int 21h   
    mov handle, ax
    
    mov ah,36h
    mov dl,4
    int 21h    ; в bx - количество кластеров
 
    mov ax, bx
    mov kl4, ax
    mov ah, 40h ; функция отвечающая за запись данных в файл, но у меня она не работает 
    mov cx, 1000 
    mov dx, kl4
    int 21h 
      
    lea dx, pkey
    mov ah, 9
    int 21h        ; output string at ds:dx
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends
 
end start ; set entry point and stop the assembler.
Matadora вне форума Ответить с цитированием
Старый 24.09.2011, 23:31   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Вот поправил. Число надо в символьный вид перевести.
Код:
.model small
.stack 100h
.data
    ; add your data here!
    pkey db "data written to the file D: \ proba4.txt$" 
    path db 'proba4.txt',0  ; путь к файлу
    handle      dw      0  
    buffer db 6 dup (0)
.code
start:
; set segment registers:
    mov ax, @data
    mov ds, ax
    mov es, ax
    
    lea dx, path 
    mov ah, 3ch
    xor cx,cx
    int 21h   
    mov handle, ax
    
    mov ah,36h
    mov dl,4
    int 21h    ; в bx - количество кластеров
    mov ax,bx
    mov bx,10
    lea di,buffer
    add di,4

    @@:
    xor dx,dx
    div bx
    or dl,30h
    mov [di],dl
    dec di
    test ax,ax
    jne @b

    mov bx,handle
    mov ah, 40h ; функция отвечающая за запись данных в файл, но у меня она не работает 
    mov cx, 6
    mov dx, offset buffer
    int 21h 
      
    lea dx, pkey
    mov ah, 9
    int 21h        ; output string at ds:dx
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
end start
vadimych вне форума Ответить с цитированием
Старый 25.09.2011, 13:59   #3
Matadora
Пользователь
 
Аватар для Matadora
 
Регистрация: 04.09.2010
Сообщений: 25
По умолчанию

большой спасибо за помощь
сейчас пойду тестить

ура! работает, СПАСИБО!!!

Последний раз редактировалось rpy3uH; 25.09.2011 в 15:45.
Matadora вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать в редакторе текстовый файл, внести в него 10 строк произвольного текста. Разработать программу, к Pan_rust Паскаль, Turbo Pascal, PascalABC.NET 0 24.05.2010 23:04
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33
Можно ли внести изменения в файл с расширением .exe Sanlev Помощь студентам 12 08.02.2010 15:49
Как записать данные в DBF файл Lubocka Microsoft Office Excel 4 08.02.2010 03:14
Как передать данные из SQL в файл _ozzy_ БД в Delphi 0 12.06.2008 16:50