следующий за PSP.
Для представления программы в виде файла COM требуется соблю-
дение следующих правил:
1. Не оформляйте программу в виде процедуры. Вместо этого,
поместите в самое начало метку, вроде START, и завершите програм-
му оператором END START.
2. Поместите в начале программы оператор ORG 100H. Этот опера-
тор указывает начало кода (т.е. устанавливает счетчик комманд).
Программы COM начинаются с 100H, что является первым байтом,
следующим за PSP, поскольку CS указывает на начало PSP, которое
расположено на 100H байт ниже. Для того чтобы начать выполнение с
любого другого места поместите по адресу 100H инструкцию JMP.
3. Оператор ASSUME должен устанавливать DS, ES и SS таким
образом, чтобы они совпадали со значением для кодового сегмента,
например, ASSUME CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG.
4. Данные программы могут помещаться в любом месте программы,
до тех пор, пока они не перемешаны с кодом. Лучше начинать прог-
раммы с области данных, поскольку макроассемблер может выдавать
сообщения об ошибках при первом проходе, если имеются ссылки на
идентификатор данных, который еще не обнаружен. Для перехода к
началу кода используйте в качестве первой команды программы инст-
рукцию JMP.
5. Нельзя использовать фиксацию сегментов типа MOV AX,SEG
NEW_DATA. Достаточно указания одного смещения метки. В частности,
нужно опускать обычный код, используемый в начале программы для
установки сегмента данных, MOV AX,DSEG / MOV DS,AX.
6. Стековый сегмент полностью опускается в начальном коде.
Предыдущая страница 67 Следующая страница
1759301139
|