| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > выравнивание и исключение общей защиты |
| Автор: Programister0 16.9.2007, 14:31 | ||||
И
первый код работает а второй вызывает исключение типа read adress FFFFFFFF обьясните как понимать "выравнены по 16-ти байтовой границе" Добавлено через 10 минут и 19 секунд Обращение в память должно быть по адресу, кратному 16 байтам; в противном случае генерируется исключение. |
| Автор: Programister0 16.9.2007, 18:06 |
| а если данные предаются в процедуру из с++ |
| Автор: W4FhLF 16.9.2007, 18:27 |
| Подробнее. |
| Автор: sgi1981 16.9.2007, 18:40 | ||
Адрес операнда выровнен на 16 байт, если значение адреса делится без остатка на 16. |
| Автор: Programister0 16.9.2007, 19:10 |
| ну или как выделить память чтоб она была выровнена на 16 байт |
| Автор: MAKCim 16.9.2007, 19:17 |
| Programister0, в коде на С++ передаваемые данные глобальные или локальные? |
| Автор: Programister0 16.9.2007, 19:31 |
| локальные. |
| Автор: MAKCim 17.9.2007, 08:43 |
| Programister0, навряд ли можно что-то сделать, потому как нужно выравнивать стек если нет соответствующего extension-а у компилятора, вручную сделать тоже не получится |
| Автор: Programister0 17.9.2007, 11:35 |
| БлиН. ладно может что нибудь ещё придумаю, спасибо всем. |