мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
asm:easycommands [15/08/2012 04:47] – создано arabusovasm:easycommands [09/10/2013 21:29] (текущий) arabusov
Строка 1: Строка 1:
 +==== Регистры процессора ====
 +Регистры -- самая быстрая память, с которой можно иметь дело в современных ПК. В силу дороговизны такого вида памяти, регистров в процессоре немного, и у каждого есть своя функция.
 +У всех регистров есть название. Основные регистры (регистры общего назначения) имеют следующие имена: //rax//, //rbx//, //rcx//, //rdx//. Они используются в частности в арифметических и логических операциях. Разрядность каждого из них -- 64 бита. Возможно обращение к младшему двойному слову (32 бита) каждого из вышеперечисленных регистров, используя запись //e-x//, символ //-// означает, что вместо него подставляется то необходимое имя регистра, к которому вы желаете обратиться. Обращение к младшему слову младшего двоёного слова производится с помощью записи //-x//, где символ //-// используется в том же значении, что и выше. Обращение к младшему и старшему байту младшего слова младшего двойного слова регистра //r-x// возможно по имени //-l// и //-h// соответственно. Все вышперечисленные имена зарезервированы, и их нельзя использовать в качестве меток или имён переменных.
 === Команда mov === === Команда mov ===
 <code asm> <code asm>
     mov    приёмник, источник     mov    приёмник, источник
 </code> </code>
-Команда mov производит копирование источника в приёмник.+Команда //mov// производит копирование //источника// в //приёмник//. 
 +=== Команда not === 
 +<code asm> 
 +    not    операнд 
 +</code> 
 +Команда //not// инвертирует биты //операнда//
 +=== Команда or === 
 +<code asm> 
 +    or    приёмник, источник 
 +</code> 
 +Команда //or// совершает побитовую операцию **ИЛИ** с //приёмником// и //источником// и помещает результат в //приёмник//
 +=== Команда and === 
 +Аналогична предыдущей. Ещё раз повторим: 
 +<code asm> 
 +    and    приёмник, источник 
 +</code> 
 +Команда //or// совершает побитовую операцию **И** с //приёмником// и //источником// и помещает результат в //приёмник//
 +=== Команда xor === 
 +Аналогична предыдущим. А вот для тех, кто не любит аналогии: 
 +<code asm> 
 +    xor    приёмник, источник 
 +</code> 
 +Команда //or// совершает побитовую операцию **ИСКЛЮЧАЮЩЕЕ ИЛИ** с //приёмником// и //источником// и помещает результат в //приёмник//
 + 
 +Подробнее в разделе [[asm:lesson1]] 
 + 
 +==== Опкод ==== 
 +http://www.mlsite.net/8086/ 
 +==== Datashts ==== 
 +http://datasheets.chipdb.org/Intel/x86/808x/datashts/8086/