Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите проверить, работоспособность программы 
V
    Опции темы
susanin
Дата 12.2.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



написал вот такую программку
Код

.MODEL SMALL
Sseg SEGMENT STACK 'stack'
   DB 25600 DUP (?)
Sseg ENDS

Dseg SEGMENT 'data'
   X DB 1
   Y DB 6c
   Z DB 1
   RES DB ?
Dseg ENDS

Cseg SEGMENT 'code'
ASSUME CS:Cseg, DS:Dseg, SS:Sseg
   Sumres PROC NEAR
          ADD AL, Z
          MOV RES, AL
          RET
   Sumres ENDP
Main PROC FAR
   PUSH DS 
   MOV AX, 0
   PUSH AX
   MOV AX, Dseg
   MOV DS, AX
   MOV AL, X
   AND AL, Y
   CALL Sumres
   RET
Main ENDP
Cseg ENDS
   END Main


все скомпилировал, получил ехе, но вот правильно ли работает программа не знаю... по идее она должна складывать 3 числа... где можно посмотреть результат ее работы??? подскажите пожалуйста...
PM MAIL   Вверх
piritus
Дата 12.2.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



для ДОСа есть хороший дебаггер
называется afd. если надо, то могу кинуть

запускать из командной строки
afd prog.com

F1-для шаговой трассировки
--------------------
PM MAIL ICQ   Вверх
susanin
Дата 12.2.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



Цитата(piritus @ 12.2.2007,  21:00)
для ДОСа есть хороший дебаггер
называется afd. если надо, то могу кинуть

запускать из командной строки
afd prog.com

F1-для шаговой трассировки

боюсь показаться тупым...но всеже....и что там надо делать...?????когда нажимаешь F1 пошагово идут все действия....а где показываются суммируемые числа и результат???
PM MAIL   Вверх
piritus
Дата 12.2.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



в регистре сверху
и в памяти

я код переписал под себя, но действия остались прежними:
Код

CSEG segment
org 100h

Start:
   mov al,x
   add al,y
   call Sumres
   
   ret
   x   db 1
   y   db 6ch
   z   db 1
   res db ?
  
Sumres proc
    add al, z
    mov res, al
    
    ret
Sumres endp
   
CSEG ends
end Start


в al загружается байт из CS:[010D]:
user posted image

вот уже он в регистре al:
user posted image

после команды add al,cs:[010e] в al находится сумма 01h+6сh=6dh:
user posted image

после чего идет вызов функции и аналогичная команда add al,cs:[010f] ;(6dh+01h=6eh)
и последняя операция-запись в память: mov cs:[0110],al; после которой выход (ret):
user posted image


Это сообщение отредактировал(а) piritus - 12.2.2007, 23:05
--------------------
PM MAIL ICQ   Вверх
susanin
Дата 13.2.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



piritus, спасибоза подробное объяснение! разобрался во всем! ставлю + если смогу!!!
PM MAIL   Вверх
piritus
Дата 13.2.2007, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



для того мы здесь и сидим на форуме, что бы помогать друг другу  smile 
--------------------
PM MAIL ICQ   Вверх
susanin
Дата 13.2.2007, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



еще одна просьба....немог бы мне ктонибудь скинуть afd.exe или дать ссылку на скачивание...
PM MAIL   Вверх
piritus
Дата 13.2.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



мог бы  smile 


AFD PRO

Это сообщение отредактировал(а) piritus - 13.2.2007, 10:12
--------------------
PM MAIL ICQ   Вверх
susanin
Дата 14.2.2007, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



piritus, один вопросик! я тут заметил что когда я запустил твой код в своем afdpro то та часть, которая в самом низу (у тебя там одни нули ) у меня заполнена непонятными значениями... и у тебя как я вижу значения меняются (видно что с чем суммируется...у тебя было обведено) а у меня же ни одно значение не меняется....в чем проблема...???
PM MAIL   Вверх
piritus
Дата 14.2.2007, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 3.1.2007
Где: Сибирь

Репутация: нет
Всего: 3



а... забыл сказать:
там еще есть функции перехода в разные сектора(все рабочее поле разбито на 5 секторов)

F7-вверх
F8-вниз
F9-в лево
F10-в право

так вот: нажимай F8 и попадешь в область данных твоей программы
что бы там передвигаться-используй стрелочки
используя стрелочку "->" перемести курсор, как на картинке
user posted image

а потом, к примеру если у меня mov al,cs:[010d]  , то вводи 10d с клавиатуры и ты увидешь ту область
памяти, то и на предыдущих картинках у меня.

что бы продолжить трассировку программы нажми F7.

Это сообщение отредактировал(а) piritus - 14.2.2007, 04:04
--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.