c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) -- nil c{0: 1 (((nrows integer)) <- ((next-input))) -- nil c{0: 2 (((ncols integer)) <- ((next-input))) -- nil c{0: 3 (((result screen-address)) <- ((new)) ((screen literal)) ((nrows integer))) -- nil c{0: 4 (((rowidx integer)) <- ((copy)) ((0 literal))) -- nil c{0: 5 (((curr-line-address-address line-address-address)) <- ((index-address)) ((result screen-address) (deref)) ((rowidx integer))) -- ((open 5)) c{0: 6 (((curr-line-address-address line-address-address) (deref)) <- ((new)) ((line literal)) ((ncols integer))) -- ((open 5)) c{0: 7 (((curr-line-address line-address)) <- ((copy)) ((curr-line-address-address line-address-address) (deref))) -- ((open 5)) c{0: 8 (((rowidx integer)) <- ((add)) ((rowidx integer)) ((1 literal))) -- ((open 5)) c{0: 9 (((x boolean)) <- ((not-equal)) ((rowidx integer)) ((nrows integer))) -- ((open 5)) c{0: 10 (((loop-if)) ((x boolean))) -- ((open 5)) c{0: 11 (((reply)) ((result screen-address))) -- ((close 11) (open 5)) c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) c{1: 1 ✓ (((nrows integer)) <- ((next-input))) c{1: 2 ✓ (((ncols integer)) <- ((next-input))) c{1: 3 ✓ (((result screen-address)) <- ((new)) ((screen literal)) ((nrows integer))) c{1: 4 ✓ (((rowidx integer)) <- ((copy)) ((0 literal))) c{1: 5 ✓ (((curr-line-address-address line-address-address)) <- ((index-address)) ((result screen-address) (deref)) ((rowidx integer))) c{1: 6 ✓ (((curr-line-address-address line-address-address) (deref)) <- ((new)) ((line literal)) ((ncols integer))) c{1: 7 ✓ (((curr-line-address line-address)) <- ((copy)) ((curr-line-address-address line-address-address) (deref))) c{1: 8 ✓ (((rowidx integer)) <- ((add)) ((rowidx integer)) ((1 literal))) c{1: 9 ✓ (((x boolean)) <- ((not-equal)) ((rowidx integer)) ((nrows integer))) c{1: 10 X (((loop-if)) ((x boolean))) => (((jump-if)) ((x boolean)) ((-6 offset))) c{1: 11 ✓ (((reply)) ((result screen-address))) c{0: 0 (((1 screen-address) (global)) <- ((new-screen)) ((5 literal)) ((5 literal))) -- nil c{1: 0 ✓ (((1 screen-address) (global)) <- ((new-screen)) ((5 literal)) ((5 literal))) cn0: convert-names in new-screen cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) nil nil cn0: checking arg ((space literal)) cn0: checking arg ((30 literal)) cn0: checking oarg ((default-space space-address)) maybe-add: ((default-space space-address)) cn0: (((nrows integer)) <- ((next-input))) nil nil cn0: checking oarg ((nrows integer)) maybe-add: ((nrows integer)) cn0: location for oarg ((nrows integer)): 1 cn0: (((ncols integer)) <- ((next-input))) ((nrows 1)) nil cn0: checking oarg ((ncols integer)) maybe-add: ((ncols integer)) cn0: location for oarg ((ncols integer)): 2 cn0: (((result screen-address)) <- ((new)) ((screen literal)) ((nrows integer))) ((ncols 2) (nrows 1)) nil cn0: checking arg ((screen literal)) cn0: checking arg ((nrows integer)) maybe-add: ((nrows integer)) cn0: checking oarg ((result screen-address)) maybe-add: ((result screen-address)) cn0: location for oarg ((result screen-address)): 3 cn0: (((rowidx integer)) <- ((copy)) ((0 literal))) ((ncols 2) (nrows 1) (result 3)) nil cn0: checking arg ((0 literal)) cn0: checking oarg ((rowidx integer)) maybe-add: ((rowidx integer)) cn0: location for oarg ((rowidx integer)): 4 cn0: (((curr-line-address-address line-address-address)) <- ((index-address)) ((result screen-address) (deref)) ((rowidx integer))) ((ncols 2) (nrows 1) (result 3) (rowidx 4)) nil cn0: checking arg ((result screen-address) (deref)) maybe-add: ((result screen-address) (deref)) cn0: checking arg ((rowidx integer)) maybe-add: ((rowidx integer)) cn0: checking oarg ((curr-line-address-address line-address-address)) maybe-add: ((curr-line-address-address line-address-address)) cn0: location for oarg ((curr-line-address-address line-address-address)): 5 cn0: (((curr-line-address-address line-address-address) (deref)) <- ((new)) ((line literal)) ((ncols integer))) ((curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4)) nil cn0: checking arg ((line literal)) cn0: checking arg ((ncols integer)) maybe-add: ((ncols integer)) cn0: checking oarg ((curr-line-address-address line-address-address) (deref)) maybe-add: ((curr-line-address-address line-address-address) (deref)) cn0: (((curr-line-address line-address)) <- ((copy)) ((curr-line-address-address line-address-address) (deref))) ((curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4)) nil cn0: checking arg ((curr-line-address-address line-address-address) (deref)) maybe-add: ((curr-line-address-address line-address-address) (deref)) cn0: checking oarg ((curr-line-address line-address)) maybe-add: ((curr-line-address line-address)) cn0: location for oarg ((curr-line-address line-address)): 6 cn0: (((rowidx integer)) <- ((add)) ((rowidx integer)) ((1 literal))) ((curr-line-address 6) (curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4)) nil cn0: checking arg ((rowidx integer)) maybe-add: ((rowidx integer)) cn0: checking arg ((1 literal)) cn0: checking oarg ((rowidx integer)) maybe-add: ((rowidx integer)) cn0: (((x boolean)) <- ((not-equal)) ((rowidx integer)) ((nrows integer))) ((curr-line-address 6) (curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4)) nil cn0: checking arg ((rowidx integer)) maybe-add: ((rowidx integer)) cn0: checking arg ((nrows integer)) maybe-add: ((nrows integer)) cn0: checking oarg ((x boolean)) maybe-add: ((x boolean)) cn0: location for oarg ((x boolean)): 7 cn0: (((jump-if)) ((x boolean)) ((-6 offset))) ((curr-line-address 6) (curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4) (x 7)) nil cn0: checking arg ((x boolean)) maybe-add: ((x boolean)) cn0: checking arg ((-6 offset)) cn0: (((reply)) ((result screen-address))) ((curr-line-address 6) (curr-line-address-address 5) (ncols 2) (nrows 1) (result 3) (rowidx 4) (x 7)) nil cn0: checking arg ((result screen-address)) maybe-add: ((result screen-address)) cn0: convert-names in test-new-screen cn0: (((1 screen-address) (global)) <- ((new-screen)) ((5 literal)) ((5 literal))) nil nil cn0: checking arg ((5 literal)) cn0: checking arg ((5 literal)) cn0: checking oarg ((1 screen-address) (global)) maybe-add: ((1 screen-address) (global)) cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) cn1: (((1 integer)) <- ((next-input))) cn1: (((2 integer)) <- ((next-input))) cn1: (((3 screen-address)) <- ((new)) ((screen literal)) ((1 integer))) cn1: (((4 integer)) <- ((copy)) ((0 literal))) cn1: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) cn1: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) cn1: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) cn1: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) cn1: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) cn1: (((jump-if)) ((7 boolean)) ((-6 offset))) cn1: (((reply)) ((3 screen-address))) cn1: (((1 screen-address) (global)) <- ((new-screen)) ((5 literal)) ((5 literal))) schedule: test-new-screen run: test-new-screen 0: (((1 screen-address) (global)) <- ((new-screen)) ((5 literal)) ((5 literal))) run: new-screen/test-new-screen 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: new-screen/test-new-screen 0: 101000 => ((default-space space-address)) run: new-screen/test-new-screen 1: (((1 integer)) <- ((next-input))) arg: nil 0 (5 5) run: new-screen/test-new-screen 1: 5 => ((1 integer)) mem: ((1 integer)): 101002 <= 5 run: new-screen/test-new-screen 2: (((2 integer)) <- ((next-input))) arg: nil 1 (5 5) run: new-screen/test-new-screen 2: 5 => ((2 integer)) mem: ((2 integer)): 101003 <= 5 run: new-screen/test-new-screen 3: (((3 screen-address)) <- ((new)) ((screen literal)) ((1 integer))) mem: ((1 integer)) => 5 run: new-screen/test-new-screen 3: 101031 => ((3 screen-address)) mem: ((3 screen-address)): 101004 <= 101031 run: new-screen/test-new-screen 4: (((4 integer)) <- ((copy)) ((0 literal))) run: new-screen/test-new-screen 4: 0 => ((4 integer)) mem: ((4 integer)): 101005 <= 0 run: new-screen/test-new-screen 5: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) mem: ((4 integer)) => 0 array-len: ((101031 screen) (raw)) mem: ((101031 integer) (raw)) => 5 run: new-screen/test-new-screen 5: 101032 => ((5 line-address-address)) mem: ((5 line-address-address)): 101006 <= 101032 run: new-screen/test-new-screen 6: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) mem: ((2 integer)) => 5 run: new-screen/test-new-screen 6: 101037 => ((5 line-address-address) (deref)) mem: ((5 line-address-address) (deref)): 101032 <= 101037 run: new-screen/test-new-screen 7: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) mem: ((5 line-address-address) (deref)) => 101037 run: new-screen/test-new-screen 7: 101037 => ((6 line-address)) mem: ((6 line-address)): 101007 <= 101037 run: new-screen/test-new-screen 8: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 0 run: new-screen/test-new-screen 8: 1 => ((4 integer)) mem: ((4 integer)): 101005 <= 1 run: new-screen/test-new-screen 9: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) mem: ((4 integer)) => 1 mem: ((1 integer)) => 5 run: new-screen/test-new-screen 9: t => ((7 boolean)) mem: ((7 boolean)): 101008 <= t run: new-screen/test-new-screen 10: (((jump-if)) ((7 boolean)) ((-6 offset))) mem: ((7 boolean)) => t run: new-screen/test-new-screen 5: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) mem: ((4 integer)) => 1 array-len: ((101031 screen) (raw)) mem: ((101031 integer) (raw)) => 5 run: new-screen/test-new-screen 5: 101033 => ((5 line-address-address)) mem: ((5 line-address-address)): 101006 <= 101033 run: new-screen/test-new-screen 6: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) mem: ((2 integer)) => 5 run: new-screen/test-new-screen 6: 101043 => ((5 line-address-address) (deref)) mem: ((5 line-address-address) (deref)): 101033 <= 101043 run: new-screen/test-new-screen 7: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) mem: ((5 line-address-address) (deref)) => 101043 run: new-screen/test-new-screen 7: 101043 => ((6 line-address)) mem: ((6 line-address)): 101007 <= 101043 run: new-screen/test-new-screen 8: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 1 run: new-screen/test-new-screen 8: 2 => ((4 integer)) mem: ((4 integer)): 101005 <= 2 run: new-screen/test-new-screen 9: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) mem: ((4 integer)) => 2 mem: ((1 integer)) => 5 run: new-screen/test-new-screen 9: t => ((7 boolean)) mem: ((7 boolean)): 101008 <= t run: new-screen/test-new-screen 10: (((jump-if)) ((7 boolean)) ((-6 offset))) mem: ((7 boolean)) => t run: new-screen/test-new-screen 5: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) mem: ((4 integer)) => 2 array-len: ((101031 screen) (raw)) mem: ((101031 integer) (raw)) => 5 run: new-screen/test-new-screen 5: 101034 => ((5 line-address-address)) mem: ((5 line-address-address)): 101006 <= 101034 run: new-screen/test-new-screen 6: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) mem: ((2 integer)) => 5 run: new-screen/test-new-screen 6: 101049 => ((5 line-address-address) (deref)) mem: ((5 line-address-address) (deref)): 101034 <= 101049 run: new-screen/test-new-screen 7: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) mem: ((5 line-address-address) (deref)) => 101049 run: new-screen/test-new-screen 7: 101049 => ((6 line-address)) mem: ((6 line-address)): 101007 <= 101049 run: new-screen/test-new-screen 8: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 2 run: new-screen/test-new-screen 8: 3 => ((4 integer)) mem: ((4 integer)): 101005 <= 3 run: new-screen/test-new-screen 9: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) mem: ((4 integer)) => 3 mem: ((1 integer)) => 5 run: new-screen/test-new-screen 9: t => ((7 boolean)) mem: ((7 boolean)): 101008 <= t run: new-screen/test-new-screen 10: (((jump-if)) ((7 boolean)) ((-6 offset))) mem: ((7 boolean)) => t run: new-screen/test-new-screen 5: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) mem: ((4 integer)) => 3 array-len: ((101031 screen) (raw)) mem: ((101031 integer) (raw)) => 5 run: new-screen/test-new-screen 5: 101035 => ((5 line-address-address)) mem: ((5 line-address-address)): 101006 <= 101035 run: new-screen/test-new-screen 6: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) mem: ((2 integer)) => 5 run: new-screen/test-new-screen 6: 101055 => ((5 line-address-address) (deref)) mem: ((5 line-address-address) (deref)): 101035 <= 101055 run: new-screen/test-new-screen 7: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) mem: ((5 line-address-address) (deref)) => 101055 run: new-screen/test-new-screen 7: 101055 => ((6 line-address)) mem: ((6 line-address)): 101007 <= 101055 run: new-screen/test-new-screen 8: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 3 run: new-screen/test-new-screen 8: 4 => ((4 integer)) mem: ((4 integer)): 101005 <= 4 run: new-screen/test-new-screen 9: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) mem: ((4 integer)) => 4 mem: ((1 integer)) => 5 run: new-screen/test-new-screen 9: t => ((7 boolean)) mem: ((7 boolean)): 101008 <= t run: new-screen/test-new-screen 10: (((jump-if)) ((7 boolean)) ((-6 offset))) mem: ((7 boolean)) => t run: new-screen/test-new-screen 5: (((5 line-address-address)) <- ((index-address)) ((3 screen-address) (deref)) ((4 integer))) mem: ((4 integer)) => 4 array-len: ((101031 screen) (raw)) mem: ((101031 integer) (raw)) => 5 run: new-screen/test-new-screen 5: 101036 => ((5 line-address-address)) mem: ((5 line-address-address)): 101006 <= 101036 run: new-screen/test-new-screen 6: (((5 line-address-address) (deref)) <- ((new)) ((line literal)) ((2 integer))) mem: ((2 integer)) => 5 run: new-screen/test-new-screen 6: 101061 => ((5 line-address-address) (deref)) mem: ((5 line-address-address) (deref)): 101036 <= 101061 run: new-screen/test-new-screen 7: (((6 line-address)) <- ((copy)) ((5 line-address-address) (deref))) mem: ((5 line-address-address) (deref)) => 101061 run: new-screen/test-new-screen 7: 101061 => ((6 line-address)) mem: ((6 line-address)): 101007 <= 101061 run: new-screen/test-new-screen 8: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 4 run: new-screen/test-new-screen 8: 5 => ((4 integer)) mem: ((4 integer)): 101005 <= 5 run: new-screen/test-new-screen 9: (((7 boolean)) <- ((not-equal)) ((4 integer)) ((1 integer))) mem: ((4 integer)) => 5 mem: ((1 integer)) => 5 run: new-screen/test-new-screen 9: nil => ((7 boolean)) mem: ((7 boolean)): 101008 <= nil run: new-screen/test-new-screen 10: (((jump-if)) ((7 boolean)) ((-6 offset))) mem: ((7 boolean)) => nil run: new-screen/test-new-screen 11: (((reply)) ((3 screen-address))) mem: ((3 screen-address)) => 101031 run: test-new-screen 0: 101031 => ((1 screen-address) (global)) mem: ((1 screen-address) (global)): 1 <= 101031 schedule: done with routine nil