Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Идентификаторы в выражениях
Когда вы используете в выражении идентификатор, возвращаемое значение зависит от типа идентификатора. Вы можете использовать идентификатор сам по себе или в сочетании с определенными унарны- ми операциями, которые созданы для выделения другой информации из величины, представляемой идентификатором. 41) Метка в языке ассемблера может содержать следующие символы: Буквы: от A до Z и от a до z Цифры: от 0 до 9 Спецсимволы: знак вопроса (?) точка (.) (только первый символ) знак "коммерческое эт" (@) подчеркивание (_) доллар ($) Первым символом в метке должна быть буква или спецсимвол
Определить метку можно двумя способами:
Используя оператор ":", можно определить метку только ближнего типа (near). Например: m: mov eax,1 Используя оператор LABEL, можно определить метку любого типа. Например: m label near mov eax,1 или m label far mov eax,1 Применение меток оправдано во многих случаях. В одних лучше использовать метки ближнего типа, в других - дальнего. В следующих уроках мы рассмотрим эти случаи и научимся правильно выбирать тип метки. Синтаксис команды безусловного перехода такой: jmp [модификатор] адрес_перехода Существует несколько кодов машинных команд, соответствующих JMP. Они отличаются дальностью перехода и способом задания целевого адреса. Операнд адрес_перехода может находиться в текущем сегменте(близкий переход) кода или в другом (дальний переход). Адресом перехода может являться имя метки: jmp m m: mov eax,1 Есть еще такой вариант (указывается не адрес перехода, а место, где он хранится): lea eax,m jmp eax m: mov eax,1 Теперь перейдем к командам условного перехода. В таких командах решение о том, какая команда будет выполняться следующей, принимается в зависимости от некоторых условий, различных для разных команд перехода. Таких команд 18, они позволяют проверить:
Все команды условного перехода имеют одинаковый синтаксис: jcc метка_перехода Любая из них начинается с символа "j" (от слова jump), а вместо "cc" указывается конкретное условие, которое должна проанализировать программа. Метка перехода может находиться только в пределах текущего сегмента! Поэтому необходимость в модификаторе отпадает (всегда near). Условие обязательно должно быть сформировано до команды передачи управления. Его источником может служить любая команда, изменяющая состояние арифметических флагов или регистра ECX/CX. В большинстве случаев Вы будете пользоваться командой CMP. Поэтому сейчас я немного расскажу вам о ней. Команда CMP производит практически те же действия, что и команда SUB, только она не записывает результат вычитания на место первого операнда, а просто устанавливает флаги (нас интересует флаг знака результата, и флаг нулевого результата). Вот ее синтаксис: cmp операнд_1, операнд_2 Флаги, устанавливаемые командой CMP, можно проанализировать командами условного перехода. Понимание принципа формирования названий команд условного перехода облегчит их запоминание и дальнейшее практическое использование (см. табл. 1).
codesg segment lodsw; cчитать слово из строки, cmp ax,7; если это 7 - выйти из цикла codesg ends имя - необязательный параметр. Имя (идентификатор) переменной может содержать цифры, буквы латинского алфавита, символ подчеркивания в любом порядке, но начинаться должно обязательно с буквы. Длина имени переменной допускается в MASM32 одиннадцатой версии до 247 символов включительно. Если значение переменной при старте программы не определено, вместо числа или символьного значения после указания типа записывают знак вопроса. 42)числа символьные данные Данные – числа и закодированные символы, используемые в качестве операндов команд. Бит (bit) - двоичный разряд. Символьные данные Символьные данные задаются в кодах и имеют длину, как правило, 1 байт (для кодировки ASCII) или 2 байта (для кодировки Unicode)
Date: 2016-05-24; view: 268; Нарушение авторских прав |