65-wprgm-wait-loop (in W/PRGM mode, at step 100) HP65 Logging started. ; A= 90000035001900 M= 00000000000231 ; B= 09999900900099 S= ............ f= ..2..5.. P= 1 00726 if s9 = 0 00727 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 ; if no keypress 00624 goto 00452 00452 0 -> s10 ; allow interrupt 00453 if s5 = 0 ; if no error 00454 goto 00750 00750 if s8 = 0 ; if not running 00751 goto 00441 00441 0 -> s11 ;\ 00442 0 -> f0 ; \ 00443 if s11 = 0 ; \ if f0 clear 00444 goto 00620 00620 if s8 = 0 ; if not running 00621 goto 00531 display: 00531 0 -> s3 ; assume not in W/PRGM mode 00532 1 -> f2 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 00536 0 -> f3 00537 if s3 = 0 ; check not in W/PRGM mode 00540 goto 00552 ; but we are (H/W switch overrides S/W 0 -> s3) 00541 if s11 = 0 ; if f3 (display needed) wasn't set 00542 goto 00721 00721 if c[p] >= 1 00722 goto 00742 00742 c - 1 -> c[p] ; C= 00000000000221 00743 c - 1 -> c[p] ; C= 00000000000211 00744 if c[p] >= 1 00745 goto 00774 00774 c + 1 -> c[p] ; C= 00000000000221 00775 c + 1 -> c[p] ; C= 00000000000231 00776 c <-> m ; C= 00000000000000 M= 00000000000231 00777 goto 00726 ======= Again but at step 1 (" 23") then press SST HP65 Logging started. ; A= 00000000023000 M= 00000000000231 ; B= 99999999900999 S= ............ f= ..2..5.. P= 1 00726 if s9 = 0 00727 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00452 0 -> s10 00453 if s5 = 0 00454 goto 00750 00750 if s8 = 0 00751 goto 00441 00441 0 -> s11 00442 0 -> f0 00443 if s11 = 0 00444 goto 00620 00620 if s8 = 0 00621 goto 00531 display: 00531 0 -> s3 00532 1 -> f2 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 00536 0 -> f3 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00721 if c[p] >= 1 00722 goto 00742 00742 c - 1 -> c[p] ; C= 00000000000221 00743 c - 1 -> c[p] ; C= 00000000000211 00744 if c[p] >= 1 00745 goto 00774 00774 c + 1 -> c[p] ; C= 00000000000221 00775 c + 1 -> c[p] ; C= 00000000000231 00776 c <-> m ; C= 00000000000000 M= 00000000000231 00777 goto 00726 00726 if s9 = 0 00727 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00452 0 -> s10 00453 if s5 = 0 00454 goto 00750 00750 if s8 = 0 00751 goto 00441 ; S= 0........... 00441 0 -> s11 00442 0 -> f0 00443 if s11 = 0 00444 goto 00620 00620 if s8 = 0 00621 goto 00531 display: 00531 0 -> s3 00532 1 -> f2 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 00536 0 -> f3 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00721 if c[p] >= 1 00722 goto 00742 00742 c - 1 -> c[p] ; C= 00000000000221 00743 c - 1 -> c[p] ; C= 00000000000211 00744 if c[p] >= 1 00745 goto 00774 00774 c + 1 -> c[p] ; C= 00000000000221 00775 c + 1 -> c[p] ; C= 00000000000231 00776 c <-> m ; C= 00000000000000 M= 00000000000231 00777 goto 00726 00726 if s9 = 0 ; S= 0........... 00727 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00625 p + 1 -> p ; P= 13 00626 if p # 12 00627 goto 00625 ; P= 14, 15, 0, 1, 2, ..., 11 00625 p + 1 -> p ; P= 12 00626 if p # 12 00627 goto 00625 ; 00630 0 -> s0 ; S= ............ 00631 if s10 = 0 00632 goto 00641 00641 if s5 = 0 00642 goto 00734 00734 if s8 = 0 00735 goto 00710 00710 jsb 00675 00675 12 -> p 00676 1 -> f3 ; f= ..23.5.. 00677 dispoff 00700 c <-> m ; C= 00000000000231 M= 00000000000000 00701 shiftl a[w] ; A= 00000000230000 00702 return 00711 1 -> f7 ; f= ..23.5.7 00712 if s3 = 0 00713 goto 00715 00714 rom 4 02315 key -> rom ; f= ..23.5.. ; [SST] 02050 goto 02163 02163 p - 1 -> p ; P= 11 02164 p - 1 -> p ; P= 10 02165 p - 1 -> p ; P= 9 02166 p - 1 -> p ; P= 8 02167 if p # 8 02170 goto 02305 02171 jsb 02276 02276 c <-> m ; C= 00000000000000 M= 00000000000231 02277 shiftr a[w] ; A= 00000000023000 02300 c -> a[s] 02301 return 02172 1 -> s9 ; S= .........9.. 02173 pointer advance ; f= ..23.... 02174 if s3 = 0 02175 goto 02020 02176 goto 02343 02343 jsb 02127 02127 0 -> s11 02130 0 -> f5 02131 if s11 = 0 02132 goto 02130 ; f= ..23.5.. 02130 0 -> f5 ; S= .........9.b f= ..23.... 02131 if s11 = 0 ; f= ..23.5.. 02132 goto 02130 02133 0 -> f5 ; f= ..23.... 02134 return ; f= ..23.5.. 02344 1 -> f3 02345 goto 02217 02217 rom 1 00620 if s8 = 0 00621 goto 00531 display: 00531 0 -> s3 00532 1 -> f2 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 ; S= .........9.. 00536 0 -> f3 ; S= .........9.b f= ..2..5.. 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00543 c <-> m ; C= 00000000000000 M= 00000000000231 00544 delayed select group 1 00545 rom 3 05546 dispoff 05547 0 -> f2 ; f= .....5.. 05550 c -> a[w] ; A= 00000000000000 05551 a <-> b[w] ; A= 99999999900999 B= 00000000000000 05552 1 -> s5 ; S= .....5...9.b 05553 memory full -> a ; A= 99999999900990 05554 0 -> p ; P= 0 05555 if a[p] >= 1 05556 goto 05560 05557 0 -> s5 ; S= .........9.b 05560 0 -> a[w] ; A= 00000000000000 05561 a - 1 -> a[w] ; A= 99999999999999 05562 shiftl a[m] ; A= 99999999990999 05563 shiftl a[m] ; A= 99999999900999 05564 0 -> c[w] 05565 4 -> p ; P= 4 05566 0 -> s4 05567 buffer -> rom address 05570 goto 05400 05436 goto 05616 05616 load 1 ; C= 00000000010000 P= 3 05617 goto 05743 05743 c + 1 -> c[m] ; C= 00000000011000 05744 if s4 = 0 05745 goto 05711 05711 if s5 = 0 05712 goto 05723 05723 a <-> c[w] ; A= 00000000011000 C= 99999999900999 05724 b <-> c[w] ; B= 99999999900999 C= 00000000000000 05725 clearstatus ; S= ............ 05726 delayed select group 0 05727 rom 1 00730 0 -> s9 00731 1 -> s10 ; S= ..........a. 00732 disptoggle 00733 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00452 0 -> s10 ; S= ............ 00453 if s5 = 0 00454 goto 00750 00750 if s8 = 0 00751 goto 00441 00441 0 -> s11 00442 0 -> f0 00443 if s11 = 0 00444 goto 00620 00620 if s8 = 0 00621 goto 00531 display: 00531 0 -> s3 00532 1 -> f2 ; f= ..2..5.. 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 00536 0 -> f3 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00721 if c[p] >= 1 00722 goto 00742 00742 c - 1 -> c[p] ; C= 00000000000221 00743 c - 1 -> c[p] ; C= 00000000000211 00744 if c[p] >= 1 00745 goto 00774 00774 c + 1 -> c[p] ; C= 00000000000221 00775 c + 1 -> c[p] ; C= 00000000000231 00776 c <-> m ; C= 00000000000000 M= 00000000000231 00777 goto 00726 ============= W/PRGM mode. At step 99 (61 pointer (075) in prgmem[100]) Press [SST] HP65 Logging started. ; A= 00000035001000 M= 00000000000231 ; B= 99999900900999 S= 0........... f= ..2..5.. P= 1 00726 if s9 = 0 00727 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00625 p + 1 -> p ; P= 13 00626 if p # 12 00627 goto 00625 ; P= 14, 15, 0, 1, 2, ..., 11 00627 goto 00625 00625 p + 1 -> p ; P= 12 00626 if p # 12 00627 goto 00625 00630 0 -> s0 ; S= ............ 00631 if s10 = 0 00632 goto 00641 00641 if s5 = 0 00642 goto 00734 00734 if s8 = 0 00735 goto 00710 00710 jsb 00675 .00675 12 -> p .00676 1 -> f3 ; f= ..23.5.. .00677 dispoff .00700 c <-> m ; C= 00000000000231 M= 00000000000000 .00701 shiftl a[w] ; A= 00000350010000 .00702 return 00711 1 -> f7 ; f= ..23.5.7 00712 if s3 = 0 00713 goto 00715 00714 rom 4 02315 key -> rom ; f= ..23.5.. ; [SST] 02050 goto 02163 02163 p - 1 -> p ; P= 11 02164 p - 1 -> p ; P= 10 02165 p - 1 -> p ; P= 9 02166 p - 1 -> p ; P= 8 02167 if p # 8 02170 goto 02305 02171 jsb 02276 .02276 c <-> m ; C= 00000000000000 M= 00000000000231 .02277 shiftr a[w] ; A= 00000035001000 .02300 c -> a[s] .02301 return 02172 1 -> s9 ; S= .........9.. 02173 pointer advance ; f= ..23.... 02174 if s3 = 0 02175 goto 02020 02176 goto 02343 02343 jsb 02127 .02127 0 -> s11 .02130 0 -> f5 .02131 if s11 = 0 .02132 goto 02130 ; f= ..23.5.. .02130 0 -> f5 ; S= .........9.b f= ..23.... .02131 if s11 = 0 ; f= ..23.5.. .02132 goto 02130 .02133 0 -> f5 ; f= ..23.... .02134 return ; f= ..23.5.. 02344 1 -> f3 02345 goto 02217 02217 rom 1 00620 if s8 = 0 00621 goto 00531 00531 0 -> s3 00532 1 -> f2 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 ; S= .........9.. 00536 0 -> f3 ; S= .........9.b f= ..2..5.. 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00543 c <-> m ; C= 00000000000000 M= 00000000000231 00544 delayed select group 1 00545 rom 3 05546 dispoff 05547 0 -> f2 ; f= .....5.. (clear f2) 05550 c -> a[w] ; A= 00000000000000 05551 a <-> b[w] ; A= 99999900900999 B= 00000000000000 05552 1 -> s5 ; S= .....5...9.b 05553 memory full -> a ; A= 999999009009913 f= ..2..5.. (f2 set if ptr at step100) ; NOTE: A[0] >0 because ptr 61 (075 = 111101) is in prgmem[101] this shows as 13 above. 05554 0 -> p ; P= 0 05555 if a[p] >= 1 05556 goto 05560 ; skips: 05557 0 -> s5 => s5 here = memory full so show trailing "-" 05560 0 -> a[w] ; A= 00000000000000 05561 a - 1 -> a[w] ; A= 99999999999999 05562 shiftl a[m] ; A= 99999999990999 05563 shiftl a[m] ; A= 99999999900999 05564 0 -> c[w] 05565 4 -> p ; P= 4 05566 0 -> s4 05567 buffer -> rom address 05570 goto 05400 ; prog code= 00 05400 goto 05502 05502 1 -> s4 ; S= ....45...9.b 05503 jsb 05642 ; setup for "35 00" .05642 load 3 ; C= 00000000030000 P= 3 .05643 goto 05737 .05737 c + 1 -> c[m] ; C= 00000000031000 .05740 c + 1 -> c[m] ; C= 00000000032000 .05741 c + 1 -> c[m] ; C= 00000000033000 .05742 c + 1 -> c[m] ; C= 00000000034000 .05743 c + 1 -> c[m] ; C= 00000000035000 .05744 if s4 = 0 .05745 goto 05711 .05746 0 -> s4 ; S= .....5...9.b .05747 a <-> c[w] ; A= 00000000035000 C= 99999999900999 .05750 shiftl a[m] ; A= 00000000350000 .05751 shiftl a[m] ; A= 00000003500000 .05752 shiftl a[m] ; A= 00000035000000 .05753 7 -> p ; P= 7 .05754 load 0 ; C= 99999909900999 P= 6 .05755 load 0 ; C= 99999900900999 P= 5 .05756 a <-> c[w] ; A= 99999900900999 C= 00000035000000 .05757 4 -> p ; P= 4 .05760 return 05504 goto 05743 05743 c + 1 -> c[m] ; C= 00000035001000 05744 if s4 = 0 05745 goto 05711 05711 if s5 = 0 ; if not prgm mem full 05712 goto 05723 ; skip over this stuff ; ; show trailing minus (mem full, or at step100) 05713 c - 1 -> c[xs] ; C= 00000035001900 05714 0 -> a[xs] ; A= 99999900900099 ; ; if f2 was 1 (at step100), set leading minus 05715 0 -> s11 ; S= .....5...9.. 05716 0 -> f2 ; S= .....5...9.b f= .....5.. 05717 if s11 = 0 05720 goto 05723 05721 c - 1 -> c[s] ; C= 90000035001900 05722 0 -> a[s] ; A= 09999900900099 ; 05723 a <-> c[w] ; A= 90000035001900 C= 09999900900099 05724 b <-> c[w] ; B= 09999900900099 C= 00000000000000 05725 clearstatus ; S= ............ 05726 delayed select group 0 05727 rom 1 00730 0 -> s9 00731 1 -> s10 ; S= ..........a. 00732 disptoggle ; show "- 35 01- " 00733 goto 00622 00622 12 -> p ; P= 12 00623 if s0 = 0 00624 goto 00452 00452 0 -> s10 ; S= ............ 00453 if s5 = 0 00454 goto 00750 00750 if s8 = 0 00751 goto 00441 00441 0 -> s11 00442 0 -> f0 00443 if s11 = 0 00444 goto 00620 00620 if s8 = 0 00621 goto 00531 display: 00531 0 -> s3 00532 1 -> f2 ; f= ..2..5.. 00533 1 -> p ; P= 1 00534 c <-> m ; C= 00000000000231 M= 00000000000000 00535 0 -> s11 00536 0 -> f3 00537 if s3 = 0 00540 goto 00552 00541 if s11 = 0 00542 goto 00721 00721 if c[p] >= 1 00722 goto 00742 00742 c - 1 -> c[p] ; C= 00000000000221 00743 c - 1 -> c[p] ; C= 00000000000211 00744 if c[p] >= 1 00745 goto 00774 00774 c + 1 -> c[p] ; C= 00000000000221 00775 c + 1 -> c[p] ; C= 00000000000231 00776 c <-> m ; C= 00000000000000 M= 00000000000231 00777 goto 00726 00726 ... 00777 goto 00726 00726 ... 00777 goto 00726 00726 ... 00777 goto 00726