
13.05.2009, 02:12
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
С нами:
9541766
Репутация:
2407
|
|
Как вариант придумал такое (не очень удобно, но копирования не производится и в масме работает):
Код:
s STRUCT ;описание структуры
aaaa WORD ?
bbbb WORD ?
cccc BYTE ?
dddd DWORD ?
eeee BYTE 8 dup(?)
s ENDS
.data ;имеющиеся у нас данные
buf db "aa"
db "bb"
db "c"
db "dddd"
db "eeeeeeee"
data ?
temp db 10 dup(?)
.code
start:
mov edi,offset buf
add edi,offset s.eeee ;получили доступ к последнему полю без какого-либо копирования данных
;это указывает на байты "eeeeeeee".
;или
mov edi,offset buf+offset s.bbbb
;если где-то нужно использовать структуру из памяти целиком, то можно написать просто offset buf...
Наверняка можно как-то более красиво написать)
Последний раз редактировалось d_x; 13.05.2009 в 08:19..
|
|
|