Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arkhitektura_EVM.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
466 Кб
Скачать
☆
  1. Машинный код, языки программирования низкого уровня, язык ассемблера, ассемблер

Машинный код – система команд конкретной вычислительной машины (процессора), которая интерпретируется непосредственно процессором. Команда, как правило, представляет собой целое число, которое записывается в регистр процессора. Процессор читает это число и выполняет операцию, которая соответствует этой команде.

Язык программирования низкого уровня (низкоуровневый язык программирования) – это язык программирования, максимально приближенный к программированию в машинных кодах. В отличие от машинных кодов, в языке низкого уровня каждой команде соответствует не число, а сокращенное название команды (мнемоника). Язык низкого уровня привязан к конкретному процессору.

Язык ассемблера – это низкоуровневый язык программирования, на котором вы пишите свои программы. Для каждого процессора существует свой язык ассемблера.

Ассемблер – это специальная программа, которая преобразует (ассемблирует, то есть собирает) исходные тексты вашей программы, написанной на языке ассемблера, в исполняемый файл (файл с расширением EXE или COM).

  1. Debug: ассемблирование и дизассемблирование

Debug — Программа-отладчик, которую используют для проверки и отладки выполняемых файлов. Также иногда называют процесс отладки программы.

Ассемблирование - процесс трансляции программы с языка ассемблера в машинный код

Дизассемблирование - процесс и/или способ получения исходного текста программы на ассемблере из программы в машинных кодах.

  1. Строка в ассемблере, исполняемый файл. Трансляция программ

Строка – в ассемблере это обычный тип данных с которым работает программа, ее ассемблер видит как набор байт.

Исполнимый файл (исполняемый) - это разновидность файла, содержимое которого является готовой к непосредственному исполнению компьютерной программой

Обычно исполняемый файл:

- получается в результате трансляции и компоновки объектных модулей;

- содержит машинные команды и/или команды операционной системы.

Трансляция - преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой

  1. Программы ассемблера для компьютеров с процессором Intel.Типы программ на языке ассемблера

Программы ассемблера для компьютеров с процессорами Intel:

1. Emu8086. Работает в Windows, хотя программы пишутся под DOS.

2. TASM – Турбо Ассемблер от фирмы Borland. Можно создавать программы как для DOS так и для Windows.

3. MASM – Ассемблер от компании Microsoft

4. Debug - обладает скромными возможностями, но имеет большой плюс - входит в стандартный набор Windows (изучен в 1 и 2 лабораторных работах).

Типы:

  • Программа типа COM

  • Программа типа EXE

  1. Средства dos вывода на экран в текстовом режиме

  1. Функция DOS 02h — Записать символ в STDOUT с проверкой на Ctrl-Break

    Ввод:

    АН = 02h

    DL = ASCII-код символа

    Вывод:

    Никакого, согласно документации, но на самом деле: AL = код последнего записанного символа (равен DL, кроме случая, когда DL = 09h (табуляция), тогда в AL возвращается 20h).

  2. Функция DOS 06h — Записать символ в STDOUT без проверки на Ctrl-Break

    Ввод:

    АН = 06h DL = ASCII-код символа (кроме FFh)

    Вывод:

    Никакого, согласно документации, но на самом деле: AL = код записанного символа (копия DL)

  3. Функция DOS 09h — Записать строку в STDOUT с проверкой на Ctrl-Break

    Ввод:

    АН = 09h DS:DX = адрес строки, заканчивающейся символом $ (24h)

    Вывод:

    Никакого, согласно документации, но на самом деле: AL = 24h (код последнего символа)

  4. Функция DOS 40h — Записать в файл или устройство

    Ввод:

    АН = 40h ВХ = 1 для STDOUT или 2 для STDERR DS:DX = адрес начала строки СХ = длина строки

    Вывод:

    CF = 0, АХ = число записанных байт

  5. INT 29h: Быстрый вывод символа на экран

Ввод:

AL = ASCII-код символа

  1. Т ехнология получения исполняемого файла

  1. !Трассировка программы: область применения. Ключи команд трансляции и компоновки

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

  1. Массив, характеристики массива

Массив — это последовательность элементов, доступ к которым осуществляется при помощи целочисленного индекса. Число элементов называется размером, или длиной, массива; способ нумерации описывается одномерным целочисленным массивом, называемым формой массива.

Массив характеризуется типом элементов, числом элементов и способом их нумерации.

  1. Ранг и экстент массива. Сечение массива

Число измерений называется рангом массива; число элементов в измерении называется экстентом массива в данном измерении.

Сечение массива – группа элементов массива. Сечения массива очень эффективное средство, которое позволяет устранить многие циклы и повысить читаемость программы

  1. Индексы массивов, виды массивов, получение адреса элемента в массиве

Индексы всегда следуют по порядку, и поэтому очевидным является использование «циклов» для работы с массивами. В языке ассемблера индексы массивов — это обычные адреса, но с ними работают особым образом. Другими словами, когда при программировании на ассемблере мы говорим об индексе, то, скорее, подразумеваем под этим не номер элемента в массиве, а некоторый адрес.

Массивы, доступ к элементам которых осуществляется при помощи одного индекса, называются одномерными массивами или векторами. Двухмерные массивы.

Адрес элемента: необходимо начальный (базовый) адрес массива сложить с произведением индекса (номер элемента минус единица) этого элемента на размер элемента массива: база + (индекс • размер элемента).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]