1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- .text
- .align 4
- .globl _start
- .globl start
- _start:
- start:
- | Save stack pointer for exit() routine
- movel sp,STKPTR | save stack pointer
- | This was wrong compared to PCQ
- | addl #4,STKPTR | account for this jsr to get to original
- | Save the command line pointer to CommandLine
- movel a0,__ARGS
- beq .Ldont_nullit
- | Remove $0a character from end of string
- movew d0,d1
- subqw #1,d1
- cmpb #0x0a,a0@(0,d1:w)
- bne .Lcontt
- | Decrement count by one to remove the $0a character
- movew d1,d0
- .Lcontt:
- moveb #0,a0@(0,d0:w) | null terminate it
- movew d0,__ARGC
- .Ldont_nullit:
- jsr PASCALMAIN
- movel STKPTR,sp
- rts
- .data
- .align 4
- .globl __ARGS
- __ARGS: | pointer to the arguments
- .long 0
- .globl __ARGC
- __ARGC: | number of arguments
- .word 0
- .globl STKPTR | Used to terminate the program, initial SP
- STKPTR:
- .long 0
|