Assembler под Windows (MASM32). Чтение данных массива из файла

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
StarCLike
Сообщения: 3
Зарегистрирован: 03 июн 2013, 10:37

Assembler под Windows (MASM32). Чтение данных массива из файла

Сообщение StarCLike » 03 июн 2013, 10:48

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

Как лучше устроить такой файл для более удобного чтения? И как производить такое чтение используя 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".

Ответить