18 lines
420 B
ArmAsm
18 lines
420 B
ArmAsm
# $Header$
|
|
#include "em_abs.h"
|
|
|
|
.globl .strlb
|
|
.globl .gto
|
|
# Nonlocal goto.
|
|
# On the stack is a pointer to a block containing :
|
|
# 1. the new local base (ptr+8)
|
|
# 2. the new stack pointer (ptr+4)
|
|
# 3. the new program counter (ptr)
|
|
.gto:
|
|
movl (sp)+,r2
|
|
movl 4(r2),sp # Store new stack pointer
|
|
pushl (r2) # Push target address
|
|
pushl 8(r2) # Push new local base
|
|
jsb .strlb # Store in fp, compute ap
|
|
rsb
|