хорошо, я сейчас на ассемблере. Я делал некоторые программы, чтобы понять, как работают ascii, hex, бинарные и системные вызовы, но на самом деле я столкнулся с этой проблемой: например, когда я вводил 11 (1 + 1), б результат а не 2. почему?
SECTION .bss:
Num1: db 1
Num2: db 1
Ris db 1
Read:
mov eax,3
mov ebx,0
mov ecx,Num1
mov edx,1
int 80h
mov eax,3
mov ebx,0
mov ecx,Num2
mov edx,1
int 80h
mov edx,[Num1]
mov ebx,[Num2]
add ebx,edx
mov [Num2],ebx
Write:
mov eax,4
mov ebx,1
mov ecx,Num2
mov edx,1
int 80h
и почему, если я ввожу только число 1 и когда я пытаюсь суммировать его таким образом, результат верен? например, когда я ввожу 1 (1 + 3), 4 - это результат, а не d (как это было в первом случае). Почему?
SECTION .bss
Num1: db 1
Num2: db 1
Ris db 1
;inpb: resb 1
SECTION .data
SECTION .text
global main
Read:
mov eax,3
mov ebx,0
mov ecx,Num1
mov edx,1
int 80h
; mov eax,3
; mov ebx,0
; mov ecx,Num2
; mov edx,1
; int 80h
mov edx,[Num1]
mov ebx,3 ;rather than Num2 i put 3
add ebx,edx ;sum beetwen Num 1 and 3
mov [Num2],ebx
Write:
mov eax,4
mov ebx,1
mov ecx,Num2
mov edx,1
int 80h