Учебники

Сборка — Введение

Каждый персональный компьютер имеет микропроцессор, который управляет арифметическими, логическими и управляющими действиями компьютера.

Каждое семейство процессоров имеет свой собственный набор инструкций для обработки различных операций, таких как получение ввода с клавиатуры, отображение информации на экране и выполнение различных других заданий. Этот набор инструкций называется «инструкции машинного языка».

Процессор понимает только инструкции машинного языка, которые представляют собой строки 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 на следующий адрес памяти.

Вступление

х: адрес памяти

Когда процессор получает числовые данные из памяти для регистрации, он снова переворачивает байты. Есть два вида адресов памяти —

Абсолютный адрес — прямая ссылка на конкретное место.

Адрес сегмента (или смещение) — начальный адрес сегмента памяти со значением смещения.