اطلاعیه

Collapse
No announcement yet.

معادل دستور look up در سی و نحوه تعریف کدها

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    معادل دستور look up در سی و نحوه تعریف کدها

    سلام
    همان طور که می دانیم این دستور در بیسیک به صورت زیر هست؟؟؟


    Porta = Lookup(e , Farsi)


    معادل ان در سی چه گونه هست؟؟
    مثلا من می خواهم اظلاعات را از زیر برنامه farsi بخونه و در پورت a با توجه به مقدار متغیر e قرار بده

    سوال دیگه

    در یسیک در تابلو روان کدها را در زیر برنامه قرار می دهند در سی چه طور؟؟؟
    مصلا به جای زیر برنامه farsi چه میشه نوشت چخ جوری میشه انجام داد

    #2
    پاسخ : معادل دستور look up در سی و نحوه تعریف کدها

    همچنین معادل دستو ر Rotate Scan , Left , 1 را میخام
    که در بالا متغیر اسکن را به اندازه یک بیت به چپ شیفت میده

    دیدگاه


      #3
      پاسخ : معادل دستور look up در سی و نحوه تعریف کدها

      1. برای اینکار باید از آرایه استفاده کنید که برای اینکار شما بهتره تو فضای کد یا فلش باشه . مثال برای ونور:

      prog_char Farsi[3] ={ 0 , 1 , 2};
      PORTA=pgm_read_byte(Farsi,e);

      2. معمولا دیتای حجیم رو توی فلش یا رام میکرو (و جدیدا توی ام ام سی اکسترنال) میریزن. جای اون زیربرنامه ها(بقول شما) هم تو فلش میکروست

      3. برای روتیت دادن معمولا از اسمبلی داخل سی استفاده میشه:

      /*
      ** rol_buffer
      *
      * Perform a "rotate left" operation on all of the bytes in a buffer.
      *
      * On entry: r25:r24 contains a pointer to the buffer
      * r22 contains the number of bytes in the buffer
      *
      * On exit: the buffer is rotated one bit to the left
      *
      * C-callable: void *rol_buffer(uint8_t *buf, uint8_t cnt)
      *
      * Modifies: r0, r22, r30, r31
      *
      */
      #define buf r24
      #define cnt r22

      .global rol_buffer
      rol_buffer:
      clc
      movw r30, buf
      rol_buffer_loop:
      ld r0, Z
      rol r0
      st Z+, r0
      dec cnt
      brne rol_buffer_loop
      ret

      #undef buf
      #undef cnt
      {خلاف قوانین - امضا ویرایش شد}

      دیدگاه

      لطفا صبر کنید...
      X