Hey David!
For my small memory boards (e.g. Adafruit Neo Trinkey) that I’m using your ARM assembler functions to blink the NeoPixels onboard. After getting all my functions onboard I do a save-image first so that all the assembler functions are saved there. After a restart and everything’s loaded fine I call my little function, clr-asm. My free memory goes from 84 to 2057. clr-asm just unbinds all the assembler instructions which, after being loaded, aren’t needed. If I need them again, I just reset and add my new code, save-image, lather, rinse, and repeat. :)
(defun clr-asm ()
(dolist (i '(regno emit error offset $word lsl-lsr-0 add-sub-1 mov-sub-2-3
add-mov-4 reg-reg bx-blx str-ldr str-ldr-5 add-10
add-sub-11 push-pop b-cond-13 $adc $add $and $asr $b
$bcc $bcs $beq $bge $bgt $bhi $bhs $ble $blo $blt $bmi
$bne $bpl $bic $bl $blx $bx $cmn $cmp $eor $ldr $ldrb
$ldrh $ldrsb $ldrsh $lsl $lsr $mov $mul $mvn $neg $nop
$orr $push $pop $rev $rev16 $revsh $ror $sbc $str $strb
$sub $sxtb $sxth $tst $uxtb $uxth outclr outset dirset
$cpsie $cpsid cpside clr-asm))
(makunbound i)))
FWIW!
-Rusty-