Принцип работы транслятора. Исследование формата данных объектного файла шестнадцатиразрядной системы DOS для последующего преобразования его в файл программы. Используемые директивы и команды ассемблера. Алгоритмы программы и таблицы компилятора.
ADC, JE, NEG, SHL, INC и кроме того команды MOV, INT. datas segment; сегмент данных a1 dw 1001h; a1, a2, b1, b2 - исходные данные a2 dw 10h; с1, с2 - результат b1 dw 0abcdh b2 dw 20h c1 dw 0 c2 dw 0 vix dw 4c00h; 4ch - ф-ция выхода, 00h - код возврата datas ends codes segment start: assume cs:codes, ds:datas mov ax, datas mov ds, ax mov ax, a1; Команда INT выполняет следующее: 1) уменьшает значение SP на 2 и заносит в стек флаговый регистр, сбрасывает флаги IF и TF; 2) уменьшает значение SP на 2 и заносит регистр CS в стек, старшее слово из вектора прерывания помещает в регистр CS; 3) уменьшает значение SP на 2 и заносит регистр IP в стек, младшее слово из вектора прерывания помещает в регистр IP. Операция: Пересылает один байт или одно слово между регистрами или между регистром и памятью, а также передает непосредственное значение в регистр или в память. symt symtab[10]; // таблица меток void stk2pol (char st[80], char pol[4] [8]); // разбиение строки на поля char findop (char op[8]); // поиск мнемокода в OPTAB char op2code (char nmb, char dis, char pol[4] [8], char code[4]); // на входе мнемокод, на выходе длинна команды и объектный код char findreg (char reg[8]); // поиск обознач. регистра в REGTAB char findsegr (char reg[8]); // поиск обознач. сег. регистра в SEGRTAB char findsym (char sym[8]); // поиск метки в SYMTAB int str2num (char str[8]); // перевод строки в соотв.
Список литературы
1. Абель П. Ассемблер и программирование для IBM PC. Технологический институт Британская Колумбия.
2. Журден Р. Справочник программиста на персональном компьютере фирмы IBM.
3. Зубков С.В. Assembler для DOS, Windows и Unix. - М.: ДМК Пресс, 2000. - 608 с.: ил. (Серия для программистов).
Размещено на
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы