Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
ao:report2004 [2021/06/19 18:48] iadenisov создано |
ao:report2004 [2022/08/17 15:52] (текущий) iadenisov [4.2 HUGEINT] |
||
---|---|---|---|
Строка 366: | Строка 366: | ||
'' | '' | ||
- | Имя Тип аргумента Тип результата | ||
- | Функция | + | | Имя | Тип аргумента | Тип результата | Функция |
- | + | | '' | |
- | '' | + | | '' |
+ | | '' | ||
- | идентичность (возможно усечение) | + | Таблица 1: Новые процедуры изменения типа |
- | + | ||
- | '' | + | |
- | + | ||
- | идентичность | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | наибольшее целое, не превышающее x | + | |
- | + | ||
- | Таблица 1: Новые процедуры изменения типа | + | |
Таблица 1 показывает новые процедуры для изменения типа. Никаких новых правил описания констант не вводится; | Таблица 1 показывает новые процедуры для изменения типа. Никаких новых правил описания констант не вводится; | ||
+ | | Имя | Функция | | ||
+ | | < | ||
+ | PUT16(adr: LONGINT; x: INTEGER) | ||
+ | PUT32(adr: LONGINT; x: LONGINT) | ||
+ | PUT64(adr: LONGINT; x: HUGEINT)</ | ||
+ | | < | ||
+ | GET16(adr: LONGINT): INTEGER | ||
+ | GET32(adr: LONGINT): LONGINT | ||
+ | GET64(adr: LONGINT): HUGEINT</ | ||
+ | | < | ||
+ | PORTOUT(port: | ||
+ | IOPort(port) := x</ | ||
+ | | < | ||
+ | STI</ | ||
+ | включить прерывания </ | ||
+ | | < | ||
+ | AX, BX, CX, DX, SI, DI | ||
+ | AL, AH, BL, BH, CL, CH, DL, DH</ | ||
+ | 32-битовые регистры | ||
+ | 16-битовые регистры | ||
+ | 8-регистры</ | ||
- | Имя Функция | + | Таблица 2: Новое в модуле '' |
- | + | ||
- | PUT8(adr: LONGINT; x: SHORTINT) Mem[adr] := x | + | |
- | PUT16(adr: LONGINT; x: INTEGER) | + | |
- | PUT32(adr: LONGINT; x: LONGINT) | + | |
- | PUT64(adr: LONGINT; x: HUGEINT) | + | |
- | + | ||
- | GET8(adr: LONGINT): SHORTINT RETURN Mem[adr] | + | |
- | GET16(adr: LONGINT): INTEGER | + | |
- | GET32(adr: LONGINT): LONGINT | + | |
- | GET64(adr: LONGINT): HUGEINT | + | |
- | + | ||
- | PORTIN(port: | + | |
- | PORTOUT(port: | + | |
- | + | ||
- | CLI отключить прерывания | + | |
- | STI включить прерывания | + | |
- | + | ||
- | PUTREG/ | + | |
- | EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP 32-битовые регистры | + | |
- | AX, BX, CX, DX, SI, DI 16-битовые регистры | + | |
- | AL, AH, BL, BH, CL, CH, DL, DH 8-регистры | + | |
- | + | ||
- | + | ||
- | Таблица 2: Новое в модуле '' | + | |
==== 4.3 Нетрассируемые указатели (untraced pointers) ==== | ==== 4.3 Нетрассируемые указатели (untraced pointers) ==== |