код операции% ebx register - PullRequest
       79

код операции% ebx register

0 голосов
/ 15 октября 2018

Я написал следующую программу сборки для получения кода операции различных регистров:

.section .text
.globl _start
_start:
add $1,%eax                                                          
add $1,%ebx                                                          
add $1,%ecx                                                          
add $1,%edx                                                          
add $1,%esp                                                             
add $1,%ebp                                                             
add $1,%esi                                                          
add $1,%edi                                                          
int $0x80

Я компилирую и связываю с:

gcc -c prog.s && ld prog.o

и дамп объекта:


0000000000400078 &lt_start&gt:
  400078:   83 c0 01                add    $0x1,%eax
  40007b:   83 <b>c3</b> 01                add    $0x1,%ebx
  40007e:   83 c1 01                add    $0x1,%ecx
  400081:   83 c2 01                add    $0x1,%edx
  400084:   83 c4 01                add    $0x1,%esp
  400087:   83 c5 01                add    $0x1,%ebp
  40008a:   83 c6 01                add    $0x1,%esi
  40008d:   83 c7 01                add    $0x1,%edi
  400090:   cd 80                   int    $0x80

Я бы ожидал, что %ebx будет иметь код операции c1, а это не так.Итак, мой вопрос: почему c3 код операции %ebx для этих add инструкций?

...