Мне нужна помощь, мне нужно изменить программу для отображения ASCII 'F' в виде суммы массива.
Я не уверен, как это сделать, но попытался и потерпел неудачу.Буду признателен за любую помощь.
section .text
global _start ;must be declared for linker (ld)
_start:
mov eax,3 ; Number bytes to be summed
mov ebx,0 ; ebx will store the sum
mov ecx, x ; ecx will point to the current element to be summed
top:
add ebx, [ecx]
add ecx, 1 ; Move pointer to next element
dec eax ; Decrement counter
jnz top ; If counter not 0, then loop again
done:
add ebx, '0' ; INSTRUCTOR’S QUESTION: Why are we doing this?
mov [sum], ebx ; Done, store result in "sum"
display:
mov edx, 1 ; Message length
mov ecx, sum ; Message to write
mov ebx, 1 ; File descriptor (stdout)
mov eax, 4 ; System call number (sys_write)
int 0x80 ; Call Linux kernel
mov eax, 1 ; System call number (sys_exit)
int 0x80 ; Call Linux kernel
section .data
global x
x: db 2
db 4
db 3
sum:
db 0
Пожалуйста, помогите мне с этим.