Итак, я пытался выучить некоторую сборку и увидел пример дополнения, но я не совсем понял одну вещь:
section .text
global _start
_start:
mov eax, '3'
sub eax, '0'
mov ebx, '4'
sub ebx, '0'
add eax, ebx
add eax, '0'
mov [sum], eax
mov ecx, msg
mov edx, len
mov ebx, 1
mov eax, 4
int 0x80
mov ecx, sum
mov edx, 1
mov ebx, 1
mov eax, 4
int 0x80
mov eax, 1
int 0x80
section .data
msg db 'The sum is:',0xA, 0xD
len equ $ - msg
segment .bss
sum resb
Я все понимаю, кроме sub eax, '0'
Я имею в виду, что результат должен быть -7, потому что когда он делает sub eax, '0'
, он инвертирует число ...