Вчера я узнал о операторах SIZEOF и TYPE. Делая это, я создал массив,распределение памяти в x86 Язык ассемблера
Array QWORD 1h,2h,3h,4h,5h
и в .Code разделе я написал,
MOV eax, SIZEOF Array
После сборки этого, это неудобно, что я получил только 28 байт, выделенные для массива (с помощью визуального студия сообщества 2015). Я видел значения регистров в сеансе отладки.
Мой вопрос здесь, каждый QWORD занимает 8 байт памяти. Тогда почему я не получил SIZEOF Array как 40?
Еще хуже. Когда я запускаю это,
Array QWORD 1h
он дал мне 8 байт, как и ожидалось
Array QWORD 1h,2h
дает мне 10 .. !! И
Array QWORD 1h,2h,3h
дает мне 18 .. !!
И так далее ...
Что используется ассемблер? Пометить сообщение с ним. И сделайте заголовки более точными :-) –