دستور NSFL/NSFR    

دستورات برنامه CX Programmer

دستور NSFL می تواند با هر بار فعال کردن ورودی ، چندین بیت دلخواه را که تعداد آن باید تعیین شود به چپ شیفت دهد.(0 تا 65535 بیت)
دستور NSFR می تواند با هر بار فعال کردن ورودی ، چندین بیت دلخواه را که تعداد آن باید تعیین شود به راست شیفت دهد.(0 تا 65535 بیت)
دقت نمایید قرار دادن لبه بالارونده در ورودی این توابع برای راه اندازی درست آنها ضروری می باشد.
ساختار این دستورات به شرح زیر می باشد :
این دستورات شامل سه بخش D ، و N می باشند که باید تکمیل گردند. در D آدرس ورد آغازین برای جابجایی بیت ها ،در C بیت آغازین برای جابجایی و در N تعداد بیت هایی که می خواهیم جابجا گردند ، مشخص می شوند.
در تابع NSFL پس از هر بار انتقال ، محتوای اولین بیت 0 شده و محتوای چپ ترین بیت شیف داده شده به Carry Flag (CY)منتقل می شود.
در تابع NSFR پس از هر بار انتقال ، محتوای اولین بیت 0 شده و محتوای راست ترین بیت شیف داده شده به Carry Flag (CY)منتقل می شود.
برای فهم بهتر به عکس های زیر دقت نمایید :

قرارگیری علامت @ در کنار این دستور به معنی وجود لبه بالارونده می باشد.
برای فهم بهتر به مثال زیر که قبل از فعال سازی ورودی را نشان می دهد ، دقت نمایید :
در مثال زیر همان طور که می بینید به D50 و D57 که وردهای اولیه برای جابجایی هستند عدد 5555 هگز و به D55 و D62 عدد 3 را اختصاص داده ایم که یعنی بیت اولیه برای جابجایی بیت 3 می باشد و همچنین به D56 و D63 عدد 8 را اختصاص داده ایم که یعنی می خواهیم 8 بیت را شیفت بدهیم :

بعد از فعال کردن کلید ورودی (البته با لبه بالارونده) ، محتوای ورد D50 تا ورد پایانی که تعداد بیت های انتقال یافته آن را تعیین می نمایند ، 8 بیت به چپ شیفت داده شده و همچنین محتوای ورد D57 تا ورد پایانی که تعداد بیت های انتقال یافته آن را تعیین می نمایند ، نیز 8 بیت به راست شیفت داده شده اند و عدد 52A5 هگز جایگزین D50 و عدد 52AD هگز جایگزین D57 گردیده است. همانطور که مشاهده می نمایید بعد از این انتقال ، آخرین بیت انتقالی ورد D50 به CY منتقل شده است :

نویسنده : تیم تولید محتوا  برق و صنعت آریان

آخرین بروز رسانی: 16 ژانویه 2018

فهرست