надо глянуть в моих архивах...
это был GCC я модифицировал RTL-представление, в той частии где генерируется код для адресации через База[Смещение].
1. Загрузка из памяти в регистр-назначения (mov REG, word ptr VAR[OFFS] в нотации для x86) заменяло на( примерный код, пишу по памяти)
push bx
push si
push ax
mov bx,<segaddr>
mov si,<offset>
mov ax,<val16>
call getData16 ; На выходе в AX наше слово из памяти
mov REG,ax
pop ax
pop si
pop bx
У функции записи слова в память по адресу X сигнатура аналогична только название другое
Сами функции я положил в crtbegin.o который GCC при линковке автоматом добавляет в бинарник.






Ответить с цитированием