Консультация № 195064
25.03.2019, 20:27
0.00 руб.
1 2 0
Здравствуйте! У меня возникли сложности с таким вопросом:
Что означает информация "Terminated, exit code 0", появляющаяся в отладчике Turbo Debugger, после завершения исследуемой программы?
Что это за "код выхода" (… exit code 0)?
Так уж необходим этот "код выхода"?
Какие еще бывают "коды выхода"?

Прикрепленные файлы:
7ec025a4cc7c6865e9f274b058ceeed5f70c71c8.doc

Обсуждение

давно
Посетитель
7438
7205
25.03.2019, 20:43
общий
25.03.2019, 20:45
Ответ простой: программа завершается при помощи команд
[code lang=asm]mov ah, 4ch
mov al, 00
int 21h[/code]Верно? Так вот, в регистре ah - функция завершения, а в al - этот самый код возврата.
Туда можно поместить любое значение от 0 до 255. В бытность ДОСа этим кодом оповещали о результате работы, в частности, об ошибках.
Сейчас, в учебных программках, практически всегда возвращают 0.
Так вот, этот код можно узнать из той программы, которая вызывала (тот же TD выводит значение)
Или из батника при помощи анализа ERRORLEVEL, куда помещается код возврата последней вызванной программы.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
25.03.2019, 21:04
общий
Адресаты:
Ну, Вам уже все И.В. сказал.
Но, есть оригинал, этой информации:
Цитата: тут
DOS 2+ - EXIT - TERMINATE WITH RETURN CODE
AH = 4Ch
AL = return code


Цитата: kerenskyaf
Какие еще бывают "коды выхода"

Цитата: return code
(Table 01792)
Values for termination type:
00h normal termination
01h aborted by Control-C
02h aborted by I/O error
03h terminate and stay resident
04h aborted by signal
05h aborted by program error
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа