📄 get.s
字号:
/ getw/getc -- get words/characters from input file/ fopen -- open a file for use by get(c|w)// calling sequences --// mov $filename,r0/ jsr r5,fopen; ioptr// on return ioptr buffer is set up or error bit is set if/ file could not be opened.// jsr r5,get(c|w)1; ioptr// on return char/word is in r0; error bit is/ set on error or end of file.// ioptr is the address of a 518-byte buffer/ whose layout is as follows:// ioptr: .=.+2 / file descriptor/ .=.+2 / charact+2 / pointer to next character (reset if no. chars=0)/ .=.+512. / the buffer .globl getc,getw,fopenfopen: mov r1,-(sp) mov (r5)+,r1 mov r0,0f sys 0; 9f.data9: sys open; 0:..; 0.text bes 1f mov r0,(r1)+ clr (r1)+ mov (sp)+,r1 rts r51: mov $-1,(r1) mov (sp)+,r1 sec rts r5.datagetw: mov (r5),9f mov (r5)+,8f jsr r5,getc; 8:.. bec 1f rts r51: mov r0,-(sp) jsr r5,getc; 9:.. swab r0 bis (sp)+,r0 rts r5.textgetc: mov r1,-(sp) mov (r5)+,r1 dec 2(r1) bge 1f mov r1,r0 add $6,r0 mov r0,0f mov r0,4(r1) mov (r1),r0 sys 0; 9f.data9: sys read; 0:..; 512..text bes 2f tst r0 bne 3f2: mov (sp)+,r1 sec rts r53: dec r0 mov r0,2(r1)1: clr r0 bisb *4(r1),r0 inc 4(r1) mov (sp)+,r1 rts r5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -