Возможно ли загрузить эффективный адрес в SI / DI со строкой и переменной?

#masm #emu8086 #dosbox

#masm #emu8086 #dosbox

Вопрос:

 DATA SEGMENT
    STR DB "HELLO!!$"
    LEN DB ?
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
       MOV DX,AX
       MOV BL,STR 1
       MOV LEN,BL
       LEA SI,STR LEN
       CODE ENDS
       END START
  

Здесь я хочу просто показать пример, на котором я написал приведенный выше код, на самом деле, я пытаюсь реализовать эту технику в коде палиндрома строки.
Но, однако, он показывает следующую ошибку:
вывод ошибки

Следовательно, я хочу знать, как я могу реализовать его каким-либо другим способом для его достижения??

Комментарии:

1. вместо LEN того, чтобы превращать переменную в константу и вычислять ее с помощью чего-то вроде LEN EQU $-STR . Возможно, вам также придется использовать другое имя метки, чем STR то, которое можно рассматривать как зарезервированное слово.

2. Не используйте изображение текста .. вместо этого используйте блок кода в теле вопроса и вставьте содержимое.