12345678910111213141516171819202122232425262728293031 |
- .define .strhp
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- .strhp:
- move.l 4(sp), d1 ! new heap pointer
- cmp.l .limhp, d1
- blt 1f
- add.l #0x400, d1
- and.l #~0x3ff, d1
- move.l d1, -(sp)
- move.l d1,.limhp
- jsr BRK ! allocate 1K bytes of extra storage
- add.l #4, sp
- tst.l d0
- bne 2f
- 1:
- move.l 4(sp), .reghp ! store new value of heap pointer
- move.l (sp)+,a0
- move.l a0,(sp)
- rts
- 2:
- move.l #EHEAP, -(sp)
- jsr .trp
- move.l (sp)+,a0
- move.l a0,(sp)
- rts
- .align 2
|