2
Мне удалось перебрать массив и распечатать значения. Однако я также хотел распечатать строку «Длина моего массива равна 7», причем 7 - это длина (количество элементов) в массиве. Однако я не могу объединить строку с длиной массивов. Пожалуйста помоги. Спасибо.Объединение строки и размера массива в сборке x86 MASM
INCLUDE Irvine32.inc
.data
myarray byte 23, 2, 3, 40, 5, 16, 7
x byte 5
l dword lengthof myarray
msg1 byte "The length of my array is ",0
msg2 byte "-------------------------------",0
i byte 0
.code
main PROC
mov eax, 0
mov esi, offset myarray;
mov ecx, l
myloop:
mov al, [esi]
call writedec
call crlf
inc esi
mov edx, OFFSET msg1
mov edx, l
loop myloop
call writestring
call crlf
call crlf
exit
main ENDP
end main
В результате я получаю следующее:
23
2
3
40
5
16
7
"esimovarray.asm has stopped working"
Пожалуйста, помогите. Спасибо.
Шаг через код в отладчике. Следите за значениями регистра. Временное использование более короткого массива для ускорения отладки. –