I decided to learn Assembly(using emu8086) and I want to learn how to to reverse an array.
So,I want to tranfer this code from C to assembly:
void reverse(int len, char *str)
{
int i;
char temp;
for (i=len-1; i >= len/2; i--)
{
temp = str[i];
str[i] = str[len-1-i];
str[len-1-i] = temp;
}
}
This is the array
chrs db 'A','N','E','X','A','M','P','L','E','$'
This is the main
mov ax, offset chrs
push ax
push 9
call reverse
So far I can deal with it by myself until I got to the loop part.
I learned how to write a simple loop and also I used this - While, Do While, For loops in Assembly Language (emu8086)
So,My main problem is doing the reverse function. Can you please show me how I use it?
Thanks.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…