📄 nlist.s
字号:
/ nlist -- extract values from name list// nlist(file, list);/.globl _nlist_nlist: mov r5,-(sp) mov sp,r5 mov 4(r5),0f mov 6(r5),r1 mov r2,-(sp) mov r1,r01: tst (r0) beq 1f add $8.,r0 clr (r0)+ clr (r0)+ / initialize to undefined br 1b1: sys 0; 9f.data9: sys open; 0:..; 0.text bes done mov r0,r2 sys read; buf; 20 cmp r0,$20 bne cdone mov buf+4,count / assume older a.out mov buf+2,0f cmp buf,$405 beq 1f mov buf+8.,count / now assume newer mov buf+2,r0 / txt add buf+4,r0 / data cmp buf+16,$1 / relocation? beq 4f asl r0 / txt+data reloc4: add $20,r0 / header mov r0,0f cmp buf,$411 beq 1f cmp buf,$410 beq 1f cmp buf,$407 bne cdone1: mov r2,r0 sys 0; 9f.data9: sys seek; 0:..; 0.text1: sub $12.,count blt cdone mov r2,r0 sys read; buf; 12. cmp r0,$12. bne cdone mov r1,r02: tst (r0) beq 1b cmp (r0),buf bne 1f cmp 2(r0),buf+2 bne 1f cmp 4(r0),buf+4 bne 1f cmp 6(r0),buf+6 bne 1f mov buf+8.,8.(r0) mov buf+10.,10.(r0)1: add $12.,r0 br 2bcdone: mov r2,r0 sys closedone: mov (sp)+,r2 mov (sp)+,r5 rts pc.bssbuf: .=.+20count: .=.+2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -