با سلام اگر امکان دارد در مورد دستورات زیر که در کتابخانه eeprom_driver.h اتمل می باشد که چه کاری انجام می دهند(البته بجز دستورات push , pop)؟
اگر از دستورات اسمبلی استفاده نمی کرد چه مشکلی داشت ؟
دلیل وجود حروف و نشانه های "\n\t" روبروی دستورات اسمبلی چیست ؟ چرا میان " " قرار گرفته اند ؟
#define NVM_EXEC() asm("push r30" "\n\t" \
"push r31" "\n\t" \
"push r16" "\n\t" \
"push r18" "\n\t" \
"ldi r30, 0xCB" "\n\t" \
"ldi r31, 0x01" "\n\t" \
"ldi r16, 0xD8" "\n\t" \
"ldi r18, 0x01" "\n\t" \
"out 0x34, r16" "\n\t" \
"st Z, r18" "\n\t" \
"pop r18" "\n\t" \
"pop r16" "\n\t" \
"pop r31" "\n\t" \
"pop r30" "\n\t" \
)
"push r31" "\n\t" \
"push r16" "\n\t" \
"push r18" "\n\t" \
"ldi r30, 0xCB" "\n\t" \
"ldi r31, 0x01" "\n\t" \
"ldi r16, 0xD8" "\n\t" \
"ldi r18, 0x01" "\n\t" \
"out 0x34, r16" "\n\t" \
"st Z, r18" "\n\t" \
"pop r18" "\n\t" \
"pop r16" "\n\t" \
"pop r31" "\n\t" \
"pop r30" "\n\t" \
)
اگر از دستورات اسمبلی استفاده نمی کرد چه مشکلی داشت ؟
دلیل وجود حروف و نشانه های "\n\t" روبروی دستورات اسمبلی چیست ؟ چرا میان " " قرار گرفته اند ؟
دیدگاه