Например, накопитель имеет имя EAX
, а указатель инструкции называется IP
. Я также знаю, что есть байты, называемые CL
и DH
. Я знаю, что для всех имен должно быть соглашение, но что это такое?
Почему регистры x86 называются так, как они?
Ответ 1
C и D - числа/типы и H для высоких и L для низких частей более высокого регистра. http://en.wikipedia.org/wiki/X86
Википедия очень хорошо объясняет это.
Больше из Википедии:
- AX/EAX/RAX: аккумулятор
- BX/EBX/RBX: базовый
- CX/ECX/RCX: счетчик
- DX/EDX/RDX: данные/общая
Ответ 2
* EAX - Accumulator Register
* EBX - Base Register
* ECX - Counter Register
* EDX - Data Register
* ESI - Source Index
* EDI - Destination Index
* EBP - Base Pointer
* ESP - Stack Pointer
Ответ 3
Это история. X86 пришел из 8086, который пришел из 8080, который пришел из 8008, который пришел из 4004. Были 16-разрядные регистры AX, BX и т.д., А для 80386 они получили "расширенный" до 32 бит.
Добавлено: BTW у Motorola 68K были 32-битные регистры с самого начала, поэтому было намного проще программировать в течение первых двух десятилетий. Я работал над проектами, в которых Intel была выбрана по причинам бизнеса, а не по техническим причинам.
Ответ 4
Несколько хороших ответов здесь: x86 регистры сборки - Почему они работают так, как они делают?
Ответ 5
У более старых процессоров есть аккумуляторы с именем A, B и т.д. (в алфавитном порядке orderd). Когда были разработаны аккумуляторы 16 и 32 бит, инженеры добавили X (расширенный). Итак, все об истории, так как язык C называется так, потому что он был разработан с языка B (лаборатории Белла).
Соглашение является только внутренним, чтобы не отставать от имен, с которыми они знакомы.