AriGPT question 0dc62a84-e9b4-4afa-9ae6-c7872fa25b30

Question:

_sakuya_leave_ctx:
    ! Compare GBR itself
    stc.l sr, @-r15             ! Also save SR, we're gonna need it
    mov.l r0, @-r15             ! We purposefully keep r0 into the stack to check a couple of things
    stc gbr, r0
    cmp/eq #0, r0
    mov.l @r15+, r0             ! lol
    bt 1f
    ldc.l @r15+, sr             ! lmao, even
    save_gbr 0
    ! Compare gbr->prev
    mov.l @(0x54, gbr), r0
    cmp/eq #0, r0               ! Check if we do not have anything to do (we do not need to save SR)
    bt 2f                       ! If we already are at the bottom, then there is no context
                                ! to leave
    ! So we do have something to do... Sad!
    ldc r0, gbr                 ! Load the previous GBR
    load_gbr                    ! And setup our new registers!
    rts
    mov #0, r0                  

    ! NOTHING TO DO :D
1:  ldc.l @r15+, sr             
2:
    rts
    mov #1, r0

Date:

Wow this is some ugly ahh assembly!

~ af546cbf796eebbf3c03

Note: AriGPT can make mistakes. Very rarely because it is SO VERY SMART (50 IQ), but it can happen!

<- back to the answers list