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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2013, 17:24   #1
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию Assembler под Windows (MASM32). Чтение данных массива из файла

Есть некоторый текстовый файл в котором записаны: количество столбцов, количество строк и значения ячеек двух массивов (для дальнейшего перемножения).
Необходимо все эти данные считать и затем использовать в работе программы (перемножить матрицы).

Как лучше устроить такой файл для более удобного чтения? И как производить такое чтение используя WinAPI или встроенные функции MASM? Можно ли использовать ini файлы? И как их использовать на ассемблере?

Мне известен следующий метод чтения данных из файла:
Код:
mov  ofn.Flags, OFN_FILEMUSTEXIST or \
       OFN_PATHMUSTEXIST or OFN_LONGNAMES or\
       OFN_EXPLORER or OFN_HIDEREADONLY
invoke GetOpenFileName, ADDR ofn
.if eax==TRUE
 invoke CreateFile, ADDR buffer,\
           GENERIC_READ or GENERIC_WRITE,\
           FILE_SHARE_READ or FILE_SHARE_WRITE,\
           NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE,\
           NULL
 mov hFile, eax
 invoke GlobalAlloc, GMEM_MOVEABLE or GMEM_ZEROINIT, MEMSIZE
 mov  hMemory, eax
 invoke GlobalLock, hMemory
 mov  pMemory,eax
 invoke ReadFile, hFile, pMemory, MEMSIZE-1, ADDR SizeReadWrite,NULL
 invoke SendMessage, hwndEdit, WM_SETTEXT, NULL,pMemory
 invoke CloseHandle, hFile
 invoke GlobalUnlock, pMemory
 invoke GlobalFree, hMemory
Но данный метод считывает все без разбора и выводит сразу в edit, мне же необходимо считать определенные данные в определенные переменные из раздела ".data".

Так же мне посоветовали использовать FilqMapping, но я не понимаю как.
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 05.06.2013, 13:49   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Использовать функции библиотеки msvcrt
Это пример ввода с консоли
Код:
.586
.model flat,stdcall
option casemap:none
include msvcrt.inc
includelib msvcrt.lib
.data
s		db 256 dup (0)
s1		db 'Input string: ',0
s2		db 'Result: %s',0
fmt1	db '%s',0
.code
_start:
	invoke crt_printf,offset s1
	invoke crt_gets,offset s
	lea esi,s
	call pack
	invoke crt_printf,offset s2,offset s
ex:	invoke crt_scanf,offset fmt1,offset s
	ret
Для файлов использовать crt_fopen, crt_sscanf, crt_fgets
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение массива из файла YourLastSong Visual C++ 29 30.06.2013 23:58
Assembler под Windows (MASM32). Не работает процедура произведения матриц munthrekosh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 18.06.2013 18:37
Чтение массива из файла Vasya25 Помощь студентам 1 26.06.2012 17:01
Assembler, masm32 angel28 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 29.12.2009 16:50
Чтение из файла (assembler) Rifler Помощь студентам 1 12.12.2008 19:08