我正在开发这个基于 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”分配给 .data 中指定的“bName”值。真正的问题是,只有当 clickD 等于 1 时才必须创建“砖”数组。(在这种情况下,1 表示“真”,以确定用户何时单击按钮来创建新砖)我需要能够在创建砖数组时将 Brick 的 TypeName 值更改为 bName 值,老实说,我不知道如何做到这一点。我认为解决方案可能涉及将 bName 的值移动到寄存器中并将寄存器的值移动到砖的 typeName 地址中,这可能可以存储为变量,但我不确定我该怎么做. 另一种可能性可能涉及将 bName 推入数据堆栈,并且可能将 Bricks 类型名称元素推入堆栈并从那里移动数据,然后将数据弹回,但同样,brick 的数组类型使其看起来更难这样做. 如果有帮助,我正在使用带有 Athlon 处理器的 x86、masm Assembly。提前致谢。