|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2008, 13:05 | #1 |
Регистрация: 31.08.2007
Сообщений: 8
|
struct vs MASM
Возникли проблемы во время работы со структурами в MASM.
Код:
но если написать tasks.day, то всё отлично. Если бы была одна структура, то и не спрашивал бы, а тут массив нужен... Вот нарыл, можно вроде бы так: mov tasks[si].day,ax Но тогда si например будет играть роль индекса? то есть сперва он будет 0, затем надо будет каждый раз увеличивать на длину структуры? если память не изменяет её можно получить через type task Последний раз редактировалось format; 03.05.2008 в 13:37. |
04.05.2008, 00:02 | #2 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Есть такой вариант: Код:
хоть eax взять..
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось Ulex; 04.05.2008 в 00:04. |
|
04.05.2008, 00:20 | #3 |
Регистрация: 31.08.2007
Сообщений: 8
|
Вооо!
Спасибо |
09.05.2008, 17:32 | #4 |
Регистрация: 31.08.2007
Сообщений: 8
|
Так, дошёл до момента в работе, когда нужно по желанию пользователя удалить содержимое 1 структуры из массива. Как вариант вижу только смещение всего что "правее" таким образом, чтобы затёрлась нужная структура.
А есть ли другие варианты? Может быть операции предусмотрены специальные или MASMовские директивы? P.S. С Праздником! |
09.05.2008, 17:54 | #5 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Насчёт специальных команд и операций не в курсе.
А я бы сделал динамически (захочется ведь и добавлять структуры в массив, а статический массив не резиновый): 1- модель .flat 2- массив структур определяем динамически (WIN API GlobalAlloc, GlobalLock, GlobalUnlock, GlobalFree), т.е понадобятся всего две переменные Handle памяти и Указатель на память 3- По старту инициализируем необходимый кусок памяти и заполняем его (если это нужно). 4- Если надо Удалить/добавить ещё одну или N структур - инициализируем новый кусок памяти необходимого размера и копируем в него содержимое исходного куска +/- данные новых структур (для копирования можно использовать строковые команды процессора) 5- После копирования удаляем "старый" кусок памяти (GlobalUnlock, GlobalFree). 6 - при выходе из приложения чистим память (GlobalUnlock, GlobalFree).
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чем отличается Tasm от Masm | veter_s_morya | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 17 | 21.07.2008 16:55 |
А где взять MASM | RomanIgorevi4 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 06.07.2008 13:04 |
директивы в MASM - INVOKE, PROTO, LOCAL | fermat_c | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 05.04.2008 18:25 |
MASM.exe помогите пожалуйста с запуском | FlyingRat | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 03.05.2007 20:06 |
где есть masm 64бит ? | rpy3uH | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 11.01.2007 14:19 |