Выводится ошибка - Assembler

Узнай цену своей работы

Формулировка задачи:

Выводится ошибка в строке с loop. Ошибка: Relative jump out of range by 004B bytes. Дополнения по коду:
znak db 10 dup (?)  ;for znak E(i)
xi dw 2 dup (?)  ; mladsha and starsh chast
yi dw 2 dup (?)  
ei dw ?
Почему появляется такая ошибка? заранее спасибо
CORD:
cmp [znak], 1
jne BICH
 
SLOG:
xor bx, bx
xor dx, dx  
mov bx, [xi]
mov dx, [xi+2]
add bx, ax
adc dx, [ei]
mov [xi], bx
mov [xi+2], dx
xor bx, bx
mov bx, [yi]
xor dx, dx
mov dx, [ei]
cmp [yi+2], dx
jnc L
cmp bx, ax
jnc L
inc si    
mov [znak+si], 2
sub ax, bx
sbb dx, [yi+2] 
mov [yi], ax    
mov [yi+2], dx
jmp K
L:
inc si
mov [znak+si], 1
sub bx, ax
sbb dx, [yi+2]
mov [yi], bx
mov [yi+2], dx 
jmp K
 
BICH:
xor bx, bx
xor dx, dx
mov bx, [yi]
mov dx, [yi+2]
cmp dx, [ei]
jnc C
cmp bx, [yi]
jnc C
inc si
mov [znak+si], 1
jmp F
C:
inc si
mov [znak+si], 2
F:
add bx, ax
adc dx, [ei]
mov [yi], bx
mov [yi+2], dx
xor bx, bx
xor dx, dx
mov bx, [xi]
mov dx, [xi+2]
sub bx, ax
sbb dx, [ei]
jmp K

K:
;chitaem Ei
xor ax, ax
xor bx, bx
xor dx, dx
mov ax, [xi]
mov bx, [xi+2]
mul bx
xor bx, bx
mov bx, [mas+2];[mas+2+bp]
;add bp, 2
mul bx
mov [ei], dx

loop CORD

Решение задачи: «Выводится ошибка»

textual
Листинг программы
mov bx, [yi]
mov dx, [ei]

Объяснение кода листинга программы

  1. В данном коде используется язык Assembler.
  2. Код выполняет два действия:
    • Первое действие: переменная bx получает значение переменной yi.
    • Второе действие: переменная dx получает значение переменной ei.
  3. Переменные bx и dx являются регистрами общего назначения в процессоре.
  4. Переменные yi и ei являются областями памяти, где хранятся значения для последующего использования в коде.
  5. В данном коде не выполняется никаких математических операций или манипуляций со значениями переменных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.583 из 5