logo search
TurboProlog / Документация / TOM_1

Membyte/3 и memword/3

Турбо Пролог содержит предикаты для выборки и изменения определенных

элементов памяти. membyte используется для доступа к определенному байту

памяти, а memword используется для доступа к слову (состоящему из двух

байт). Формат обоих предикатов:

membyte(Segment, Offset, Byte) /*(i,i,i),(o,i,i)*/

memword(Segment, Offset, Word) /*(i,i,i),(o,i,i)*/

Segment,Offset,Byte и Word являются величинами целого типа. Многие

из обращений к bios требуют, чтобы передавались пары типа Segment:Offset.

membyte и memword тоже требуют указателей в таком виде. Положение участка

памяти при этом вычисляется в виде: ((Segment*16)+Offset).

Так как в Турбо Прологе определены целые числа со знаком (в проме-

жутке от -32768 до 32767 ), величины, сообщаемые предикатом memword могут

быть отрицательными. Эти числа соответствуют промежутку от 32768 до

65536.