рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Определение объема оперативной памяти

Определение объема оперативной памяти - раздел Компьютеры, Практическая работа №1 Архитектура ЭВМ и вычислительных систем Методика Определения Объема Памяти - Такая Же, Как И Определения Списка Обору...

Методика определения объема памяти - такая же, как и определения списка оборудования. Объем ОЗУ (в Кбайтах) находится в области памяти BIOS по адресу 0040:0013 (2-байтное слово) и может быть получен при помощи прерывания 0x12, как это показано в следующем примере.

/*== ПРИМЕР 3 ==*//*======== Определение объема оперативной памяти =========*/#include <dos.h>main() { union REGS rr; /* Прерывание 0x12 возвращает его в регистре AX */ int86(0x12,&rr,&rr); printf("Объем памяти по прерыванию 12 - %d Кбайтn", rr.x.ax); /* То же число можно получить чтением из 0040:0012 */ printf("Объем памяти из данных BIOS - %d Кбайтn", peek(0x40,0x13));}

Для AT объем ОЗУ может быть также прочитан из регистров 0x15 (младший байт) и 0x16 (старший байт) CMOS-памяти. Кроме того, в AT может быть еще и расширенная (extended) память сверх 1 Мбайта (в AT она используется только для виртуальных дисков). Ее объем можно получить из регистров 0x17 (младший байт) и 0x18 (старший байт), или из регистров 0x30 (младший байт) и 0x31 (старший байт) или по функции 0x88 прерывания 0 x15.

/*== ПРИМЕР 4 ==*//*======= Определение характеристик памяти для AT ========*/#include <dos.h>union REGS rr;main() { unsigned char f, f1; printf("Объем основной памяти - "); outportb(0x70,0x15); f=inportb(0x71); outportb(0x70,0x16); f1=inportb(0x71); printf("%d Кбайтn",(f1<<8)|f); printf("Объем extended памяти - "); outportb(0x70,0x17); f=inportb(0x71); outportb(0x70,0x18); f1=inportb(0x71); printf("%d Кбайтn",(f1<<8)|f); printf("Объем extended памяти - "); outportb(0x70,0x30); f=inportb(0x71); outportb(0x70,0x31); f1=inportb(0x71); printf("%d Кбайтn",(f1<<8)|f); printf("Объем extended памяти - "); rr.h.ah=0x88; int86(0x15,&rr,&rr); printf("%d Кбайтn",rr.x.ax); }}

Определение версии DOS

Эта операция необходима, так как средства и структуры данных DOS могут существенно меняться от версии к версии. Функция DOS 0x30 возвращает в регистре AL старшее число номера версии, а в AH - младшее число.

/*== ПРИМЕР 5 ==*//*================ Определение версии DOS ================*/#include <dos.h>union REGS rr;main() { rr.h.ah=0x30; intdos(&rr,&rr); printf("Версия MS-DOS %d.%dn",rr.h.al,rr.h.ah);}

 

Задание: Составить программу проверки состава оборудования ПК

Порядок выполнения работы:

1. Ввести и откомпилировать приведенную выше программу.

2. Прокомментировать каждое предложение программы

 

Контрольные вопросы:

1. Назначение BIOS

2. По какому адресу BIOS формирует список оборудования ПК?

3. Как определить тип ПК?

 

Практическая работа №6

Архитектура ЭВМ и вычислительных систем

Тема: Программирование и отладка программ

Цель работы: Знакомство со средой Turbo Assembler. Изучение работы программ tasm, tlink. Отладка программы в среде Turbo Debugger.

Средства: Программы tasm, tlink, Turbo Debugger

Литература:

Юров В.И. Assembler. Практикум. – Спб.: Питер, 2001 г.

Краткие теоретические сведения:

Создание новой программы

 
 

 

 


 

Рис. 1.1 Редактирование, ассемблирование, компоновка и выполнение.

Для ассемблирования файла HELLO.ASM наберите: TASM hello, и нажмите клавишу Enter. Если вы не задали другое имя, файл HELLO.ASM будет ассемблирован в файл HELLO.OBJ. (Заметим, что расширение имени файла вводить не требуется. Турбо Ассемблер подразумевает в этом случае, что файл имеет расширение .ASM.) На экране вы увидите следующее:

 

Turbo Assembler Version 3.0 Copyright (C) 1988,1991 (1)

by Borland International Inc.

Assembling file: HELLO.ASM (2)

Error messages: None (3)

Warning messages: None (4)

Passes: 1 (5)

Remaining memory: 266K (6)

1 - Турбо Ассемблер, версия 3.0; авторские права фирмы Borland, 1991 г.;

2 - ассемблирован файл HELLO.ASM;

3 – сообщения об ошибках: нет;

4 - предупреждающие сообщения: нет;

5 – число проходов: 1;

6 - остается памяти: 266К

Для компоновки программы используется программа TLINK, представляющая собой поставляемый вместе с Турбо Ассемблером компоновщик. Введите командную строку: TLINK HELLO

Здесь опять не требуется вводить расширение имени файла. Компоновщик TLINK по умолчанию предполагает, что этим расширением является расширение .OBJ. Когда компоновка, компоновщик автоматически присвоит файлу с расширением .EXE имя, совпадающее с именем вашего объектного файла (если вы не определили другое имя). При успешной компоновке на экране появляется сообщение:

