Показать сообщение отдельно

  #15  
Старый 13.05.2009, 02:12
d_x
Постоянный
Регистрация: 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..
 
Ответить с цитированием