- •Глава 1. Предисловие Основные принципы построения вычислительных машин и систем
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Уровни детализации структуры вычислительной машины
- •Принципы построения вычислительной машины
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структура фон-неймановской архитектуры вычислительной машины
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Перспективы совершенствования архитектуры вм и вс
- •Технологические и экономические аспекты
- •Тенденции развития больших интегральных схем
- •Перспективные направления исследований в области архитектуры
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Аудиоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Код с исправлением ошибок
- •Коды Хемминга
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Сумматоры
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Архитектура и набор команд.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Арбитраж шин
- •Принципы работы шины
- •Глава 3 Функциональная организация фон - неймановской вычислительной машины
- •Функциональная схема фон-неймановской вычислительной машины
- •Узлы уу
- •Узлы алу
- •Основная память.
- •Модуль ввода/вывода
- •Цикл команды.
- •Пример выполнения программы.
- •Система прерываний.
- •Глава 4. Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Блочная организация основной памяти
- •Организация микросхем памяти
- •Режимы работы памяти.
- •Основные запоминающие устройства
- •Стековая память
- •Ассоциативная память
- •Полностью ассоциативная кэш-память.
- •Постоянное запоминающее устройство
- •Виртуальная память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти.
- •Внешняя память
- •Магнитные диски
- •Оптическая память
- •Магнитные ленты
- •Глава 5 Язык Ассемблер
- •Структура программы на языке Ассемблер
- •Основные типы операндов
- •Типы операторов
- •Режимы адресации
- •Директивы ассемблера
- •Инструкции пересылки данных и двоичной арифметики
- •Запись программ на языке Ассемблер
- •Пример вычисления арифметического выражения
- •Циклические и разветвляющиеся программы
- •Примеры использования операторов переходов и цикла при работе с массивами чисел
- •Применение логических инструкций
- •Логические инструкции
- •Примеры использования логических команд
- •Пример выполнения работы
- •Обработка символьной информации с помощью функций dos
- •Программные прерывания и системные вызовы
- •Описание функций работы с клавиатурой и дисплеем диспетчера функций ms dos
- •Функции 01н
- •Функции 02н
- •Функция 09н
- •Функция оан
- •Функция 0Bh
- •Пример выполнения работы
- •Глава 6 Типы вычислительных систем и их архитектурные особенности
- •Классификация вычислительных платформ и архитектур
- •Классификация Флинна.
- •Классификация Хокни
- •Классификация Хэндлера
- •Параллелизм и конвейеризация вычислений. Параллелизм на уровне команд
- •Конвейеры
- •6.2.2 Суперскалярная архитектура.
- •Мультипроцессоры с памятью совместного использования.
- •Основные классы вс
- •Машины класса simd
- •Машины класса mimd
- •Основные направления развитие архитектуры вычислительных машин
- •Суперспекулятивная архитектура
- •Трассирующая архитектура
- •Многопотоковый процессор
- •Многоядерная архитектура
- •«Плиточная» архитектура
- •Многоэтажная архитектура
- •Оптическая (фотонная) архитектура
- •Квантовая архитектура
- •Нейроархитектура
Примеры использования операторов переходов и цикла при работе с массивами чисел
Дан массив из десяти слов, содержащих целые числа. Требуется найти максимальное значение в массиве. Одно слово занимает 2 байта.
Текст программы:
.model small
.data
max dw ?
mass dw 10,24,76,479,-347,281,-24,70,124,97
.stack 100h
.code
start: mov ax, @data
mov ds, ax ; Загрузить сегментный адрес данных
lea bx, mass ; Загрузить адрес смещения массива
mov cx, 10 ; Установить счетчик повторений цикла,
;счетчик равен количеству элементов массива
mov ax, [bx] ; Первый элемент массива в Аккумулятор
beg: cmp [bx], ax ; Сравнить текущий элемент массива с
;максимальным
jl no ; он меньше
mov ax, [bx] ; он больше или равен
no: inc bx ; Следующий элемент массива находится
inc bx ; со смещением в два байта, bx увеличивается на 2
loop beg
mov max, ax
quit: mov ax,4C00h ; Код завершения 0
int 21h ; Выход в DOS
end start
Заменить все отрицательные числа нулями. Массив байт.
.model small
.data
mass db 1,2,7,-4,-34,28,-24,7,12,9
.stack 100h
.code
start: mov ax, @data
mov ds, ax ; Загрузить сегментный адрес данных
lea bx, mass ; Загрузить адрес смещения массива
mov cx, 10 ; Установить счетчик повторений цикла
mov al, 0
beg: cmp [bx], al ; Сравнить текущий элемент массива с нулём
jg no ; он больше
mov [bx], al ; обнуление элемента массива
no: inc bx ; Следующий элемент массива
loop beg
quit: mov ax,4C00h ; Код завершения 0
int 21h ; Выход в DOS
end start
Найти сумму абсолютных величин. Массив байт.
.model small
.data
sum db ?
mass db 1,2,7,-4,-3, 8,-2,7,12,9
.stack 100h
.code
start: mov ax, @data
mov ds, ax ; Загрузить сегментный адрес данных
lea bx, mass ; Загрузить адрес смещения массива
mov cx, 10 ; Установить счетчик повторений цикла
beg: mov dl, [bx]
cmp dl, 0 ; Сравнить текущий элемент массива с нулём
jg no ; он больше
neg dl ; изменение знака элемента массива
no: add sum,dl
inc bx ; Следующий элемент массива
loop beg
quit: mov ax,4C00h ; Код завершения 0
int 21h ; Выход в DOS
end start
В программах достаточно часто используются таблицы для перевода информации из одной системы кодировки в другую, с этой целью используется команда xlat -трансляция байтов из таблицы. Эта команда предполагает загрузку на bx -адрес таблицы пересчёта, на al возвращается код числа.
; таблица пересчёта символьного кода числа в 16-ный,
tab1 db 48 dup(0),0,1,2,3,4,5,6,7,8,9, 7 dup(0),0ah
db 0bh,0ch,0dh,0eh,0fh, 26 dup(0)
db 0ah,0bh,0ch,0dh,0eh,0fh, 153 dup(0)
;таблица пересчёта из 16-ой цифры в ASCII код
tab2 db “0123456789ABCDEF”
Пример перевода введённого символа в 16-ый код:
mov ah,01h ; ввод с клавиатуры новой цифры
int 21h
mov a,al
lea bx,tab1 ; адрес таблицы пересчётов
xlat
mov b,al ;на al 16-ая цифра
Пример вывода на экран монитора двухзначного числа, записанного на al:
lea bx,tab2 ; адрес таблицы пересчётов
mov b,al ;на al две цифры
shr al,4 ; на al старшая цифра
xlat
mov dl,al
mov ah,02h ; вывод на монитор старшей цифры
int 21h
mov al,b
and al,00001111b ;
xlat
mov dl,al
mov ah,02h ; вывод на монитор младшей цифры
int 21h
