к байту ещё один байт?
2) Выравнивание производить добавляя в конце каждого не 4 байтного значения оставшиеся байты?
1) Не знаю 2) Нет, выравнивать нужно адрес, и адрес должен быть кратным размеру данных. Допустим: 00000000: db "1" 00000001: dd 2 — адрес не выровнен, потребуется дополнительные операции для чтения. А если сделать так: 00000000: db "1" align 4 00000004: dd 2 — адрес выровнен. Если что, под align скрывается "наполнитель" в виде nop, то есть в диапазоне адресов между 00000001 и 00000003 будут nop
Если просто, то адрес каждого элемента структуры скалярного типа, должен быть кратен размеру этого типа
Обсуждают сегодня