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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2009, 09:29   #1
tirael666
 
Регистрация: 21.12.2009
Сообщений: 4
По умолчанию Пожалуйста, помогите записать в файл...

Задания такое : динамически выделять блок памяти объемом 64 Кбайт. Выделенный блок заполнять символьной информацией и переписывать в файл;

Я сделал выделение блока памяти и запись в него символьной информации:

Код:
for_start : 
mov DI,0 ;Счетчик = 0 
for_loop: ;метка для перехода назад 


mov ah,48h           ; выделяем блок памяти
mov bx,1000h         ; размером 64кб
mov es, ax
int 21h
MOV BYTE PTR ES:[DI], 00h
inc ax

inc DI ;увеличиваем DI на 1 
cmp DI,65535 ;сравниваем DI с 65535
jnz for_loop ;если не равно, переход на for_loop 
for_finish: ;если равно, выходим
Как теперь вывести содержимое этого блока в файл? Помогите пожалуйста....
tirael666 вне форума Ответить с цитированием
Старый 21.12.2009, 17:33   #2
tirael666
 
Регистрация: 21.12.2009
Сообщений: 4
По умолчанию

Неужели никто не знает?((
tirael666 вне форума Ответить с цитированием
Старый 21.12.2009, 17:36   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

ф-ции 3ch и 40h int 21h тебе помогут
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 21.12.2009, 17:46   #4
tirael666
 
Регистрация: 21.12.2009
Сообщений: 4
По умолчанию

Перерыл уже всю функцию 40h... Как с помощью нее вывести содержимое именно этого блока памяти?
tirael666 вне форума Ответить с цитированием
Старый 21.12.2009, 18:21   #5
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Перерыл уже всю функцию 40h...
интересно спросить, а на что же вы там смотрели ?
Цитата:
DS:DX = адрес буфера, содержащего записываемые данные
CX = число записываемых байт
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 21.12.2009, 20:54   #6
Defo45
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

ну ваще заполняем CreateFile
получаем дискриптор
и используем ReadFile и WriteFile
Defo45 вне форума Ответить с цитированием
Старый 21.12.2009, 21:06   #7
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

дальше пишешь:
Код:
	mov ah,3ch
	mov cx,0
	mov dx,offset fname
	int 21h			
        mov bx,ax
	mov ah,40h
	xor dx,dx
        push es
        pop ds
	int 21h
        mov ah,3eh		
	int 21h
....fname	db 'report.txt',0
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
записать содержимое Listview в файл Leo20 Общие вопросы Delphi 0 26.11.2009 13:01
Как записать файл в файл программы? Хамяг Общие вопросы Delphi 2 02.11.2008 16:01
записать байт файл мандарин Общие вопросы Delphi 8 09.05.2007 20:45