Главная » Просмотр файлов » 2015. Таблица - справочник по командам NASM

2015. Таблица - справочник по командам NASM (1110694), страница 3

Файл №1110694 2015. Таблица - справочник по командам NASM (2015. Таблица - справочник по командам NASM) 3 страница2015. Таблица - справочник по командам NASM (1110694) страница 32019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Команды пересылают элемент из одной ячейки памяти в другую. Размеры пересылаемых элементов зависят от применяемой команды. Команда movs может работать с элементами размером в байт, слово, двойное слово. В качестве операндов в команде указываются идентификаторы последовательностей этих элементов в памяти. Реально эти идентификаторы используются лишь для получения типов элементов последовательностей, а их адреса должны быть предварительно загружены в указанные выше пары регистров. Транслятор, обработав команду movs и выяснив тип операндов, генерирует одну из машинных команд movsb, movsw или movsd. Машинного аналога для команды movs нет. Для адресации операнда приемник обязательно должен использоваться регистр es.

Для того чтобы эти команды можно было использовать для пересылки последовательности элементов, имеющих размерность байт, слово, двойное слово, необходимо использовать префикс rep. Префикс rep заставляет циклически выполняться команды пересылки до тех пор, пока содержимое регистра ecx/cx не станет равным нулю.

str1 db 'str1 копируется в str2'

len_str1=$-str1

a_str1 dd str1

str2 db len_str1 dup (' ')

a_str2 dd str2

...

mov cx,len_str1

lds si,str1

les di,str2

cld

rep movsb

Числа с плавающей точкой. Сопроцессор x87.

Размер числа с плавающей точкой (бит)

Соответствующая директива объявления переменной

32

dd

64

dq

80

dt (TWORD)

"Стек" сопроцессора x87: регистры ST0 ... ST7, где ST0 - вершина "стека".

Все команды x87 имеют префикс F.

Суффикс P указывает на то, что при выполнении команды на верхушке стеке освобождается один регистр и все имена оставшихся регистров «сдвигаются» описанным выше образом.

КОМАНДА

ОПИСАНИЕ

СИНТАКСИС

Комментарий

FINIT

Инициализация сопроцессора x87

Необходимо выполнить перед началом использования сопроцессора.

FLD op1

Загружает в стек сопроцессора op1

- m 32/64/80

Float LoaD

FLD1

FLDZ

FLDPI

Заносят в стек сопроцессора соответственно числа
1.0, 0.0, pi.

FST op1

FSTP op1

FST - копирует содержимое верхушки стека в память (op1)

FSTP: FST + pop

- m 32/64/80

FADDP

FSUBP

FMULP

FDIVP

FABS

извлекает из стека операнды и кладет в ST0 результат операции

sub: ST1-ST0

fucomi op1

compare st0 and op1

- регистр x87

Еще команды процессора x86:

КОМАНДА

ОПИСАНИЕ

СИНТАКСИС

Комментарий

int op1

инициирование прерывания

- op1 - 16-ричный код прерывания.

int - interrupt

iter (семейство команд)

возврат из обработчика прерывания

HLT

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

от англ. halt — остановка

NOP

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

сокращение от «No OPeration»

RDTSC

Ассемблерная инструкция для платформы x86, читающая счётчик TSC (Time Stamp Counter) и возвращающая в регистрах EDX:EAX 64-битное количество тактов с момента последнего сброса процессора.

сокращение от «Read Time Stamp Counter»

Средства ввода/вывода io.inc

Имя макроса

Описание макроса

Output

PRINT_UDEC size, data

PRINT_DEC size, data

Вывод числовых данных заданных параметром data в 10-чном представлении. Параметр size – число, указывающее размерность данность в байтах; допускаются значения 1, 2, 4. В качестве параметра data может выступать числовая константа, символьная константа, имя переменной, имя регистра или адресное выражение (без спецификатора размера данных в памяти). Если задается регистр большего размера, то берется заданное параметром size количество младших разрядов. PRINT_UDEC интерпретирует число как беззнаковое, PRINT_DEC — как знаковое.

PRINT_HEX size, data

Аналогично предыдущему, но данные выводятся в 16-чном представлении.

PRINT_CHAR ch

Печатается символ, заданный параметром ch. В качестве параметра может выступать численная константа, символьная константа, имя переменной, имя регистра или адресное выражение (без спецификатора размера данных в памяти). Печатается всегда содержимое 8 младших разрядов.

PRINT_STRING data

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

NEWLINE

Переводит печать на новую строку.

Input

GET_UDEC size, data

GET_DEC size, data

Ввод числовых данных в 10-чном представлении с клавиатуры. Размер вводимых данных ограничен параметром size, который задается числом (1, 2, 4). Введенные данные обрезаются соответствующим образом. Параметр data– либо имя переменной, либо имя регистра, либо адресное выражение (без спецификатора размера данных в памяти). Если задается регистр большего размера, то старшие разряды заполняются знаковым битом в случае GET_DEC и нулями в случае GET_UDEC. GET_UDEC считывает беззнаковое число, GET_DEC — знаковое. Запрещается использовать в качестве параметра регистр esp.

GET_HEX size, data

Аналогично предыдущему, но данные задаются в 16-чном представлении с префиксом 0x.

GET_CHAR data

Аналогично предыдущему, но происходит считывание одного символа, нажатие Enter не требуется. Более того, нажатие Enter будет расцениваться как ввод управляющих символов перевода строки: 0xD 0xA в ОС Windows, 0xA в ОС *nix. Если параметр – регистр, размер которого больше 1 байта, значение считанного символа будет дополнено нулями.

GET_STRING data, maxsz

Ввод последовательности символов длиной не более чем (maxsz-1). Чтение последовательности останавливается на EOF или переводе строки, причем перевод строки сохраняется в буфере. В конец считанной строки добавляется символ с кодом 0. Параметр data – либо имя переменной, либо адресное выражение (без спецификатора размера данных в памяти). Параметр maxsz –регистр (io.inc версия 1.1) или числовая константа.

Вызов библиотечных функций языка СИ

CEXTERN cfunc_name


Источники

(упорядочены в порядке уменьшения вклада в данный документ)

  • Материалы лекций (слайды можно скачать на http://asmcourse.cs.msu.ru/ ).

  • http://asmworld.ru/spravochnik-komand/

  • http://www.itsusu.ru/pdf/information_technology/work_11.pdf

  • http://www.kolasc.net.ru/cdo/programmes/assembler/

  • А. В. Столяров. Программирование на языке ассемблера NASM для ОС Unix. Учебное пособие: http://www.stolyarov.info/books/asm_unix

  • Сайт Сергея Бугаева (студента 103 группы по состоянию на 2014-2015 учебный год): https://bugaevc.github.io/asmwall/
    Обращаю внимание: названия команд на сайте кликабельны.

  • http://pastebin.com/J7d7R6EF

Характеристики

Тип файла
Документ
Размер
280,12 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее