Сейчас на форуме: cppasm, asfa, vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Начало работы в debug.exe
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 декабря 2015 23:32
· Личное сообщение · #1

Здравствуйте, посоветуйте хорошую книжку по debug.exe , всё же синтаксис немного отличается от assemblera
Вопрос : как в цикле посчитать несколько ячеек памяти( как понял используя loop)



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 18 декабря 2015 23:47 · Поправил: dosprog
· Личное сообщение · #2

Нету никаких книжек по той программе.
Краткое руководство тут: --> Link <--

Неплохое руководство, на инглише, есть вот в этом пакете: --> Link <--

В своё время этот debug.exe использовался только как патчер для .COM-файлов, так как может читать команды из стандартного ввода, куда направлен вывод файла-скрипта.

Если уж разбираться с отладчиком для 8086, то брать сразу AFD - это довольно могучая программа.



| Сообщение посчитали полезным: new_wave


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 19 декабря 2015 03:33 · Поправил: plutos
· Личное сообщение · #3

В книге "The 80x86 IBM PC and Compatible computers. Assembly Language, Design, and Interfacing" Muhammad Ali Mazidi эта программа рассматривается очень подробно, со множеством примеров.
Если сможете найти эту книгу - скачайте, она того стоит.

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: dosprog

Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 19 декабря 2015 08:03 · Поправил: dosprog
· Личное сообщение · #4

plutos пишет:
скачайте, она того стоит.

Книга 95-го года, и действительно хороша. Её бы тогда, в 95-м..
Но тогда у меня был HDD ёмкостью 80Мб - а книга в PDF'e сейчас 45Мб.
Да и PDF-формата тогда не было.. Всё течёт, всё изменяется.
Вспоминаю, какой дефицит толковой литературы был в то время.

Часто ответы на вопросы удавалось найти только ковырянием работающих программ






Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 19 декабря 2015 10:23
· Личное сообщение · #5

Однако, уже слишком давно это было

AFD Pro

0759_19.12.2015_EXELAB.rU.tgz - AFD-Pro.ver.1.0.English.rar

| Сообщение посчитали полезным: new_wave

Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 19 декабря 2015 10:35 · Поправил: dosprog
· Личное сообщение · #6

Gideon Vi пишет:
AFD Pro


Тогда уже и просто AFD

--> AFD <--

Сказать по правде, я от него уже успел отвыкнуть..
Пользовался другим отладчиком, для 386+. Сейчас, редко, когда попадаю на машины 286 и старше, приходится вспоминать.





Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 19 декабря 2015 11:16
· Личное сообщение · #7

avputil
дебажит все и вся в ДОС-е, включая редирект интерраптов


1be1_19.12.2015_EXELAB.rU.tgz - avputil22.zip



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 19 декабря 2015 11:48 · Поправил: dosprog
· Личное сообщение · #8

sendersu пишет:
avputil


Выглядит неплохо. Не встречал его никогда.
Вроде бы, судя по начинке, должен работать и на 8086.





Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 декабря 2015 12:15
· Личное сообщение · #9

Где ошибка
Подсчет 10 ячеек

-e 100
-a 100
0D13:0100 mov cx, 10
0D13:0103 mov bx, 0
0D13:0106 mov ax,[0100]
0D13:010C add bx,ax
0D13:010D add ax, 1
0D13:0111 loop 100
0D13:0113 ret



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 19 декабря 2015 12:34 · Поправил: dosprog
· Личное сообщение · #10

new_wave пишет:
-e 100
-a 100
0D13:0100 mov cx, 10
0D13:0103 mov bx, 0
0D13:0106 mov ax,[0100]
0D13:010C add bx,ax
0D13:010D add ax, 1
0D13:0111 loop 100
0D13:0113 ret


Не заморачивайся. Используй TASM.

То, что ты хочешь сделать (индексация с помощью AX), ко всему прочему, только для 386+.
TASM выдаст осмысленное сообщение об ошибке в таком случае. DEBUG.EXE это делать не будет.

Корректно будет так:

mov cx,10
xor bx,bx
xor ax,ax
mov si,100h
@@lp:
cld
lodsb
add bx, ax
loop @@lp


При желании получишь листинг:

Code:
  1. 0100  B9 000A  mov cx,10
  2. 0103  33 DB    xor bx,bx
  3. 0105  33 C0    xor ax,ax
  4. 0107  BE 0100  mov si,100h
  5. 010A           @@lp:
  6. 010A  FC       cld
  7. 010B  AC       lodsb
  8. 010C  03 D8    add bx, ax
  9. 010E  E2 FA    loop @@lp


Отладчик, как это следует из его названия, для отлаживания программ, а не для их составления.
Хотя, конечно, и топором карандаши точить можно..





Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 декабря 2015 13:10
· Личное сообщение · #11

Спасибо


 eXeL@B —› Вопросы новичков —› Начало работы в debug.exe
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати