📄 f22.s
字号:
/// f22 -- allocate common.globl calloc.globl entry.globl declimpl.globl size.globl getc.globl getw.globl xbuf.globl code.globl typcalloc: clr r31: cmp r3,symtp bhis 1f mov symtab(r3),r0 bic $!70,r0 / class cmp r0,$40 / common block bne 3f mov r3,-(sp) mov symtab+2(r3),r3 clr r2 / byte offset2: tst r3 beq 2f jsr r5,declimpl mov symtab+4(r3),-(sp) mov 2(sp),symtab+4(r3) mov r2,symtab+6(r3) jsr r5,size add r0,r2 mov (sp)+,r3 br 2b2: mov (sp)+,r3 clr symtab+2(r3) mov r2,symtab+6(r3) / common block size3: add $8,r3 br 1b1: rts r5entry: mov progt,r0 jmp *1f(r0)1: main subr funct blocdmain: jsr r5,code <main:\n\0>; .even rts r5subr:funct: jsr r5,code <%n.: %n_\n\0>; .even 8 8 clr r31: cmp r3,symtp bhis 1f mov symtab+2(r3),r0 beq 2f mov (r0)+,r1 / num dims asl r1 add r0,r1 / ptr to last dim mov r3,-(sp) mov (r1),-(sp) / dope id clr r2 / dope offset3: add $2,r2 mov -(r1),r3 cmp r0,r1 bhi 3f neg r3 / adjustable dimension ble 3b mov r0,-(sp) jsr r5,declimpl mov symtab(r3),r0 clrb r0 swab r0 jsr r5,code < rval%dp; %n_\n\0>; .even r0 r3 mov symtab(r3),r3 bic $![377\<8+7],r3 cmp r3,$2\<8+1 / is it i*2 beq 4f bic $!7,r3 movb typ(r3),r3 jsr r5,code < %c%di2\n\0>; .even r3 r04: mov 2(sp),r0 jsr r5,code < stst; d%d+%d.\n\0>; .even r0 r2 mov (sp)+,r0 br 3b3: tst (sp)+ mov (sp)+,r32: add $8,r3 br 1b1:blocd: rts r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -