У меня есть такой код (emu8086)
data segment
str1 db "hello"
len dw 4h
data ends
code segment
...
...
mov si, offset str1
lea di, [si + len]
code ends
Я бы ожидал, что это di
укажет на адрес DS: 0004, однако сгенерированная инструкция LEA DI, [SI] + 021h
.
Если вместо этого я использую:
lea di, [si + 4]
Тогда все работает как положено.
Как заставить первую версию работать аналогично второй?