Наблюдение за изменением переменной в отладчике Turbo Debugger - Assembler

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

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

Только начал изучать ассемблер и столкнулся с парой вопросов. У меня есть массив который состоит из ссылок. Для начала хотелось бы с помощью турбо дебагера найти его в сегменте данных. Не очень понимаю как узнать непосредственно адрес ячейки где он лежит.
.model small
.stack 100h
 
.data
mas dw a1,a2,a3,a4
 
a1  db  15
a2  db  14
a3  db  -20 
a4  db  -10
a0  db  0
 
len equ $-mas
 
.code
start:
mov ax,seg(mas)
mov ds,ax
lea bx,[mas]
xor si,si   
mov cx,len
mov ah,2
 
m1:
mov dl,bx[si]
int 21h
add si,type(mas)
loop m1
 
jmp exit
 
exit:
mov ax,4C00H
int 21h
 
end start

Решение задачи: «Наблюдение за изменением переменной в отладчике Turbo Debugger»

textual
Листинг программы
 m1:
 mov di,[bx+si] ; получаем [B]указатель[/B]
 cmp [di],-15 ; сравниваем [B]элемент[/B] по [B]указателю[/B] [bx+si] с -15
 jge next ; больше или равно - ничего не делаем
 mov [bx+si],0 ; зануляем [B]указатель[/B]
 next:
 add si,2
 loop m1

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы