1: / 2: / 3: 4: / move, line 5: 6: sct = 2 7: / fortran vt0 interfaces 8: 9: / erase screen 10: 11: erase.: temp 12: .+2 13: jsr pc,setfil 14: mov f,r0 15: sys write; erase; 2 16: jmp retrn 17: 18: / move(x, y) 19: / 20: / sets current x,y to arguments 21: / 22: 23: .globl move. 24: .globl line. 25: .globl erase. 26: .globl frame. 27: .globl arc. 28: .globl circle. 29: 30: .globl temp 31: .globl retrn 32: 33: frame.: temp 34: .+2 35: jsr pc,setfil 36: mov 2(r3),r0 37: movb 2(r0),frame+1 38: mov f,r0 39: sys write; frame; 2 40: jmp retrn 41: 42: move.: temp 43: .+2 44: jsr pc,garg 45: mov r0,x 46: mov r1,y 47: jmp retrn 48: 49: / line(x, y) 50: / 51: / plot vector from current x,y 52: / to arguments, setting current 53: / x,y when done to arguments 54: / 55: 56: line.: temp 57: .+2 58: jsr pc,garg 59: mov r0,x1 60: mov r1,y1 61: movb $3,command 62: mov f,r0 63: sys write; command; 9 64: mov x1,x 65: mov y1,y 66: jmp retrn 67: 68: / call circle(x, y, radius) 69: / circle's center at x, y 70: 71: circle.:temp 72: .+2 73: jsr pc,garg 74: mov r0,x 75: mov r1,y 76: mov 6(r3),r0 77: mov 2(r0),r0 78: ash $2,r0 79: mov r0,x1 80: movb $5,command 81: mov f,r0 82: sys write; command; 7 83: jmp retrn 84: 85: / call arc(xo, yo, x1, y1, x2, y2) 86: / plot circle arc: origin xo,yo; 87: / counterclockwise from x1,y1 to x2,y2 88: 89: arc.: temp 90: .+2 91: jsr pc,garg 92: mov r0,x 93: mov r1,y 94: cmp (r3)+,(r3)+ 95: jsr pc,garg 96: mov r0,x1 97: mov r1,y1 98: cmp (r3)+,(r3)+ 99: jsr pc,garg 100: mov r0,x2 101: mov r1,y2 102: movb $6,command 103: mov f,r0 104: sys write; command; 13. 105: sub $8.,r3 106: jmp retrn 107: 108: setfil: 109: tst f 110: bne 1f 111: sys creat; vt; 17 112: bes 9f 113: mov r0,f 114: 1: 115: rts pc 116: 117: garg: 118: jsr pc,setfil 119: mov 2(r3),r0 120: mov 2(r0),r0 121: mov 4(r3),r1 122: mov 2(r1),r1 123: ash $2,r0 124: ash $2,r1 125: sub $2048.,r0 126: sub $2048.,r1 127: rts pc 128: 9: 129: mov $1,r0 130: sys write; bmes; emes-bmes 131: sys exit 132: 133: frame: .byte 4,0 134: erase: .byte 1,1 135: .byte 0 136: vt: </dev/vt0\0> 137: bmes: <VT unwritable.\n>; emes: 138: .bss 139: .=.+1 140: command:.=.+1 141: x: .=.+2 142: y: .=.+2 143: x1: .=.+2 144: y1: .=.+2 145: x2: .=.+2 146: y2: .=.+2 147: f: .=.+2