{"body":"\n// void m68k_context_switch(struct m68k_context_switch_frame *oldcs, struct m68k_context_switch_frame *newcs);\nFUNCTION(m68k_context_switch)\n    movel   %sp@+,%d0           // pop PC off the stack\n    movel   %sp@,%a0            // oldcs\n    movel   %sp@(4),%a1         // newcs\n\n    // save old state\n    movel   %sp, %a0@(0)              // oldcs.sp\n    movel   %d0, %a0@(4)             // oldcs.pc\n    moveml  %d2-%d7/%a2-%a6, %a0@(8) // oldcs.<base of callee saved list>\n\n    // load new state\n    movel   %a1@(0), %sp              // newcs.sp\n    movel   %a1@(4), %sp@-            // newcs.pc -> stack\n    moveml  %a1@(8), %d2-%d7/%a2-%a6 // newcs.<base of callee saved list>\n\n    // return to new PC\n    rts\n","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/yJVWy3Xb","modified":1623032941,"id":"yJVWy3Xb","size":715,"lines":19,"own_paste":false,"theme":"","date":1623032941}