Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Почему программа под отладчиков выдает не то?

1.9K
08 мая 2004 года
Fatal
75 / / 10.03.2004
Объясните, пожалуста, я пишу прогу такого вида:

;-[блок 2]--------------------------
CODESG segment
assume CS:CODESG
org 100

;-[блок 3]--------------------------
MAIN proc
xor AL,AL
mov BH,10h
mov CH,5
mov CL,10h
mov DH,10h
mov DL,3Eh
mov AH,6
int 10h
call WINDOW
call WINDOW
call WINDOW
call WINDOW
int 20h
MAIN endp

WINDOW proc
ADD BH,10h
ADD CH,1
ADD CL,1
SUB DH,1
SUB DL,1
INT 10h
RET
WINDOW endp

;-[блок 4]--------------------------
CODESG ends

end MAIN

и потом я просматриваю ее под отладчиком. И там я вижу
byte ptr [bx+si],al
и так подряд несколько строк
Откуда это взялось и почему?
Прогу я забивал в MASM 6.1 командой ml имя.asm /AT
7.1K
09 мая 2004 года
yGREK
6 / / 28.03.2004
Цитата:
Originally posted by Fatal
И там я вижу
byte ptr [bx+si],al
и так подряд несколько строк
Откуда это взялось и почему?
Прогу я забивал в MASM 6.1 командой ml имя.asm /AT


Вобщем-то инструкция mov [bx+si],al имеет код 0 и если ты смотришь прогу с начала ( с нулевого оффсета ) то у тебя там выделено место под PSP и там какое-то кол-во байт нули, а отладчик расшифровывает их как команды - вот и получает. Просто перейди на 100h = 256 и увидишь свой код

1.9K
09 мая 2004 года
Fatal
75 / / 10.03.2004
Many thanks
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог