Използвайте сегменти в монтаж - studopediya

След като имаше въпрос за излъчването на части от програмата, там е въпросът за това как работят тези части. В интерес на истината трябва да се отбележи, че дори когато ние не мислим за сегментите, два сегмента на програмата е: програмна памет и памет за данни. Ако се вгледате внимателно в програмата, ще откриете, че в допълнение към обучението по константите на магазини програма памет, т.е. в паметта на програмата са разположени най-малко два сегмента: софтуер и данни. Редуването на програмата и данните може да доведе до нежелани последици. Поради някаква причина данните може случайно да се извършват както софтуерна програма или обратно може да бъде получена и обработена като данни.

Използвайте сегменти в монтаж - studopediya

Фигура V.3.1. Разделяне програма памет и паметта данни сегменти.

Посочените по-горе причини водят до факта, че е желателно да се направи ясно разграничение поне три сегмента:

За определяне на абсолютни сегменти памет използва директива:

CSEG - абсолютен сегмент в паметта на програмата

DSEG - абсолютен сегмент в паметта на вътрешна информация

XSEG - абсолютен сегмент в паметта на външни данни

Фигура V.3.3. директиви Пример CSEG използват, за да се настанят програмата за прекъсване на услуги.

сегмент директива позволява да посочите името на сегмента и зоната на паметта, който ще бъде домакин на сегмента на паметта. За всяко място в паметта, определен ключова дума:

· Xdata - поставяне на сегмент в паметта на външни данни;

Кодова - поставяне на сегмент в паметта на програмата;

_data сегмент idata

В този пример обявената низ buferKlav, състоящ се от осем байтове променливи. В допълнение, в този пример променливата е декларирана VershSteka, съответстващ на последното място в паметта, която се използва за съхранение на променливи. Променлива VershSteka може да се използва за инициализация на показалеца на стека, за да се разпредели на купчина от максималната използваема размер на вътрешните клетки на паметта. Това е необходимо, за да се избегне препълване на стека, когато се обадите вложени подпрограми.

_bits сегмент малко