Вычислительные машины,
Системы и сети
Лабораторная работа №2
Тема: Организация функционирования МП
Руководитель:
_____________ Тюрин В.Н.
(подпись)
_____________________________
(оценка, дата)
Выполнили:
Студенты группы 21-02с
_____________ Климов П.В.
_____________ Малаховский Н.Н.
_____________
(подпись)
_____________________________
(дата)
Красноярск, 2013
Лабораторная работа №2
Организация функционирования МП
Цель работы:
1. Изучение программной архитектуры микропроцессора Intel8086
2. Освоение принципов функционирования основных регистров МП 8086
3. Изучение принципов организации оперативной (основной) памяти
4. Изучение принципов размещения и адресации данных в памяти
Задание:
1. В сегменте данных создать таблицу байт TABB размером 4´4 (четыре строки и четыре столбца), содержащую следующие десятичные числа: -24, 55,-56,82,-36,54,-29,83,45, 75,62,-58,76,-42,15,98 2. Переслать положительные элементы в таблицу РTABB, а отрицательные в ОTABB. 1. Переписать данные из таблицы байт РTABB в словную таблицу РTABW в обратном порядке. |
Ход работы
1. Текст программы
.model small
.stack 300h
.data
TABB db -24, 55,-56,82
db -36,54,-29,83
db 45, 75,62,-58
db 76,-42,15,98
PTABB db 10 dup (?)
OTABB db 6 dup (?)
PTABWdw5 dup(?)
.code
beg: movax,@data; Запишем адрес начала сегмента данных
movdx,ax; Запишем адрес начала сегмента данных в dx
moval,TABB; Переносим 1й элемент из ТАВВ в al
movOTABB,al; Переносим alв 1й элемент OTABB
moval,TABB+1; Переносим 2й элемент из ТАВВ в al
movPTABB,al; Переносим alв 1й элемент PTABB
moval,TABB+2; Переносим 3й элемент из ТАВВ в al
movOTABB+1,al; Переносим alв 2й элемент OTABB
moval,TABB+3; Переносим 4й элемент из ТАВВ в al
movPTABB+1,al; Переносим alв 2й элемент PTABB
moval,TABB+4; Переносим 5й элемент из ТАВВ в al
|
movOTABB+2,al; Переносим alв 3й элемент OTABB
moval,TABB+5; Переносим 6й элемент из ТАВВ в al
movPTABB+2,al; Переносим alв 3й элемент PTABB
moval,TABB+6; Переносим 7й элемент из ТАВВ в al
movOTABB+3,al; Переносим alв 4й элемент OTABB
moval,TABB+7; Переносим 8й элемент из ТАВВ в al
movPTABB+3,al; Переносим alв 4й элемент PTABB
moval,TABB+8; Переносим 9й элемент из ТАВВ в al
movPTABB+4,al; Переносим alв 5й элемент PTABB
moval,TABB+9; Переносим 10й элемент из ТАВВ в al
movPTABB+5,al; Переносим alв 6й элемент PTABB
moval,TABB+10; Переносим 11й элемент из ТАВВ в al
movPTABB+6,al; Переносим alв 7й элемент PTABB
moval,TABB+11; Переносим 12й элемент из ТАВВ в al
movOTABB+4,al; Переносим alв 5й элемент OTABB
moval,TABB+12; Переносим 13й элемент из ТАВВ в al
movPTABB+7,al; Переносим alв 8й элемент PTABB
moval,TABB+13; Переносим 14й элемент из ТАВВ в al
movOTABB+5,al; Переносим alв 6й элемент OTABB
moval,TABB+14; Переносим 15й элемент из ТАВВ в al
movPTABB+8,al; Переносим alв 9й элемент PTABB
moval,TABB+15; Переносим 15й элемент из ТАВВ в al
movPTABB+9,al; Переносим alв 10й элемент PTABB
movbx,9; В bxзаписываем 9
movsi,0; В siзаписываем 0
movcx,5; В cxзаписываем 5
go:
moval,PTABB+bx; Переносим из PTABB[bx] в al
movah,PTABB+bx-1; Переносим из PTABB[bx-1] в ah
movPTABW+si,ax; Переносим из axв PTABW[si]
decbx; bx:=bx-1
decbx; bx:=bx-1
inc si; si:=si+1
inc si; si:=si+1
loopgo; Переход на метку 'go' пока cxне станет = 0
movax,4c00h; Функцию DOSзавершения программы в ah.
int21h; Вызов ДОС.
endbeg; Завершить программу. Begin – точка входа.
2. Содержание сегментных регистров.
DS 48DD
ES 48DD
SS 48F9
CS 48ED
3. Содержание IPпоследней команды.
IP 0083
4. Адреса используемых таблиц данных.
TABB – [0000]
OTABB– [001A]
PTABB – [0010]
PTABW – [0020]