Добро Пожаловать на сайт Clana C.S.R.IP Role Play: 46.174.48.27:27275 IP DM: 212.76.130.197:27281

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

MENU
Основной раздел .::CSR-TEAM::. Альянсы-Друзья Все для Photoshop Все для uCoz Все для Cs:Source Все для Игр Counter-Strike 1.6 Статьи-Книги Скачать игры Разное
Меню Клана




CSR-CS.CLAN.SU | CSR-TEAM
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
[ Кто нас сегодня посетил ]
Посетители
Онлайн:

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

Зарег. на сайте:
Всего: 130
Новых за месяц: 1
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них:
Администраторов: 1
Модераторов: 1
Проверенных: 49
Обычных: 79
Из них:
Парней: 118
Девушек: 11
Счетчик материалов:
Форум: 140/161
Файлов: 141
Новостей: 258
Cтатей: 181
Cайтов: 4
Серверов[css v34]: 13
Картинок: 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)
Просмотров: 785 | Теги: Assembler Ассемблер | Рейтинг: 2.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Реклама Tak.ru
Реклама Altizer
Категории раздела
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
Случайные Файлы
Как стать админом на своем сервере CSS?


Подробнее о файле:
Как стать админом на своем сервере CSS?
Статьи
Просмотров: 2698
Добавил: Priboy
Дата: 22.06.2012
Перейти

Хед мод для cs source


Подробнее о файле:
Хед мод для cs source
Плагины для CS:S
Просмотров: 411
Добавил: Priboy
Дата: 21.06.2012
Перейти

Тиц-PR
Бесплатный анализ сайта Каталог ИТ Рейтинг SIMPLETOP.NET Мониторинг PR-CY.ru Бесплатная раскрутка сайтов за короткое время, поднятие ТИЦ и PR Бесплатная раскрутка сайтов uCoz Самый лучший топ сайтов Рейтинг_сайтов_RPanel бесплатная раскрутка сайтов
заборы из профнастила Graffiti Decorations(R) Studio (TM) Site Promoter Бесплатная раскрутка сайтов uCoz Раскрутка postPR.ru - социальная сеть для веб-мастеров Бесплатный Онлайн Сервис

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

CSR-TEAM