📄 chown.s
字号:
/ chown -- change owner .globl fopen, getc, mesg mov sp,r5 mov (r5),r4 cmp r4,$3 bge 1f jsr r5,mesg; <chown uid f1 ...\n\0>; .even1: add $4,r5 mov (r5),r3 cmpb (r3),$'0 blt 1f cmpb (r3),$'9 bgt 1f jsr r5,cvnum; geta br do1: mov $uids,r0 jsr r5,fopen; ubuf bec 1f jsr r5,mesg; <Can't open /etc/uids\n\0>; .even sys exit1: mov r3,r22: jsr r5,getc; ubuf bcc 3fwho: jsr r5,mesg; <Who?\n\0>; .even sys exit3: cmp r0,$': beq 3f cmpb (r2)+,r0 beq 2b2: jsr r5,getc; ubuf bcs who cmp r0,$'\n bne 2b br 1b3: tstb (r2) bne 2b3: jsr r5,getc; ubuf cmpb r0,$': bne 3b jsr r5,cvnum; getcdo: sub $2,r4 mov r1,0f+2 tst (r5)+1: mov (r5),0f mov (r5)+,9f sys stat; 9:..; statb movb statb+8,0f+3 sys chown; 0:..; 0 bec 2f mov 0b,r0 mov r0,0f clr 0f+23: tstb (r0)+ beq 3f inc 0f+2 br 3b3: mov $1,r0 sys write; 0:..; .. jsr r5,mesg; <?\n\0>; .even2: dec r4 bgt 1b sys exitcvnum: clr r11: jsr r5,*(r5); ubuf bcs 1f sub $'0,r0 cmp r0,$9. bhi 1f mpy $10.,r1 add r0,r1 br 1b1: tst (r5)+ rts r5geta: movb (r3)+,r0 tst (r5)+ rts r5uids: </etc/passwd\0> .bssstatb: .=.+36.ubuf: .=.+518.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -