Лабораторная работа №5
.doc
Министерство Образования Российской Федерации
Уфимский Государственный Авиационный Технический Университет
Кафедра Автоматизированных технологических систем
Лабораторная работа № 5
по дисциплине «Вычислительные машины, системы и сети»
НАПИСАНИЕ И ОТЛАДКА УПРАВЛЯЮЩИХ
ПРОГРАММ НА ЯЗЫКЕ АСЕМБЛЕР
Выполнила: студентка гр. АТП-3ХХ
К. Г.
Проверил: Никитин Ю. А.
Уфа 2006
НАПИСАНИЕ И ОТЛАДКА УПРАВЛЯЮЩИХ
ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕР
1. Цель работы:
Дальнейшее углубление знаний микропроцессора. Изучить назначение и взаимодействие регистров, ячеек памяти, а также кодов в процессе трассировки программ, написанных с использованием языка программирования Ассемблер. Изучение работы подпрограмм, стековой памяти. Определение технических возможностей разработанных управляющих программ.
2. Теоретическая часть
Программа на языке Ассемблер вводится в ПЭВМ с использованием любого текстового редактора, транслируется в машинный код с помощью Турбоассемблера TASM и компоновщика TLJNK (фирмы Borland), либо с помощью Макроассемблера МАСМ, компоновщика LINK и преобразователя EXE2BIN.COM(фирмы Microsoft). Отладка программ производится с помощью программы-отладчика DEBUG.
Отлаженная программа должна рисовать на экране дисплея траекторию движения в соответствии с заданными параметрами движения режущего инструмента на станке.
СТРУКТУРА ПРОГРАММЫ на языке Ассемблер для создания СОМ-файла.
Все имена задавать на латыни. Численные значения можно задавать с использованием десятичного или шестнадцатеричного исчисления. В последнем случае после числа вставлять символ Н.
Имя_сегмента SEGMENT
ASSUME CS: Имя_сегмента;Assume - принять на себя:
;Хранить имя сегмента в регистре CS. ORG 100H ;Origin - начало (с ячейки №100Н) .
Метка: JMP Главная ;Метка: - начало данной программы.
;Определение переменных: X DW 100 ;Define Word(Byte) - Установить Слово
;(для переменной X).Начальное значение=100.
;Еще переменные
Главная PROC ;имя_процедуры PROC.
;ассемблерные инструкции
CALL Подпрограмма
;ассемблерные инструкции
RET ; Возврат в запустившую программу.
Главная ENDP ; конец указанной процедуры
Подпрограмма PROC ; Процедура с именем "Подпрограмма"
;Тело подпрограммы
RET ;Возврат в вызвавшую процедуру
Подпрограмма ENDP
Имя сегмента ENDS ;Конец записи в указанный сегмент.
END Метка ;Конец программы.
3. Выполнение работы.
3.1.Создание машинного кода.
1)Используя редактор NC(Shift+F4) или EDIT создать новый файл с расширением ASM. Набрать программу на языке Ассемблер.
2)Создание объектного кода с использованием TASM, а затем машинного кода:
tasm.exe name.asm -получим name.obj
tlink.exe/t name.obj -получим name.com.
При использовании макроассемблера MASM работа выполняется в 3 этапа:
masm.exe name.asm; -получим name.obj
link.exe name.obj; -получим name.exe
exe2bin.exe name.exe name.com -получим name.com.
3)3апустить СОМ- программу.
4)Если при выполнении указанных работ будут обнаруживаться синтаксические ошибки, следует их устранять.
5)Если полученная СОМ - программа не дает правильный результат, следует проверить:
правильность используемого алгоритма расчета,
правильность программы.
3.2. Текст программы.
Interpol segment
Assume cs: Interpol
Org 100H
Begin: JMP GLAV
X DW 0
Y DW 0
X1 DW 100
Y1 DW 100
F DW 0
GLAV PROC
MOV AH,0
MOV AL,10H
INT 10H
MOV AX,X1
MOV BX,Y1
MOV CX,X
MOV DX,Y
MOV SI,F
M1: CMP SI,0
JGE M2
ADD DX,1
JMP M3
M2: ADD DX,1
SUB SI,BX
M3: CALL PIXEL
CMP CX,BX
JL M1
RET
GLAV ENDP
PIXEL PROC
PUSH AX
PUSH BX
MOV BX,0
MOV AH,0CH
MOV AL,0AH
INT 10H
POP BX
POP AX
RET
PIXEL ENDP
INTERPOL ENDS
END BEGIN
Вывод
В данной работе мы ознакомились с программным обеспечением, разработанным для создания и отладки программ с использованием языка Ассемблера. Мы создали и отладили программу вывода на дисплей траектории движения в соответствии с заданными параметрами движения режущего инструмента на станке.