Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Explain diab 4.2b PowerPC family asm macros

Status
Not open for further replies.

naseeam

Member
My Embedded Application runs on Motorola PowerPC MPC555 Microcontroller. The cross compiler is Diab 4.2b. Following is a macro for raising and restroing interrupts in MPC555.

asm unsigned int iplm_raise(void)
{
! "r3"

mfmsr r3
mtspr 81,r1
}

asm void iplm_restore(const unsigned int mask)
{
%reg mask ;
! "r12"

mfmsr r12
rlwimi r12,mask,0,16,16
mtmsr r12
}

The calls to these asm macros are as follows:

unsigned_32 mask;

RAISE_IPLM(mask) ;

/* critical section of code */

RESTORE_IPLM(mask) ;

Following are links:

1) Link to MPC555 Manual - pages of interest are 3-20 to 3-23
**broken link removed**

2) Link to MPC555 Instruction Set - Section 9 is of interest
**broken link removed**

3) I could not find a link to Diab 4.2b Target User's Manual for PowerPC Family. However, I have soft copy
of this manual. This manual explains asm macros. I'll tried attaching it but I get an error. I am asked to contact tech. support but they never responded me. Can someone help me attach this manual? Thanks.

Please explain above two macro in detail, line by line. Thanks.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top