Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4476

Bare metal, Assembly language • Circle Context Switch

$
0
0
Hello, I was wondering if anyone could explain why the Circle OS only saves only x16-x30 and likewise d8-d15?

Code:

.globlTaskSwitchTaskSwitch:/* x0: pOldRegs, x1: pNewRegs */addx0, x0, #8/* x0 is not saved */stpx16, x17, [x0], #16stpx18, x19, [x0], #16stpx20, x21, [x0], #16stpx22, x23, [x0], #16stpx24, x25, [x0], #16stpx26, x27, [x0], #16stpx28, x29, [x0], #16movx2, spstpx30, x2, [x0], #16stpd8, d9, [x0], #16stpd10, d11, [x0], #16stpd12, d13, [x0], #16stpd14, d15, [x0], #16mrsx2, fpcrmrsx3, fpsrstpx2, x3, [x0], #16ldrx0, [x1], #8/* parameter for CTask::TaskEntry() */ldpx16, x17, [x1], #16ldpx18, x19, [x1], #16ldpx20, x21, [x1], #16ldpx22, x23, [x1], #16ldpx24, x25, [x1], #16ldpx26, x27, [x1], #16ldpx28, x29, [x1], #16ldpx30, x2, [x1], #16movsp, x2ldpd8, d9, [x1], #16ldpd10, d11, [x1], #16ldpd12, d13, [x1], #16ldpd14, d15, [x1], #16ldpx2, x3, [x1], #16msrfpcr, x2msrfpsr, x3ret

Statistics: Posted by WilliamJenkinson — Mon Sep 30, 2024 6:15 pm — Replies 0 — Views 43



Viewing all articles
Browse latest Browse all 4476

Trending Articles