Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
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) ==== | ||