关于结构体的数据
天生水水 2015-01-07 08:18:02 题目日下: 创建一个两个域的结构体mystruct:filed1域是一个字,filed2域是一个包含20个双字的数组,不必为这些域定义初始化值
1.声明一个包含20个mystruct对象的数组
2.把ax送入数组的第一个元素的filed1中
3.使用esi寄存器寻址数组的第三个元素,并且把ax送入该元素的filed1中
4.表达式type mystruct与sizeof mystruct值
我的解答是这个
mystruct struct
filed1 word ?
filed2 dword 20 dup(?)
mystruct ends
array mystruct 20 dup(<>)
movzx ax, [mystruct ptr array].filed1
mov esi,array
mov [esi+type mystruct*2],ax
type mystruct=sizeof mystruct=82
书后面的答案是:
mystruct struct
filed1 word ?
filed2 dword 20 dup(?)
mystruct ends
array mystruct 20 dup(<>)
movzx ax,array.filed1
mov esi,array
mov [esi+type mystruct*3],ax
type mystruct=sizeof mystruct=82
对于红色标记的地方,请大神指导下,我的写法对不对。
另外对于最后一题 是否牵涉到数据对齐呢?还有如果数据对齐了,那么势必造成了内存空间的消耗,但是程序的运算效率会上升,那么在内存消耗以及效率的取舍上,该怎么办。