optimizing map
* optimize the base case
* combine adjacent pop/load
map: gettag val, arg2
cmp val, #4
jump.ne next
rts
next: push arg1
push arg2
getcdr arg2, arg2
jsr map
pop arg2
pop proc
push val
getcar arg1, arg2
jsr 0(proc)
load arg1, val
pop arg2
jsr cons
rts