📄 rmdir.s
字号:
/ rmdir -- unlink directory mov (sp)+,r5 tst (sp)+loop: dec r5 ble done mov (sp)+,r1 mov $name,r2 clr r01: inc r0 movb (r1)+,(r2)+ bne 1b dec r2 dec r0 mov r0,size cmp r2,$name beq error sys stat; name; stbuf bes error bic $!60000,stbuf+4 cmp $40000,stbuf+4 bne error cmpb -1(r2),$'. bne 1f cmp r2,$name+1 beq error cmpb -2(r2),$'/ beq error cmpb -2(r2),$'. bne 1f cmp r2,$name+2 beq error cmpb -3(r2),$'/ beq error1: sys open; name; 0 bes error mov r0,r11: mov r1,r0 sys read; stbuf; 16. bes 1f tst r0 beq 1f tst stbuf beq 1b cmpb stbuf+2,$'. bne error1 tstb stbuf+3 beq 1b cmpb stbuf+3,$'. bne error1 tstb stbuf+4 beq 1berror1: jsr pc,prname mov r1,r0 sys close mov $1,r0 sys write; mes1; emes1-mes1 br loop1: mov r1,r0 sys close movb $'/,(r2)+ movb $'.,(r2)+ movb $'.,(r2)+ clrb (r2) sys unlink; name clrb -(r2) sys unlink; name clrb -2(r2) sys unlink; name br looperror: jsr pc,prname mov $1,r0 sys write; mes2; emes2-mes2 br loopprname: mov $1,r0 sys write; name; size:.. rts pcdone: sys exitmes1: < -- directory not empty\n>emes1:mes2: < ?\n>emes2: .even.bssname: .=.+40.stbuf: .=.+40.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -