**چند سوال کوتاه اســــمــبـــلی ( Assembly )**

p30ware

New Member
با سلام به همه ی دوستان عزیز ....

لظفا اگه کسی اسمبلی بلده کمک کنه
N_aggressive%20%2840%29.gif


ldi delay2seconds,6

تو این دستور اون 6 چه کاری انجام میده ؟


××××××××××××××××××××××××


ldi YL,96 ;First RAM address

در این خط YL منظور چیه و 96 چرا اولین آدرس رم هست ؟


×××××××××××××××××××××××××


ror Byte ;Rotate right the Byte register


اینجا لزوم چرخش اطلاعات چیه ؟ و اصلا چرا چرخیده ؟


×××××××××××××××××××××××××

ممنون میشم خیلی واجبه اگه کسی بلده ...
N_aggressive%20%2817%29.gif
 

the_king

مدیرکل انجمن
اینها کد های اسمبلی AVR هستند، درسته؟

ldi delay2seconds,6
تو این دستور اون 6 چه کاری انجام میده ؟
6 مقداری است که قراره درون فلان رجیستر قرار بگیره، delay2seconds قطعا در جایی از کد تعریف شده
که معادل فلان رجیستره، مثلا معادل رجیستر R16 است، در اون صورت مقدار 6 درون رجیستر R16 قرار می گیره.

ldi YL,96 ;First RAM address
در این خط YL منظور چیه و 96 چرا اولین آدرس رم هست ؟
YL نام یکی از رجیستر های اشاره گر تک بایتی (8 بیتی) است. رجیستر های X و Y و Z اشاره گر های دو بایتی
(16 بیتی) هستند که برای اشاره به آدرس ها بکار می روند. هر کدام از این X و Y و Z بصورت دو تیکه 8 بیتی
هم تقسیم شده اند که نام قسمت پایینی به L و قسمت بالایی به H ختم می شود.

اینکه 96 اولین آدرس رم باشد یا نباشد به ساختار پردازنده مورد استفاده و محتویات حافظه و کد برنامه مربوط است و
مقدار ثابتی نیست.

ror Byte ;Rotate right the Byte register
اینجا لزوم چرخش اطلاعات چیه ؟ و اصلا چرا چرخیده ؟
لزوم چرخش اطلاعات به منطق کد برنامه بستگی داره، یک سطر از کد برنامه که به تنهایی منطق خاصی رو
نشون نمی ده که دلیلش رو می پرسید.
 

جدیدترین ارسال ها

بالا