Попытка получить доступ и отредактировать неназначенный элемент в специальном массиве с помощью Assembly

Я работаю над этой программой, основанной на 3d, в середине этого скрипта сборки я был озадачен тем, как я могу назначить новое значение новому экземпляру неназначенного элемента массива.

.data
x DB 00000000b
y DB 00000000b
z DB 00000000b
Vector3 DT OFFSET x
        DT OFFSET y
        DT OFFSET z
bName DB "Brick"
TypeName DT ?
clickD DB 00000000b
checkV DB 00000001b
NOP
.code
main proc
returnD:
MOV AH, checkV
CMP AH, clickD
JNE returnD
CALL clickEvent
JMP returnD
main endp
clickEvent proc
makeB:
Brick DT OFFSET [Vector3]
      DT OFFSET [TypeName]
RET
clickEvent endp
END
NOP

Массив, с которым я пытаюсь работать, - это массив "Brick", в котором я пытаюсь присвоить его неназначенному элементу "TypeName" значение "bName", указанное в.data. Реальная проблема заключается в том, что массив "Brick" должен создаваться только тогда, когда clickD равен 1. (1 означает "true" в данном случае, чтобы определить, когда пользователь нажимает кнопку для создания нового Brick). Мне нужно чтобы иметь возможность изменить значение TypeName в Brick на значение bName при создании массива Brick, и я, честно говоря, понятия не имею, как это сделать. Я думал, что решение может заключаться в том, чтобы сделать что-то вроде перемещения значения bName в регистр и перемещения значения регистра в адрес кирпича typeName, который может быть сохранен как переменная, но я не уверен, как я мог это сделать, Другая возможность может заключаться в том, чтобы поместить bName в стек данных и, возможно, поместить элемент typename Bricks в стек и переместить данные оттуда, а затем извлечь данные обратно, но опять же, тип массива, из которого сделан кирпич, делает это более трудным., Я использую x86, masm Assembly, с процессором Athlon, если это поможет. Заранее спасибо.

0 ответов

Другие вопросы по тегам