Машинно-ориентированные языки программирования. Арифметические команды и команды условного перехода в ассемблере — Информатика. Шпоры | iFREEstore

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

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

•высокое качество создаваемых программ (компактность и скорость выполнения);

•возможность использования конкретных аппаратных ресурсов;

•предсказуемость объектного кода и заказов памяти;

•для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

•трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

•низкая скорость программирования;

•невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.

Машинный язык. Как уже упоминалось в введении, отдельный компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM-370 и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции.

В новых моделях ЭВМ намечается тенденция к повышению внутренних языков машинно - аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования.

Языки Символического Кодирования. Продолжим рассказ о командных языках, Языки Символического Кодирования (далее ЯСК), так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в ЯСКьзаменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ.

Использование символических адресов - первый шаг к созданию ЯСК. Команды ЭВМ вместо истинных (физических) адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений. Назначение адресов, выполняемое отдельно от составления программы в символических адресах, может проводиться менее квалифицированным программистом или специальной программой, что в значительной степени облегчает труд программиста.

Автокоды. Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.

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

где а =5; b =27; c = 86; е =1986; d =1112;

Результат вычисления выражения сохранить в памяти. Навести значение и порядок размещения данные в памяти. Текст программы

.686 ; директива определения типа микропроцессора

.model flat,stdcall ; задание линейной модели памяти

; но соглашения ОС Windows

.data ; директива определения данные

_a dw 5 ; запись в 16-разрядный амбарчик памяти с именем _а числа 5

_b dw 27 ; запись _b = 16h

_c dw 86 ; запись _c = 56h

_e dw 1986 ; запись _e = 7C2h

_d dw 1112 ; запись _d = 458

res dw 0 ; резервирование памяти для сохранения переменной res

.code ; директива начала сегмента команд

start:

mov edx,0 ; очистка регистров

mov ebx,0 ; очистка регистров

mov ecx,0 ; очистка регистров

mov ах,_e ; в регистр ах заносим число _e = 7C2h

mul _d ; множим _e и _d

SHL edx,16 ; делаем здвиг на 16

mov dx,ax

push edx ; бросаем значение в стек

mov edx,0

mov ах,_e

mov cx,_b

div cx ; делим ах с cx

pop ecx ; достаем из стеку значения

sub ecx,eax ; отнимаем

mov ах,_a

sub eax,ecx

mov res, eax

ret ; возвращение управление ОС

end start ; окончание программы с именем _start

Условные переходы

Условный переход осуществляется, если выполняется определённое условие, заданное флагами процессора (кроме одной команды, которая проверяет CX на равенство нулю). Как вы помните, состояние флагов изменяется после выполнения арифметических, логических и некоторых других команд. Если условие не выполняется, то управление переходит к следующей команде.

Существует много команд для различных условных переходов. Также для некоторых команд есть синонимы (например, JZ и JE - это одно и то же). Для наглядности все команды условных переходов приведены в таблице:

У всех этих команд один операнд - имя метки для перехода. некоторые команды применяются для беззнаковых чисел, а другие - для чисел со знаком. Сравнения «выше» и «ниже» относятся к беззнаковым числам, а «больше» и «меньше» - к числам со знаком. Для беззнаковых чисел признаком переполнения будет флаг CF, а соответствующими командами перехода JC и JNC. Для чисел со знаком о переполнении можно судить по состоянию флага OF, поэтому им соответствуют команды перехода JO и JNO. Команды переходов не изменяют значения флагов. В качестве примера я приведу небольшую программу для сложения двух чисел со знаком с проверкой переполнения. В случае переполнения будет выводиться сообщение об ошибке.

← Предыдущая
Страница 1
Следующая →

Файл

остальные шпоры.docx

остальные шпоры.docx
Размер: 591 Кб

.

Пожаловаться на материал

В информатике совокупность взаимосвязанных данных называется информационной структурой. Компьютерные сети. Языки программирования. Язык разметки HTML. ЭВМ. Информационная система

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Эта тема принадлежит разделу:

Информатика. Шпоры

В информатике совокупность взаимосвязанных данных называется информационной структурой. Компьютерные сети. Языки программирования. Язык разметки HTML. ЭВМ. Информационная система

К данному материалу относятся разделы:

Табличные процессоры

Реляционные БД. Правила Кодда. Аномалии. Нормальные формы

Правил Кодда

Компьютерные сети

Базы данных. Классификация. Архитектура

Парадигмы программирования. Языки программирования. Системы программирования

Язык разметки HTML. Web-страницы. Создание

История развития ВТ

Поколения ЭВМ

Программное обеспечение ЭВМ

Информационная система (ИС)

SQL. Команды определения данных

Язык программирования Delphi

Основные принципы функционирования ЭВМ. Основные структурные элементы современного компьютера. Функции и характеристики

Динамическое программирование

SQL. Команды управления данными

Методы сортировки и поиска. Алгоритмы и программы

Симплекс-метод

Язык JAVA-Script

Исследование операций

Кодирование информации

Компьютерное моделирование в экологии

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

Компьютерное моделирование физических процессов

Массивы в ООП-языках. Примеры использования

Рекурсивно-логическое программирование. Пролог. Основные принципы работы с базами знаний

Работа со списками в Прологе

Основные концепции ООП

Похожие материалы:

Методика обучения техническим элементам и подводящие игры для спортивной игры баскетбол

Баскетбол. Приёмы и действия, с помощью которых ведётся игра. Задачи обучения тактическим действиям. Упражнения. Разметки баскетбольной площадки. Тактические действия

Основы фотосъёмки

Определение фотографического пейзажа. Характерные виды освещения при пейзажной фотосъёмке. Высота точки съёмки. Классификация пейзажа. Ракурс. Стили в пейзаже. Обеспечение фотографа-пейзажиста. Роль освещения при фотографировании

Действующие формы безналичных расчетов

Банковское дело, коммерческие банки. Принципы кредитования и классификация банковских кредитов.

Моделирование: понятия моделирования. Введение

Процесс построения, изучения и применения моделей будем называть моделированием. Современные информационные потоки. Внешние информационные потоки.

Метрология ответы на тесты