Turbo Linker Version 3.0 Copyright (c) 1988, 1991 by Borland

International Inc.

Задание:

Составить программу вывода на экран слова «Привет!».

Порядок выполнения работы:

1. Составить алгоритм программы

2. По алгоритму написать листинг программы

3. Скопмпонаовать ЕХЕ программу

4. Отладить в TurboDebuger.

Контрольные вопросы:

  1. Пример регистровой адресации
  2. Что такое прерывание?
  3. Какие команды вы использовали в программе и почему?
  4. Как вызвать функцию вывода на экран прерывания DOS?
  5. Функция выхода из программы, её параметры

 

Практическая работа №7

Архитектура ЭВМ и вычислительных систем

Тема: Программирование арифметических и логических операций

Цель работы: Изучить арифметические и логические команды языка Ассемблера

Средства: Turbo Assembler, Turbo Debuger

Литература:Юров В.И. Assembler. Практикум. – Спб.: Питер, 2001 г

Краткие теоретические сведения:

– Конец работы –

Эта тема принадлежит разделу:

Практическая работа №1 Архитектура ЭВМ и вычислительных систем

Архитектура ЭВМ и вычислительных систем... Тема Выполнение операций сложения и вычитания в обратном и дополнительном... Цель работы Научиться производить операции сложения и вычитания в дополнительных и обратных кодах...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Определение объема оперативной памяти

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Особенности сложения чисел в обратном и дополнительном кодах.
При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается. При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде п

Числа с фиксированной точкой.
Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования ЭВМ было определено, сколько и какие разряды машинного слова

Числа с плавающей точкой.
Для представления чисел с плавающей точкой (ЧПТ) используется полулогарифмическая форма записи числа: N = ± mq ± p где q- основание системы счисления,

Умножение двоичных чисел
Применительно к двоичной ПСС наиболее известны следующие основные способы выполнения операций умножения: умножение начиная с младших разрядов множителя:

Проверка состава оборудования
В программе, предназначенной для тиражирования, очень важной характеристикой является переносимость. Поскольку ПЭВМ разных пользователей могут иметь существенные отличия в конфигурации оборудования

Тип ПЭВМ
В конце ПЗУ BIOS по адресу FF00:0FFE записан байт типа ПЭВМ. Специфицированы следующие 4 значения этого байта для машин фирмы IBM: 0xFF - IBM PC; 0xFE - XT; 0xFD - PCjr; 0xFC - AT. Для ПЭВМ других

Состав оборудования
Опеределять состав оборудования следует только после того, как мы определили тип ПЭВМ. Это обусловлено тем, что способы получения информации о составе оборудования различны для XT и для AT. Рассмот

Команды сложения и вычитания
В ПК имеется несколько команд сложения и вычитания. Основными из них являются следующие: Сложение: ADD op1, op2Вычитание (subtract): SUB op1, op2 В этих к

Команды умножения
Если сложение и вычитание беззнаковых и знаковых чисел производятся по одним и тем же алгоритмам, то умножение чисел этих двух классов выполняется по разным алгоритмам, в связи с чем в ПК имеются д

Команды деления
Как и умножение, деление чисел без знака и со знаком также реализуется двумя командами: Деление целых без знака (divide): DIV ор Деление целых со знаком (integer

Изменение размера числа
Рассмотрим такую задачу. Пусть к числу из регистра ВХ надо прибавить число из регистра AL: BX:=BX+AL. Здесь требуется сложить слово с байтом, но в ПК нет команды сложения слова с байтом. Поэтому, п

Расширение байта до слова(convert byte to word): CBW
У этой команды местонахождение операнда и результата фиксировано: операнд всегда берется из AL, а результат всегда записывается в АХ. Команда записывает в регистр АН число 00h или 0FFh в зависимост

Логические команды
Логическим командам, которые, как следует из их названия, выполняют логические операции - отрицание, конъюнкцию и дизъюнкцию, присущ ряд общих черт. Во-первых, все они реализуют, как говор

Ор1 ор2
r8 i8, r8, m8 m8 i8,r8 r16 il6, rl6, ml6 m16 il6, rl6 Команда производит поразрядное логическое умножение операндов и записы-вает результат на место первого опер

Проверка: TEST opl,op2
Это аналог команды AND, но результат логического умножения никуда не записывается. Главное в команде TEST - установка флагов. Как уже было сказано, в логических командах интерес представляет только

Исключающее ИЛИ (exclusive OR): XOR opl,op2
Допустимые типы операндов - как в команде AND. И здесь результат записывается на место первого операнда, причем i-й бит результата равен 0, если i-e биты операндов совпадают, и равен 1, ес

Прямой переход
В данном случае в качестве ор указывается метка той команды, на которую надо передать управление: JMP <метка> Пример: JMP L ;следующей будет выполняться команда с м

Косвенный переход
Теперь рассмотрим другую разновидность безусловного перехода - косвенный переход. В этом случае в команде перехода указывается не сам адрес перехода, а то место, где находится этот адрес. Таким мес

Команды сравнения и условного перехода
Если переход осуществляется только при выполнении некоторого условия и не осуществляется в противном случае, то такой переход называется условным. Условный переход обычно реализуется в два шага: сн

Команды управления циклом
С помощью команд перехода можно реачизовать любые разветвления и циклы. Например, следующие операторы языка Паскаль а) if X>0 then S1 else S2 б) while X>0 do S в) r

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги