Добро Пожаловать на сайт Clana C.S.R.IP Role Play: 46.174.52.17:27248 [ УЮТНЫЙ ПОДВАЛЬЧИК 03:45 АМ ] classic

Главная Файлы Форум Чат Новости Регистрация Вход

Меню











CSR-CS.CLAN.SU | CSR-TEAM
Меню Клана




CSR-CS.CLAN.SU | CSR-TEAM
Посетители
Онлайн:

Онлайн всего: 9
Гостей: 9
Пользователей: 0

Зарег. на сайте:
Всего: 134
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них:
Администраторов: 1
Модераторов: 1
Проверенных: 49
Обычных: 83
Из них:
Парней: 119
Девушек: 14
Счетчик материалов:
Форум: 140/161
Файлов: 141
Новостей: 301
Cтатей: 182
Cайтов: 4
Серверов[css v34]: 27
Картинок: 4
Онлайн фильмов: 9104
Счетчики:
Сегодня нас посетили:

Главная » Статьи » Статьи для Программирования » Assembler

Assembler Ассемблер

Assembler Ассемблер

Assembler - это человеко-понятная запись машинного языка, который определяется типом процессора ПК. Машинный язык это просто шаблон битов, которые после обработки заменяются на символьные обозначения и называются мнемоникой.Программирование для начинающих
Таким образом, компьютер распознает, IA-32 (Интел) машинные инструкции 
10110000 01100001 
,а для программистов это легче запомнить, в эквивалентном представление на ассемблере в виде
MOV% Al, $ 0x61 
(что означает перемещенеие шестнадцатеричного значение 61 (97 в десятичной системе) в регистр 'Al'.) 
В отличие от языков высокого уровня, есть очень близкое соответствие между языком программирования Assembler и машинным языком (почти один к одному). Преобразование исходных кодов в машинный языках называется ассемблированием, перевод из машинного в человеко-понятный - дизассемблированием. Программирование для чайников
Каждый компьютер имеет собственную архитектуру (зависящую от процессора) и, соответственно, имеет свой собственный машинный язык, и поэтому собственный родной язык ассемблера (приведенный выше примере для Интел i386). Эти языки программирования Assembler отличаются по количеству и типу операций, которые они поддерживают. Они также могут иметь различные размеры и количество регистров, и различные представления типов данных в хранилище. Хотя все компьютеры общего назначения (в основной массе это персональные компьютеры, но есть и промышленные) могут выполнять почти одинаковую функциональность, хотя и различается то, как они это выполняют, что помогает обучению основам программирования
Кроме того, несколько наборов мнемоник или синтаксисов языка Assembler могут отвечать за один и тот же набор инструкций. то в этих случаях, один из самых популярных используется производителем в своей документации.

Машинные команды

Основные операции доступны почти во всех наборах инструкций языка программирования Assembler.

  • перемещение
    • помещение значения в регистр
    • перемещения данных из памяти в регистр, или наоборот
    • чтение и запись данных из устройств
  • вычисление
    • сложения, вычитания, умножения или деления значения двух регистров, размещение результата в регистре
    • объединить два значения регистра с логическими и / или
    • отрицать значение регистра арифметически или логическое НЕ
  • изменение хода выполнения программы
    • перейти в другое место в программе (как правило, инструкции обрабатываются последовательно)
    • перейти в другое место, но сохранить текущее положение в качестве точки для возврата
    • вернуться к последней точке из которой начался переход

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

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

Директивы языка программирования Assembler

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

Использование Assembler

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


Категория: Assembler | Добавил: Priboy (28.09.2012)
Просмотров: 1020 | Теги: Assembler Ассемблер | Рейтинг: 2.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
HTML [20]
CSS [15]
SCIRRA CONSTRUCT [1]
Pascal [1]
Pascal и Delphi [1]
Алгоритмы,Блок Схемы [1]
Microsoft Small Basic [1]
Разное [4]
Ada [1]
ALGOL [1]
Assembler [1]
Basic [1]
Brainfuck [1]
C [1]
C++ [1]
COBOL [1]
Delphi [1]
Modula [1]
FORTRAN [1]
Lisp [1]
JavaScript [1]
Java [1]
SQL [1]
Smalltalk [1]
Simula [1]
Ruby [1]
Python [1]
Prolog [1]
PHP [1]
Perl [1]
Pascal [1]
Баннеробмен





Друзья сайта:

Разное
Топ Файловиков ↑↓
Новое на форуме ↑↓
ТиЦ ↑↓
Новые файлы

Ники в CS
Скачиваний: 0
Добавил: Priboy
Добавлено: 22.10.2012

UCP 7.7
Скачиваний: 0
Добавил: Priboy
Добавлено: 20.10.2012
Случайные Файлы
The Darkness II - Limited Edition


Подробнее о файле:
The Darkness II - Limited Edition
Скачать The Darkness
Просмотров: 717
Добавил: Priboy
Дата: 05.06.2012
Перейти

как сделать действия админа невидимыми


Подробнее о файле:
как сделать действия админа невидимыми
Статьи
Просмотров: 761
Добавил: Priboy
Дата: 22.06.2012
Перейти

Наш Сервер

Clan.::[C.[S].R.]::. © 2024

CSR-TEAM