// Sample program that writes two words at a predefined address int main() { asm("mov 0x10, %g1 \n"); asm("mov 0x20, %l1 \n"); asm("stx %l1, [ %g1 ] \n"); asm(" nop \n"); asm("stx %l1, [ %g1 +0x40 ] \n"); asm(" nop \n"); asm("ldx [ %g1 ], %l1 \n"); asm(" nop \n"); asm("ldx [ %g1 ] , %l1\n"); asm(" nop \n"); asm("ldx [ %g1 ] , %l1\n"); asm("ldx [ %g1 ] , %l1\n"); asm("stx %l1, [ %g1 ] \n"); asm(" nop \n"); asm("stx %l1, [ %g1 +0x40 ] \n"); asm(" nop \n"); asm("stx %l1, [ %g1 +0x60 ] \n"); asm(" nop \n"); asm("stx %l1, [ %g1 +0x80 ] \n"); asm(" nop \n"); register unsigned long* address; address = (unsigned long*)0x0000CAC0; (*address) = 0xC1A0C1A0; // First store address = (unsigned long*)0x0000CAC0; (*address) = 0xFABA1210; // Second store return 0; }