Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2014, 21:21   #1
Maxim93
Новичок
Джуниор
 
Регистрация: 13.01.2014
Сообщений: 2
По умолчанию Как пользоваться Turbo Debugger for DOS

Помогите понять, как им пользоваться, я прикрепил картинку
Изображения
Тип файла: jpg 1.jpg (55.4 Кб, 120 просмотров)
Maxim93 вне форума Ответить с цитированием
Старый 14.01.2014, 00:13   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

как и в любом отладчике, выделенная строка ещё НЕ выполнилась.
после нажатия F8 (step) она выполнится.

машинный код - это то, как ваша программа выглядить на самом деле (как её "видит" процессор) - это те байты, которые выполняются.
подробнее - в любом букваре по ассемблеру читайте, что такое машинный код.

А в сегменте данных удобнее чуть позже смотреть.
после присвоения ds (это вторая строчка вашей программы: mov ds,dx) перейдите в окно данных (если память мне верна, то это клавишей TAB меняются активные окна), и в этом окне перейдите на нужное смещение. например, в сегмент данных: это будет адрес DS:0
хотя, в первой строке кода Вы видите адрес сегмента данных, можете на него перейти напрямую, сразу...

Последний раз редактировалось Serge_Bliznykov; 14.01.2014 в 00:16.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2014, 11:37   #3
Maxim93
Новичок
Джуниор
 
Регистрация: 13.01.2014
Сообщений: 2
По умолчанию

Огромнейшее спасибо, наконец-то я понял, что и как там, только вот вы не написали на счет стека)
Я еще пользуюсь случаем, можно еще 1 вопрос)
когда мы вызываем процедуру при помощи команды call procedure
регистр указатель bp будет указывать на адрес возврата, и он еще помещается в стек?
просто хотел поэкспериментировать с параметрами передаваемые в стек
и не получилось))

Вот код:
Код:
.model small
.stack 100
.data
.code
.startup
	mov ax, @data
	mov ds, ax
	
	mov ax, 40
	push ax
	
	call procedure
	
	mov ah,1
	int 21h

	mov ah, 4ch
	int 21h
	
procedure proc
	mov ax, 10
	push bp
	mov bp, sp
	mov dx, [bp+4] ; выбрали 40
	; +4 так как +2(обходим то что записано в bp) +2 чтоб указать на начала(то что в ax = 40)
	mov ax, dx
	
	mov sp, bp
	pop bp
	; ax должно содержать 40


	ret ; тут нужно какой - то параметр указать, я это не очень понимаю...
procedure endp
	
	
end


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.01.2014 в 11:59.
Maxim93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль DOS (Turbo Pascal) Anel'ka Помощь студентам 0 29.05.2012 19:03
turbo debugger tatyan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 24.11.2011 21:40
turbo pascal.Модуль DOS. Евгения007 Помощь студентам 0 30.09.2011 14:20
как отключить Just-In-Time Debugger?? Munky Общие вопросы .NET 9 06.09.2011 18:18
Сложение, вычитание, деление, умножение в Turbo Debugger GaJIbI4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 08.03.2010 15:23