Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
267 views
in Technique[技术] by (71.8m points)

loops - Reverse an array in Assembly x86

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...