b0nzo  6 Марта 2009 17:20:30

Assembler → Hello world! Регистры процессора

  Привет всем. Я Сергей, студент. Сейчас преподают архитектуру эвм, по практике в этом предмете идет асм, но на лекциях ничего не обьясняют, толком, так что приходится изучать самостоятельно. Точнее это не чистый асм, а ассемблерные вставки в С++.

Вот решил поделиться своимы познаниями. 

Думаю стоит начать с основ.

 

1. Регистры процессора

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

  • Регистры общего назначения

EAX, EBX, ECX, EDX

ESI, EDI - индексные регистры привыполнении цепочечных комманд

EBP - регистр указателя на данные в стеке

ESP - регист указателя стека

  • Сегментные регистры

CS - регистр сегмента кода

SS - регистр сегмента стека

DS, ES, FS, GS - регистры данных

  • Указатель комманд

EIP - указатель комманд

  • Регистр флагов

EFLAGS - содержит флаги состояния процессора и АЛУ

  • Регистры управления сегментированной памятью

GDTR - регистр глобальной дескрипторной таблицы (32bit)

LDTR - регистр локальной дескрипторной таблицы (16bit)

IDTR - регистр дескрипторной таблицы прерываний

TR - регистр задач

  • Регистры управления

CR0-CR4

  • Регистры отладки

TR1-TR3, TR6, TR7

  • Digg it!
  • Delicious
  • +МоёМесто.ru
  • Добавить страницу к Мистеру Вонгу
  • Добавить страницу к Мистеру Вонгу

Комментарии КОММЕНТАРИИ (4)

 7 Марта 2009 22:09:20 |  # 
Спасибо дружище!!! Мы как раз это тоже проходим! ОЧень полезная штука.. Пы.сы... тож никто ничего не объясняет((((
 8 Марта 2009 23:48:57 |  # 
Всегда пожалуйста, очень рад что это кому то пригодилось)
 17 Марта 2009 19:55:39 |  # 
Сергей, у тебя может есть статейка толковая, как коды складываются, как там что в процессорах работает???
 13 Сентября 2009 21:45:11 |  # 

складывается add, минус sub, деление div, умножение  mul......

Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии