دستور ASFT    

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

دستور ASFT می تواند با هر بار فعال کردن ورودی ، تمامی وردهای غیرصفر را که در رنج خاصی از وردها هستند ، به سمت St و یا به سمت E شیفت دهد و جای آنها 0 قرار دهد.
دقت نمایید قرار دادن لبه بالارونده در ورودی این تابع برای راه اندازی درست آن ضروری می باشد.
ساختار این دستور به شرح زیر می باشد :
این دستور شامل سه بخش C ، St و E می باشد که باید تکمیل گردد. در C آدرس ورد کنترلی ، در St آدرس ورد آغازین برای جابجایی و در E آدرس ورد پایانی برای جابجایی مشخص می شوند.
در بیت 15 از ورد کنترلی توانایی RESET کل دیتاها ، در بیت 14 توانایی ENABLE یا DISABLE کردن تابع و در بیت 13 توانایی انتخاب جهت شیف را داریم. به شکل زیر دقت نمایید :

در تابع ASFT بعد از چندین بار ON و OFF کردن ورودی ، همه وردهای حاوی دیتای صفر با وردهای غیرصفر جابجا می شوند. برای فهم بهتر به عکس زیر دقت نمایید :
قرارگیری علامت @ در کنار این دستور به معنی وجود لبه بالارونده می باشد.
برای فهم بهتر به مثال زیر که قبل از فعال سازی ورودی را نشان می دهد ، دقت نمایید :
در مثال زیر همان طور که می بینید به D10 (ورد کنترلی) عدد 4000 هگز را اختصاص داده ایم (بیت 14 آن را 1 نموده ایم) و می خواهیم دیتاها از ورد D11 (ورد آغازین) به سمت D14(ورد پایانی) شیفت یابند و وردهای صفر با وردهای غیرصفر جابجا شوند (لازم به ذکر است محتوای وردهای D12 و D13 صفر می باشد) :
بعد از فعال کردن کلید ورودی (البته با لبه بالارونده) ، محتوای ورد D11 با ورد D13 که صفر می باشد جابجا می شود و محتوای D14 که غیرصفر می باشد سر جای خود می ماند (لازم به ذکر است چون از D11 تا D14 دیگر ورد غیرصفری وجود ندارد ، ON و OFF کردن ورودی دیگر باعث جابجایی هیچ وردی نمی شود):
نویسنده : تیم تولید محتوا  برق و صنعت آریان

[lastupdated]

فهرست