Мне недавно было дано задание от моего профессора ввести строку и вывести ее в обратном порядке, он помог моему классу написать код, который печатает каждый символ строки в отдельной строке, как показано ниже:
INCLUDE Irvine32.inc
;// .386
;// .model flat,stdcall
;// .stack 4096
ExitProcess proto,dwExitCode:dword
.data ;// write your data in this section
prompt BYTE "Enter a string", 0ah, 0dh, 0
text BYTE 101 DUP(?)
.code ;// write your program here
main proc
mov edx, OFFSET prompt
call WriteString ;prompt for input
mov edx, OFFSET text ; setup for text
mov ecx, 100 ; max characters
call ReadString
mov ebx, 0
mov edx, OFFSET text ; setup of output
call StrLength ; get number of characters
mov ecx, eax ; setup the count register
L1:
mov al, text[ebx]
call WriteChar
call Crlf
inc ebx
loop L1
main endp
end main
Затем он велел нам манипулировать кодом, чтобы он печатал строку в обратном порядке, он говорил что-то об использовании косвенной адресации и уменьшал адрес в цикле, может кто-нибудь помочь подробнее остановиться на этом, не ища кто-нибудь, чтобы сделать код для меня, просто руководство