با سلام به دوستان
در کامپایلر keill میتوان با دستورات inline assembly به مقادیر رجیسترها مانند PC و رجیستر LR و SP دسترسی پیدا کرد. به عنوان نمونه کد زیر مقدار PC، SP و LR را در متغیرهای تعریف شده میریزد.
در کامپایلر keill میتوان با دستورات inline assembly به مقادیر رجیسترها مانند PC و رجیستر LR و SP دسترسی پیدا کرد. به عنوان نمونه کد زیر مقدار PC، SP و LR را در متغیرهای تعریف شده میریزد.
__asm
}
()mov checkpoint.PCold,__current_pc
()mov checkpoint.SPold,__current_sp
()mov checkpoint.LRold,__return_address
{
سوال اینجاست که به مقادیر داخل پشته با استفاده از دستورات push و pop چطور میتونم دسترسی داشته باشم؟ وقتی از این دستورات در فرمت inline assembly استفاده میکنم خطا میده؟ آیا کسی sysntax مربوط به این دستورات رو میدونه؟
}
()mov checkpoint.PCold,__current_pc
()mov checkpoint.SPold,__current_sp
()mov checkpoint.LRold,__return_address
{