имена - это нечто магическое, а не физическое
В этом все дело.Имена только для нас людей для чтения. Процессоры абсолютно не имеют понятия имен. Единственное, с чем они имеют дело, это числа.Символы - это числа, адреса - это числа, инструкции - это числа ... Так же как и регистры, которые также являются просто числами, закодированными каким-либо образом в самой инструкции
После сборки в инструкции есть только цифрыпоток.Даже метки перехода, функции ... не существуют в исполняемом двоичном файле.Они описаны как «14-я инструкция после этой» , »инструкция за 48 байт до« ... или абсолютно как »функция по адресу 0xFACECAFE" .Имена, если таковые имеются, помещаются в отдельные разделы, чтобы описать, что представляет адрес, в противном случае никто не знает, что такое переменная 0x65DAB3CF или функция в 0xFACECAFE.Эти имена используются для отладчиков для печати переменных для чтения людьми или для компоновщиков, загрузчиков ... чтобы найти правильное место для замены адресов.Процессоры полностью игнорируют их
Например, в MIPS $ ra номер регистра 31, $ t9 равен 25, $ a3 равен 7 ... , и они будутбыть закодированы как таковые в инструкции как их двоичные значения.ADD $s2, $t5, $a3
будет закодировано как
000000 (код операции инструкции R-типа) - 01101 ($ 13 / $ t5) - 00111 ($ 7 / $ a3) - 10010 ($ 18 / $ s2) - 00000 (сумма смены) - 100000 (32 - функция ADD) , то есть 0x01A79020
Аналогично в x86 регистры RAX, RCX, RDX, RBX, RSP, RBP, RSI, RDI, R8-R15 отображаются в 0-15 соответственно.xor ecx, esi
кодируется как 31 f1 = 00110001 11110001
с последними 6 битами, сохраняющими 2 параметра.Более сложные инструкции требуют более сложных правил, например, ADD r9, [rax + 4*r13 + 20]
кодируется как 4e 03 4c a8 14
Поскольку ЦП заботятся только о числах , на самом деле возможно построить кодировку, котораяотображает строки символов для имен регистров на сами регистры . Например, r20 будет закодирован как 72 32 30
(которые являются значениями ASCII строки "r20") внутриинструкция, но зачем тратить так много ценного места в инструкции?Карта от r20 до 20 (0x14) проста и достаточно ясна