|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Архитектура компьютера. Пензенский государственный университет
Пензенский государственный университет Кафедра: компьютерных технологий
Отчет о выполнении лабораторной работы №1 «Работа процессора в линейных программах» По дисциплине Архитектура компьютера
Выполнил: студент группы 11ФПИ-1
Данилин А. В. ______________
Проверил: к. т. н. Абрамов И. А.
Подпись ______________
г. Пенза, 2013 Цель работы: изучения способов адресации и арифметико-логических и посылочных операций. Задание: Составить программу вычисления по формуле Y=A-B-(C+3). Операнды и результат разместить в памяти. Один из операндов A, B, C адресовать, используя базовую адресацию, остальные – базовую со смещением, константу адресовать непосредственно, результат прямо. Значения операндов: A=8, B=-8, C=15. Все операнды имеют тип данных word.
Описание программы: Листинг программы Ideal;режим работы TASM ideal P386N;директива P386N * Model small;модель памяти small Dataseg;сегмент данных A DW 8 B DW -8 C DW 15 Y DW? Codeseg;сегмент кода start:;начинается со start MOV AX,@data;адрес сегмента данных в регистр AX MOV DS,AX;AX в DS LEA BX,[A];загружаем базовую адресацию по A MOV AX,[BX+4];присваиваем регистру AX значение C, используя базовую адресацию со смещением ADD AX,3; к AX прибавляем 3 (по формуле (C+3)) MOV CX,[BX]; присваиваем регистру CX значение A, используя базовую адресацию со смещением SUB CX,[BX+2];из CX вычитаем B (A-B по формуле) SUB CX,AX;из CX вычитаем AX по формуле A-B-(C+3) MOV [Y],CX;присваиваем получившийся результат непосредственно Y MOV AX,4C00h;пересылка 4c00h в регистр AX INT 21h; вызов прерывания с номером 21h stack 100;размер стека 100 байт End start;конец сегмента кода
* - Директива P386N разрешает ассемблирование непривилегированных (реальный режим) инструкций процессора 386 и инструкций арифметического сопроцессора 80387. Анализ результатов: Результат вычислений произведенных в программе представлен на рис. 1 в окне дампа памяти, внутреннем окне инетрактивного отладчика TD по адрессу DS:0008 записано значение Y в шестнадцатеричной системе счисления равное FFFE.
Рис. 1. Скриншот окна процессора в интерактивном отладчике TD Произведем проверку: Y=A-B-(C+3) A = 8 B = -8 C = 15 Y= 8 – (-8) – (15 + 3) Y= -2 -2 переведем в шестнадцатеричную систему счисления, получаем FE при размере данных 1 байт. Тип данных используемых в программе – word (размер 2 байта). То есть FE = FFFE. Вычисления верны.
Вывод: Результат работы программы совпадает с ручными вычислениями. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |