
- •2. Работа с файлами с использованием дескриптора файла, стандартные файлы-устройства.
- •3. Косвенный межсегментный переход, формат команды, адресация перехода, алгоритм команды, флаги, пример использования команды.
- •2. Структура байта атрибута, назначение атрибутов файла.
- •3. Команда дальнего возврата, формат команды, адресация перехода,
- •2. Организация главной программы как дальней процедуры.
- •3 Команда test, алгоритм команды, формируемые флаги, формат, пример использования
- •2. Инициализация сегментных регистров при запуске exe-файла.
- •3. Команды арифметического сдвига, алгоритмы команды, флаги, формат, пример использования.
- •2. Параметр объединения at, пример использования.
- •3. Команды циклического сдвига, алгоритмы команды, флаги, формат, пример использования.
- •2.Параметры директивы сегмент public и stack. Условия их применения.
- •3 Команды циклического сдвига через флаг переноса, алгоритмы команд, флаги, формат, пример использования.
- •2. Использование командной строки при запуске exe-файла.
- •2. Организация «оператора case» на ассемблере с использованием внутрисегментного косвенного перехода.
- •2.Порядок передачи параметров в процедуру(функцию) на паскале. Привести пример программы, нарисовать стек процедуры (функции).
2.Порядок передачи параметров в процедуру(функцию) на паскале. Привести пример программы, нарисовать стек процедуры (функции).
Передача параметров.
Передаются по ссылке все параметры переменные не зависимо от ссыл-
ки. Массивы и записи, если их размер превышает 4 байта. Множества пере-
даются по ссылке. Строки.
Типы boolean, как байт с фиксированным значением 0 или 1.
Перечислимый тип, как byte.
integer или word как 2 байта
longinteger как 2 слова
real как 3 слова
массивы и записи размером <= 4 байта
longinteger - AX:DX
real - DX:BX:AX
Обычно функция возвращает одно скалярное значение. В TP - искдюче-
ние string, которое является структурированный тип, однако с другой сто-
роны имеются средства обработки как скаляра.
Function obr (S:string):string
s1:=obr(S2) │ │
├──────────────┤
│адрес возврата│
├──────────────┤
адрес┌┤смещение │
s │├──────────────┤
└┤сегмент │
├──────────────┤
адрес┌┤смещение │
s1 │├──────────────┤
└┤сегмент │
└──────────────┘
Внутри функции имеется адрес параметра S, по которому записана ис-
ходная строка и адрес переменной S1, в которой записывается результирую-
щая строка, выходной параметр stroka возвращается автоматически.
3. Функция открытия файла ah=3dh int 21h.Алгоритм работы, пример использования.
Процедура открытия файла(reset(f)
Функция открытия файла ah=3d открывает файл для работы в трех ре-
жимах, которые будем рассматривать как три операции работы с файлами.
Open_f proc near
;Процедура открытия файла. Режим работы с файлом определяется
;значением регистра al.
; | 0 - только чтение
; al= < 1 - только запись
; | 2 - чтение/запись
;Для обращения к процедуре используются операторы:
;----------------------mov al,<код режима работы>
;----------------------lea dx,Name_file;
;----------------------call Create_f
;----------------------mov fILE_nom,ax ; запомнить номер файла
push dx
push ax ;сохраняем код режима
mov ah,3dh
int 21h
jnc Op_ret
pop dx ;восстанавливаем код режима
and dx,0ffh ;и формируем код одной из трех операций
add dx,2 ; 'открыть файл для чтения'
; 'открыть файл для записи'
; 'открыть файл для чтения/записи'
push ax ;Код ошибки
push dx ; Погружаем код операции в стек
call Er_IO
Op_ret: pop dx
pop dx
ret
Open_f endp