Каждый персональный компьютер имеет микропроцессор, который управляет арифметическими, логическими и управляющими действиями компьютера.
Каждое семейство процессоров имеет свой собственный набор инструкций для обработки различных операций, таких как получение ввода с клавиатуры, отображение информации на экране и выполнение различных других заданий. Этот набор инструкций называется «инструкции машинного языка».
Процессор понимает только инструкции машинного языка, которые представляют собой строки 1 и 0. Однако машинный язык слишком неясен и сложен для использования при разработке программного обеспечения. Таким образом, низкоуровневый ассемблер разработан для определенного семейства процессоров, которые представляют различные инструкции в символическом коде и в более понятной форме.
Преимущества ассемблера
Знание языка ассемблера позволяет понять:
- Как программы взаимодействуют с ОС, процессором и BIOS;
- Как данные представлены в памяти и других внешних устройствах;
- Как процессор обращается к инструкции и выполняет ее;
- Как инструкции обращаются и обрабатывают данные;
- Как программа обращается к внешним устройствам.
Другие преимущества использования ассемблера —
-
Это требует меньше памяти и времени выполнения;
-
Это упрощает сложные аппаратные задачи;
-
Подходит для срочных работ;
-
Он наиболее подходит для написания подпрограмм обработки прерываний и других резидентных программ.
Это требует меньше памяти и времени выполнения;
Это упрощает сложные аппаратные задачи;
Подходит для срочных работ;
Он наиболее подходит для написания подпрограмм обработки прерываний и других резидентных программ.
Основные характеристики аппаратного обеспечения ПК
Основное внутреннее оборудование ПК состоит из процессора, памяти и регистров. Регистры являются компонентами процессора, которые содержат данные и адрес. Для выполнения программы система копирует ее с внешнего устройства во внутреннюю память. Процессор выполняет инструкции программы.
Фундаментальная единица компьютерного хранения — немного; это может быть ВКЛ (1) или ВЫКЛ (0). Группа из девяти связанных битов составляет байт, из которых восемь бит используются для данных, а последний используется для контроля четности. Согласно правилу четности, количество битов, которые включены (1) в каждом байте, всегда должно быть нечетным.
Таким образом, бит четности используется для того, чтобы сделать количество битов в байте нечетным. Если четность четная, система предполагает, что произошла ошибка четности (хотя и редкая), которая могла быть вызвана неисправностью оборудования или электрическими помехами.
Процессор поддерживает следующие размеры данных —
- Word: 2-байтовый элемент данных
- Doubleword: 4-байтовый (32-битный) элемент данных
- Quadword: 8-байтовый (64-битный) элемент данных
- Абзац: 16-байтовая (128-битная) область
- Килобайт: 1024 байта
- Мегабайт: 1 048 576 байт
Двоичная система счисления
В каждой системе счисления используются позиционные обозначения, т. Е. Каждая позиция, в которой записана цифра, имеет различное позиционное значение. Каждая позиция — это мощность базы, которая равна 2 для двоичной системы счисления, и эти мощности начинаются с 0 и увеличиваются на 1.
В следующей таблице приведены позиционные значения для 8-битного двоичного числа, где все биты установлены в положение ON.
Значение бита | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
Значение позиции как степень основания 2 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Номер бита | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Значение двоичного числа основано на наличии 1 бита и их позиционном значении. Таким образом, значение данного двоичного числа —
1 + 2 + 4 + 8 +16 + 32 + 64 + 128 = 255
что так же, как 2 8 — 1.
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления использует основание 16. Цифры в этой системе варьируются от 0 до 15. По соглашению, буквы от A до F используются для представления шестнадцатеричных цифр, соответствующих десятичным значениям с 10 по 15.
Шестнадцатеричные числа в вычислениях используются для сокращения длинных двоичных представлений. По сути, шестнадцатеричная система счисления представляет двоичные данные, деля каждый байт пополам и выражая значение каждого полубайта. В следующей таблице приведены десятичные, двоичные и шестнадцатеричные эквиваленты —
Десятичное число | Двоичное представление | Шестнадцатеричное представление |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | |
11 | 1011 | В |
12 | 1100 | С |
13 | 1101 | D |
14 | 1110 | Е |
15 | 1111 | F |
Чтобы преобразовать двоичное число в его шестнадцатеричный эквивалент, разбейте его на группы по 4 последовательные группы в каждой, начиная справа, и запишите эти группы поверх соответствующих цифр шестнадцатеричного числа.
Пример — двоичное число 1000 1100 1101 0001 эквивалентно шестнадцатеричному — 8CD1
Чтобы преобразовать шестнадцатеричное число в двоичное, просто запишите каждую шестнадцатеричную цифру в ее 4-значный двоичный эквивалент.
Пример — шестнадцатеричное число FAD8 эквивалентно двоичному — 1111 1010 1101 1000
Двоичная арифметика
Следующая таблица иллюстрирует четыре простых правила для двоичного сложения —
(я) | (II) | (III) | (IV) |
---|---|---|---|
1 | |||
0 | 1 | 1 | 1 |
+0 | +0 | +1 | +1 |
= 0 | = 1 | = 10 | = 11 |
Правила (iii) и (iv) показывают перенос 1 бита в следующую левую позицию.
пример
Десятичный | двоичный |
---|---|
60 | 00111100 |
+42 | 00101010 |
102 | 01100110 |
Отрицательное двоичное значение выражается в двоичной записи . Согласно этому правилу преобразовать двоичное число в его отрицательное значение означает инвертировать его битовые значения и добавить 1 .
пример
Номер 53 | 00110101 |
Поменять местами | 11001010 |
Добавить 1 | 0000000 1 |
Номер -53 | 11001011 |
Чтобы вычесть одно значение из другого, преобразуйте вычитаемое число в формат дополнения до двух и добавьте числа .
пример
Вычтите 42 из 53
Номер 53 | 00110101 |
Номер 42 | 00101010 |
Обратный бит 42 | 11010101 |
Добавить 1 | 0000000 1 |
Номер -42 | 11010110 |
53 — 42 = 11 | 00001011 |
Переполнение последнего 1 бита потеряно.
Адресация данных в памяти
Процесс, посредством которого процессор управляет выполнением инструкций, называется циклом выборки-декодирования-выполнения или циклом выполнения . Он состоит из трех непрерывных шагов —
- Извлечение инструкции из памяти
- Расшифровка или идентификация инструкции
- Выполнение инструкции
Процессор может одновременно обращаться к одному или нескольким байтам памяти. Давайте рассмотрим шестнадцатеричное число 0725H. Для этого числа потребуется два байта памяти. Байт старшего разряда или старший значащий байт — 07, а младший байт — 25.
Процессор хранит данные в последовательности обратных байтов, то есть байт младшего разряда сохраняется в адресе с низким объемом памяти, а байт старшего разряда в адресе с высоким объемом памяти. Таким образом, если процессор переносит значение 0725H из регистра в память, он сначала перенесет 25 на нижний адрес памяти и 07 на следующий адрес памяти.
х: адрес памяти
Когда процессор получает числовые данные из памяти для регистрации, он снова переворачивает байты. Есть два вида адресов памяти —
Абсолютный адрес — прямая ссылка на конкретное место.
Адрес сегмента (или смещение) — начальный адрес сегмента памяти со значением смещения.