Эти инструкции не используются в ячейках памяти, поэтому они не меняют память.Единственный доступ к памяти, который делает этот отрывок, состоит в том, чтобы загрузить эти инструкции коды операций и операнды в ЦП.
Код
0: 48 c7 c0 00 00 00 00 mov $0x0,%rax
7: 48 c7 c2 64 00 00 00 mov $0x64,%rdx
e: 48 01 c8 add %rcx,%rax
11: 48 0f af d0 imul %rax,%rdx
и что он делает:
- загружает 0 в регистр
RAX
- загружает 100 в
RDX
регистр - увеличивает текущее значение
RAX
регистра на значение RCX
регистр - со знаком - умножает значение
RAX
на значение RDX
(т.е.100, если оно не было изменено в промежуточном прерывании) и сохраняет младшие 64 бита результата результата в RDX
Следовательно, результат должен быть задан как rcx
как 20
rax 20
rdx 2000
rcx 20
и rbx без изменений.
Регистры являются «своего рода памятью», но в отличие от DRAM, который очень прост по своей структуре, это гораздо более сложный набор портов и соединений напроцессор кремниевый.