20.59M
Category: programmingprogramming

Архитектура ВС

1.

Архитектура ВС
Ассемблер - язык, на котором давно
никто не пишет обыденные
программы, но язык, который делает
обыденного программиста
профессионалом!!!
Лекция 7

2.

Повторение
• в предыдущих лекциях мы разобрали:
Зуев Евгений Александрович
• https://youtu.be/T70qJndjYi0

3.

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

4.

Внутреннее устройство типичного
процессора

5.

Рассмотрим схему 8-разрядного МП.

6.

ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
• Сделать конспект по видео
:
https://youtu.be/PHyIP9g9BQw?si=O_BsbnBln3AILn4_

7.

8.

9.

https://youtu.be/PHyIP9g9BQw?si=O_BsbnBln3AILn4_

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

Форматы команд
• Команда состоит из кода операции и некоторой
дополнительной информации, позволяющей узнать,
например, откуда поступают операнды и куда
должны отправляться результаты.
• Процесс определения, где находятся операнды (то
есть их адреса), называется адресацией. На рис. 5.5
показано несколько возможных форматов команд
уровня архитектуры набора команд.
• Команды всегда содержат код операции. В команде
могут присутствовать ни одного, один, два или три
адреса.

30.

Форматы команд
уровня архитектуры набора команд
• Команды всегда содержат код операции. В команде могут
присутствовать ни одного, один, два или три адреса.

31.

Подготовка к контрольной работе
1. Зайти на сайт: http://av-assembler.ru/assembler.htm
2. Используя подробные описания инструкций
процессоров Интел :
http://av-assembler.ru/instructions/
разобрать пять команд Ассемблера.
Пример см. на сл. слайде

32.

Пример разбора команд:
1. Выбрать команду, например: ADD;
2. Просмотреть видео;

33.

3. Разобрать фрагмент кода.
(Пример использования инструкции ADD):
MOV AL, 5 ; AL = 5
ADD AL, -3 ; AL = 2
Команда ADD в зависимости от результата выполнения может изменять
все основные флаги, а именно:
•CF - флаг переноса. Этот флаг может быть изменён, например, при
переполнении.
•ZF - флаг нуля. Этот флаг будет установлен, если результатом сложения
будет ноль
•SF - флаг знака. Этот флаг будет установлен, если результатом сложени
будет отрицательное число.
•OF - флаг переполнения. Этот флаг будет установлен в случае
переполнения (то есть когда результат не помещается в СУММУ значение слишком большое).
•PF - флаг чётности. Этот флаг устанавливается в довольно сложных
случаях (для начинающих это пока лишнее), поэтому подробно
рассказывать не буду.
•AF - вспомогательный флаг переноса. Для новичков это тоже лишнее.
Если информация о флагах вас не удовлетворила, то посмотрите видео
и/ли купите уже наконец нормальную книгу по Ассемблеру.
Эту книгу мы знаем!) Какая?

34.

35.

36.

37.

38.

39.

40.

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

52.

53.

54.

55.

56.


Компиля́тор — программа или техническое средство, выполняющее компиляцию.
Компиля́ция — трансляция программы, составленной на исходном языке высокого
уровня, в эквивалентную программу на низкоуровневом языке, близком машинному
коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной
информацией для компилятора (исходный код) является описание алгоритма или
программа на предметно-ориентированном языке, а на выходе компилятора —
эквивалентное описание алгоритма на машинно-ориентированном языке (объектный
код). Википедия
Интерпрета́тор — программа (разновидность транслятора), выполняющая
интерпретацию.
Интерпрета́ция — пооператорный (покомандный, построчный) анализ, обработка и тут
же выполнение исходной программы или запроса (в отличие от компиляции, при
которой программа транслируется без её выполнения).
Таким образом, можно заключить, что компилятор преобразует исходный код к
близкому к машинному коду. Интерпретатор же, позволяет выполнять некоторое
представление программы, налету преобразуя в машинный код.
Если взять язык java, то он имеет, как компилятор, так и интерпретатор. Компилятор
преобразует исходный код в байткод. А байткод в начальной стадии выполнения
программы обрабатывается интерпретатором.
Компилятор, это отдельная программа javac, интерпретатор же встроен в jvm. Помимо
обычного компилятора, в jvm присутствует just-in-time компиляция. т.к. интерпретация
довольно медленна, то горячие места в программе компилируются в машинный код jit
компилятором, тем самым ускоряя выполнение.

57.

Домашнее задание
Компилятор и интерпретатор- в чем отличие?
1. Рекомендовано к просмотру:
Пишем ОС на Ассемблере + C | Часть 1 Загрузчик
https://youtu.be/9KrZRvJsOeo
• Пишем свою собственную операционную систему с нуля (bootloader + tiny kernel)
https://github.com/thedenisnikulin/os-project/
Как устроена Windows? [Выпуск 1] MBR и Загрузчик ОС, Начальный этап загрузки.
https://youtu.be/aPvlPZIbezg
English     Русский Rules