CAC 2017-12-16

trace input_accepted

long  in; line 12 tally 143
long  in; tally0 143 addr0 00216361
      949 process_accept_input:
      950      proc;
      951
      952 dcl  tally fixed bin;
      953 dcl  buf_size fixed bin;
      954 dcl  prev_blockp ptr;
      955
      956           input_count = input_sub_mbx.n_chars;              /* get char count */
      957           j = divide (input_count + 3, 4, 17, 0);           /* compute number of words of circular buffer needed */
      958
      959           if enough_input_space (j) & pcb.read_first = 0
      960           then do;
      961                do k = 1 to input_sub_mbx.n_buffers;
      962                     tally = input_sub_mbx.dcw (k).tally;
      963                     buf_size = 16 * divide (tally + 67, 64, 17, 0);
      964                                                             /* get next higher multiple of 16 words */
      965                     call tty_space_man$get_buffer (devx, buf_size, INPUT, blockp);
      966                     if blockp = null ()                     /* couldn't get the space */
      967                     then do;
      968                          if pcb.read_first ^= 0             /* if we started building a chain */
      969                          then call tty_space_man$free_chain (devx, INPUT, ptr (ttybp, pcb.read_first));
      970                          pcb.read_first = 0;
      971                          go to reject;
      972                     end;
      973
      974                     if pcb.read_first = 0
      975                     then pcb.read_first = bin (rel (blockp));
      976                     else prev_blockp -> buffer.next = bin (rel (blockp));
      977
      978                     buffer.tally = tally;
      979                     input_sub_mbx.dcw (k).abs_addr =
      980                          bit (bin (tty_buf.absorig + bin (rel (addr (buffer.chars))), 24), 24);
      981                                                             /* point DCW at data portion of buffer */
      982                     prev_blockp = blockp;
      983                end;
      984
      985                pcb.read_last = bin (rel (blockp));
      986
      987                sub_mbx.op_code = input_accepted;            /* inform 355 that we will take input now */
      988                sub_mbx.io_cmd = rtx;
      989                call return_mbx (i);
      990           end;
      991
      992           else do;
      993 reject:
      994                sub_mbx.io_cmd = wcd;
      995                sub_mbx.op_code = reject_request_temp;       /* inform 355 that we can not accept input
      996*                                                               at the present time */
      997                call return_mbx (i);
      998                fnp_info.input_reject_count = fnp_info.input_reject_count + 1;
      999                call channel_manager$interrupt (devx, INPUT_REJECTED, ""b);
     1000           end;
     1001
     1002      end /* process_accept_input */;

ENTRY TO process_accept_input                               STATEMENT 1 ON LINE 949
process_accept_input:
     proc;

004763  aa  6 00366 6501 00   spri4     pr6|246
DBG(258618833)> CPU TRACE: 00122:004763 0 600366650100 (SPRI4 PR6|366) 000366 650(0) 0 0 0 00^M

                                                            STATEMENT 1 ON LINE 956
          input_count = input_sub_mbx.n_chars;

004764  aa  6 00242 3735 20   epp7      pr6|162,*           subp
004765  aa  7 00001 2351 00   lda       pr7|1               input_sub_mbx.n_chars
004766  aa   000066 7330 00   lrs       54
004767  aa  6 00142 7561 00   stq       pr6|98              input_count
                                                            STATEMENT 1 ON LINE 957

DBG(258618835)> CPU TRACE: 00122:004764 0 600242373520 (EPP7 PR6|242,N*) 000242 373(1) 0 0 1 00^M
DBG(258618837)> CPU TRACE: 00122:004765 0 700001235100 (LDA PR7|1) 000001 235(0) 0 0 0 00^M
DBG(258618837)> CPU REGDUMPAQI: A=000217112001 Q=000000000112 IR:~BAR Carry ^M
DBG(258618839)> CPU TRACE: 00122:004766 0 000066733000 (LRS 000066) 000066 733(0) 0 0 0 00^M
DBG(258618841)> CPU TRACE: 00122:004767 0 600142756100 (STQ PR6|142) 000142 756(0) 0 0 0 00^M
DBG(258618841)> CPU REGDUMPAQI: A=000000000000 Q=000000000217 IR:~BAR Carry ^M

                                                            STATEMENT 1 ON LINE 957
          j = divide (input_count + 3, 4, 17, 0);

004770  aa   000003 0760 07   adq       3,dl
004771  aa   000004 5060 07   div       4,dl
004772  aa  6 00132 7561 00   stq       pr6|90              j

DBG(258618843)> CPU TRACE: 00122:004770 0 000003076007 (ADQ 000003,DL) 000003 076(0) 0 0 0 07^M
DBG(258618845)> CPU TRACE: 00122:004771 0 000004506007 (DIV 000004,DL) 000004 506(0) 0 0 0 07^M
DBG(258618847)> CPU TRACE: 00122:004772 0 600132756100 (STQ PR6|132) 000132 756(0) 0 0 0 00^M
DBG(258618847)> CPU REGDUMPAQI: A=000000000002 Q=000000000044 IR:~BAR ^M

                                                            STATEMENT 1 ON LINE 959
          if enough_input_space (j) & pcb.read_first = 0
          then do;

004773  aa   002311 3520 04   epp2      1225,ic             007304 = 000004000000
004774  aa   000673 6700 04   tsp4      443,ic              005667
004775  aa  6 00270 3735 20   epp7      pr6|184,*           pcbp
004776  aa  7 00005 2351 00   lda       pr7|5               pcb.read_first
004777  aa   000066 7730 00   lrl       54
005000  aa  0 00512 7001 00   tsx0      pr0|330             r_e_as
005001  aa  6 01145 7551 00   sta       pr6|613
005002  aa  6 01144 2351 00   lda       pr6|612
005003  aa  0 00002 3771 00   anaq      pr0|2               = 400000000000 000000000000
005004  aa  6 01145 3151 00   cana      pr6|613
005005  aa   000150 6000 04   tze       104,ic              005155
                                                            STATEMENT 1 ON LINE

DBG(258618849)> CPU TRACE: 00122:004773 0 002311352004 (EPP2 002311,IC) 002311 352(0) 0 0 0 04^M
DBG(258618851)> CPU TRACE: 00122:004774 0 000673670004 (TSP4 000673,IC) 000673 670(0) 0 0 0 04^M

DBG(258618903)> CPU TRACE: 00122:004775 0 600270373520 (EPP7 PR6|270,N*) 000270 373(1) 0 0 1 00^M
DBG(258618905)> CPU TRACE: 00122:004776 0 700005235100 (LDA PR7|5) 000005 235(0) 0 0 0 00^M
DBG(258618907)> CPU TRACE: 00122:004777 0 000066773000 (LRL 000066) 000066 773(0) 0 0 0 00^M
DBG(258618909)> CPU TRACE: 00122:005000 0 000512700100 (TSX0 PR0|512) 000512 700(0) 0 0 0 00^M
DBG(258618917)> CPU TRACE: 00122:005001 0 601145755100 (STA PR6|1145) 001145 755(0) 0 0 0 00^M
DBG(258618919)> CPU TRACE: 00122:005002 0 601144235100 (LDA PR6|1144) 001144 235(0) 0 0 0 00^M
DBG(258618921)> CPU TRACE: 00122:005003 0 000002377100 (ANAQ PR0|2) 000002 377(0) 0 0 0 00^M
DBG(258618923)> CPU TRACE: 00122:005004 0 601145315100 (CANA PR6|1145) 001145 315(0) 0 0 0 00^M
DBG(258618925)> CPU TRACE: 00122:005005 0 000150600004 (TZE 000150,IC) 000150 600(0) 0 0 0 04^M

                                                            STATEMENT 1 ON LINE 961
               do k = 1 to input_sub_mbx.n_buffers;

005006  aa  6 00242 3715 20   epp5      pr6|162,*           subp
005007  aa  5 00002 2361 00   ldq       pr5|2               input_sub_mbx.n_buffers
005010  aa  6 00400 7561 00   stq       pr6|256
005011  aa   000001 2360 07   ldq       1,dl
005012  aa  6 00131 7561 00   stq       pr6|89              k
005013  aa   000000 0110 03   nop       0,du
005014  aa  6 00131 2361 00   ldq       pr6|89              k
005015  aa  6 00400 1161 00   cmpq      pr6|256
005016  aa   000123 6054 04   tpnz      83,ic               005141

DBG(258618927)> CPU TRACE: 00122:005006 0 600242371520 (EPP5 PR6|242,N*) 000242 371(1) 0 0 1 00^M
DBG(258618929)> CPU TRACE: 00122:005007 0 500002236100 (LDQ PR5|2) 000002 236(0) 0 0 0 00^M
DBG(258618929)> CPU REGDUMPAQI: A=400000000000 Q=000000000001 IR:~BAR ^M
DBG(258618931)> CPU TRACE: 00122:005010 0 600400756100 (STQ PR6|400) 000400 756(0) 0 0 0 00^M
DBG(258618933)> CPU TRACE: 00122:005011 0 000001236007 (LDQ 000001,DL) 000001 236(0) 0 0 0 07^M
DBG(258618935)> CPU TRACE: 00122:005012 0 600131756100 (STQ PR6|131) 000131 756(0) 0 0 0 00^M
DBG(258618937)> CPU TRACE: 00122:005013 0 000000011003 (NOP 000000,DU) 000000 011(0) 0 0 0 03^M
DBG(258618939)> CPU TRACE: 00122:005014 0 600131236100 (LDQ PR6|131) 000131 236(0) 0 0 0 00^M
DBG(258618941)> CPU TRACE: 00122:005015 0 600400116100 (CMPQ PR6|400) 000400 116(0) 0 0 0 00^M
DBG(258618943)> CPU TRACE: 00122:005016 0 000123605404 (TPNZ 000123,IC) 000123 605(1) 0 0 0 04^M

                                                            STATEMENT 1 ON LINE 962
                    tally = input_sub_mbx.dcw (k).tally;

005017  aa  6 00242 3735 20   epp7      pr6|162,*           subp
005020  aa  7 00002 2361 06   ldq       pr7|2,ql            input_sub_mbx.tally
005021  aa  0 00410 3771 00   anaq      pr0|264             = 000000000000 000000007777
005022  aa  6 00374 7561 00   stq       pr6|252             tally

DBG(258618945)> CPU TRACE: 00122:005017 0 600242373520 (EPP7 PR6|242,N*) 000242 373(1) 0 0 1 00^M
DBG(258618947)> CPU TRACE: 00122:005020 0 700002236106 (LDQ PR7|2,QL) 000002 236(0) 0 0 0 06^M
DBG(258618947)> CPU REGDUMPAQI: A=400000000000 Q=000000000217 IR:~BAR Carry ^M
DBG(258618949)> CPU TRACE: 00122:005021 0 000410377100 (ANAQ PR0|410) 000410 377(0) 0 0 0 00^M
DBG(258618949)> CPU REGDUMPAQI: A=000000000000 Q=000000000217 IR:~BAR Carry ^M
DBG(258618951)> CPU TRACE: 00122:005022 0 600374756100 (STQ PR6|374) 000374 756(0) 0 0 0 00^M

                                                            STATEMENT 1 ON LINE 963
                    buf_size = 16 * divide (tally + 67, 64, 17, 0);

005023  aa   000103 0760 07   adq       67,dl
005024  aa   000100 5060 07   div       64,dl
005025  aa   000004 7360 00   qls       4
005026  aa  6 00375 7561 00   stq       pr6|253             buf_size

DBG(258618953)> CPU TRACE: 00122:005023 0 000103076007 (ADQ 000103,DL) 000103 076(0) 0 0 0 07^M
DBG(258618953)> CPU REGDUMPAQI: A=000000000000 Q=000000000322 IR:~BAR ^M
DBG(258618955)> CPU TRACE: 00122:005024 0 000100506007 (DIV 000100,DL) 000100 506(0) 0 0 0 07^M
DBG(258618957)> CPU REGDUMPAQI: A=000000000022 Q=000000000060 IR:~BAR ^M
DBG(258618959)> CPU TRACE: 00122:005026 0 600375756100 (STQ PR6|375) 000375 756(0) 0 0 0 00^M

                    call tty_space_man$get_buffer (devx, buf_size, INPUT, blockp);

005027  aa  6 00134 3521 00   epp2      pr6|92              devx
005030  aa  6 01150 2521 00   spri2     pr6|616
005031  aa  6 00375 3521 00   epp2      pr6|253             buf_size
005032  aa  6 01152 2521 00   spri2     pr6|618
005033  aa   773013 3520 04   epp2      -2549,ic            000046 = 000000000000
005034  aa  6 01154 2521 00   spri2     pr6|620
005035  aa  6 00274 3521 00   epp2      pr6|188             blockp
005036  aa  6 01156 2521 00   spri2     pr6|622
005037  aa  6 01146 6211 00   eax1      pr6|614
005040  aa   020000 4310 07   fld       8192,dl
005041  aa  6 00044 3701 20   epp4      pr6|36,*
005042  la  4 00064 3521 20   epp2      pr4|52,*            tty_space_man$get_buffer
005043  aa  0 00623 7001 00   tsx0      pr0|403             call_ext_out

DBG(258618961)> CPU TRACE: 00122:005027 0 600134352100 (EPP2 PR6|134) 000134 352(0) 0 0 0 00^M
DBG(258618963)> CPU TRACE: 00122:005030 0 601150252100 (SPRI2 PR6|1150) 001150 252(0) 0 0 0 00^M
DBG(258618965)> CPU TRACE: 00122:005031 0 600375352100 (EPP2 PR6|375) 000375 352(0) 0 0 0 00^M
DBG(258618967)> CPU TRACE: 00122:005032 0 601152252100 (SPRI2 PR6|1152) 001152 252(0) 0 0 0 00^M
DBG(258618969)> CPU TRACE: 00122:005033 0 773013352004 (EPP2 773013,IC) 773013 352(0) 0 0 0 04^M
DBG(258618971)> CPU TRACE: 00122:005034 0 601154252100 (SPRI2 PR6|1154) 001154 252(0) 0 0 0 00^M
DBG(258618973)> CPU TRACE: 00122:005035 0 600274352100 (EPP2 PR6|274) 000274 352(0) 0 0 0 00^M
DBG(258618975)> CPU TRACE: 00122:005036 0 601156252100 (SPRI2 PR6|1156) 001156 252(0) 0 0 0 00^M
DBG(258618977)> CPU TRACE: 00122:005037 0 601146621100 (EAX1 PR6|1146) 001146 621(0) 0 0 0 00^M
DBG(258618979)> CPU TRACE: 00122:005040 0 020000431007 (FLD 020000,DL) 020000 431(0) 0 0 0 07^M
DBG(258618981)> CPU TRACE: 00122:005041 0 600044370120 (EPP4 PR6|44,N*) 000044 370(0) 0 0 1 00^M
DBG(258618983)> CPU TRACE: 00122:005042 0 033640352000 (EPP2 033640) 033640 352(0) 0 0 0 00^M
DBG(258618985)> CPU TRACE: 00122:005043 0 000623700100 (TSX0 PR0|623) 000623 700(0) 0 0 0 00^M

                                                            STATEMENT 1 ON LINE 966
                    if blockp = null ()                     /* couldn't get the space */
                    then do;

005044  aa  6 00274 2371 00   ldaq      pr6|188             blockp
005045  aa   773075 6770 04   eraq      -2499,ic            000142 = 077777000043 000001000000
005046  aa  0 00460 3771 00   anaq      pr0|304             = 077777000077 777777077077
005047  aa   000027 6010 04   tnz       23,ic               005076

DBG(258619787)> CPU TRACE: 00122:005044 0 600274237100 (LDAQ PR6|274) 000274 237(0) 0 0 0 00^M
DBG(258619787)> CPU REGDUMPAQI: A=000223000043 Q=016360000000 IR:~BAR ^M
DBG(258619789)> CPU TRACE: 00122:005045 0 773075677004 (ERAQ 773075,IC) 773075 677(0) 0 0 0 04^M
DBG(258619791)> CPU TRACE: 00122:005046 0 000460377100 (ANAQ PR0|460) 000460 377(0) 0 0 0 00^M
DBG(258619793)> CPU TRACE: 00122:005047 0 000027601004 (TNZ 000027,IC) 000027 601(0) 0 0 0 04^M

                                                            STATEMENT 1 ON LINE 974
                    if pcb.read_first = 0
                    then pcb.read_first = bin (rel (blockp));

005076  aa  6 00270 3735 20   epp7      pr6|184,*           pcbp
005077  aa  7 00005 2351 00   lda       pr7|5               pcb.read_first
005100  aa   000066 7730 00   lrl       54
005101  aa   000006 6010 04   tnz       6,ic                005107
005102  aa  6 00274 6351 20   eaa       pr6|188,*           blockp
005103  aa   000066 7730 00   lrl       54
005104  aa   000066 7370 00   lls       54
005105  aa  7 00005 5511 60   stba      pr7|5,60            pcb.read_first
005106  aa   000006 7100 04   tra       6,ic                005114

DBG(258619795)> CPU TRACE: 00122:005076 0 600270373520 (EPP7 PR6|270,N*) 000270 373(1) 0 0 1 00^M
DBG(258619797)> CPU TRACE: 00122:005077 0 700005235100 (LDA PR7|5) 000005 235(0) 0 0 0 00^M
DBG(258619799)> CPU TRACE: 00122:005100 0 000066773000 (LRL 000066) 000066 773(0) 0 0 0 00^M
DBG(258619801)> CPU TRACE: 00122:005101 0 000006601004 (TNZ 000006,IC) 000006 601(0) 0 0 0 04^M
DBG(258619803)> CPU TRACE: 00122:005102 0 600274635120 (EAA PR6|274,N*) 000274 635(0) 0 0 1 00^M
DBG(258619805)> CPU TRACE: 00122:005103 0 000066773000 (LRL 000066) 000066 773(0) 0 0 0 00^M
DBG(258619807)> CPU TRACE: 00122:005104 0 000066737000 (LLS 000066) 000066 737(0) 0 0 0 00^M
DBG(258619809)> CPU TRACE: 00122:005105 0 700005551160 (STBA PR7|5,*N) 000005 551(0) 0 0 3 00^M
DBG(258619811)> CPU TRACE: 00122:005106 0 000006710004 (TRA 000006,IC) 000006 710(0) 0 0 0 04^M

                                                            STATEMENT 1 ON LINE 978
                    buffer.tally = tally;

005114  aa  6 00374 2361 00   ldq       pr6|252             tally
005115  aa  6 00274 3715 20   epp5      pr6|188,*           buffer.tally
005116  aa  5 00000 5521 04   stbq      pr5|0,04            buffer.tally

DBG(258619813)> CPU TRACE: 00122:005114 0 600374236100 (LDQ PR6|374) 000374 236(0) 0 0 0 00^M
DBG(258619813)> CPU REGDUMPAQI: A=016360000000 Q=000000000217 IR:~BAR ^M
DBG(258619815)> CPU TRACE: 00122:005115 0 600274371520 (EPP5 PR6|274,N*) 000274 371(1) 0 0 1 00^M
DBG(258619817)> CPU TRACE: 00122:005116 0 500000552104 (STBQ PR5|0,IC) 000000 552(0) 0 0 0 04^M

                                                            STATEMENT 1 ON LINE 979
                    input_sub_mbx.dcw (k).abs_addr =
                         bit (bin (tty_buf.absorig + bin (rel (addr (buffer.chars))), 24), 24);

005117  aa  6 00274 3715 20   epp5      pr6|188,*           blockp
005120  aa  5 00001 3715 00   epp5      pr5|1               buffer.chars
005121  aa  5 00000 6351 00   eaa       pr5|0
005122  aa   000066 7730 00   lrl       54
005123  aa  6 00272 3535 20   epp3      pr6|186,*           ttybp
005124  aa  3 00001 0331 00   adl       pr3|1               tty_buf.absorig
005125  aa   000003 6050 04   tpl       3,ic                005130
005126  aa  0 00110 6761 00   erq       pr0|72              = 777777777777
005127  aa   000001 0760 07   adq       1,dl
005130  aa   000060 7370 00   lls       48
005131  aa  6 00131 7271 00   lxl7      pr6|89              k
005132  aa  6 00242 3515 20   epp1      pr6|162,*           subp
005133  aa  1 00002 3735 17   epp7      pr1|2,7             input_sub_mbx.abs_addr
005134  aa  7 00000 7511 74   stca      pr7|0,74            input_sub_mbx.abs_addr

DBG(258619819)> CPU TRACE: 00122:005117 0 600274371520 (EPP5 PR6|274,N*) 000274 371(1) 0 0 1 00^M
DBG(258619821)> CPU TRACE: 00122:005120 0 500001371500 (EPP5 PR5|1) 000001 371(1) 0 0 0 00^M
DBG(258619823)> CPU TRACE: 00122:005121 0 500000635100 (EAA PR5|0) 000000 635(0) 0 0 0 00^M
DBG(258619823)> CPU REGDUMPAQI: A=016361000000 Q=000000000217 IR:~BAR ^M
DBG(258619825)> CPU TRACE: 00122:005122 0 000066773000 (LRL 000066) 000066 773(0) 0 0 0 00^M
DBG(258619827)> CPU TRACE: 00122:005123 0 600272353520 (EPP3 PR6|272,N*) 000272 353(1) 0 0 1 00^M
DBG(258619829)> CPU TRACE: 00122:005124 0 300001033100 (ADL PR3|1) 000001 033(0) 0 0 0 00^M
DBG(258619831)> CPU TRACE: 00122:005125 0 000003605004 (TPL 000003,IC) 000003 605(0) 0 0 0 04^M
DBG(258619833)> CPU TRACE: 00122:005130 0 000060737000 (LLS 000060) 000060 737(0) 0 0 0 00^M
DBG(258619835)> CPU TRACE: 00122:005131 0 600131727100 (LXL7 PR6|131) 000131 727(0) 0 0 0 00^M
DBG(258619837)> CPU TRACE: 00122:005132 0 600242351520 (EPP1 PR6|242,N*) 000242 351(1) 0 0 1 00^M
DBG(258619839)> CPU TRACE: 00122:005133 0 100002373517 (EPP7 PR1|2,7) 000002 373(1) 0 0 0 17^M
DBG(258619841)> CPU TRACE: 00122:005134 0 700000751174 (STCA PR7|0,*4) 000000 751(0) 0 0 3 14^M
DBG(258619841)> CPU FINAL: Read (Actual) Read:  iefpFinalAddress=00003513  readData=000000000217^M
DBG(258619841)> CPU FINAL: Write(Actual) Write: iefpFinalAddress=00003513 writeData=002163610217^M

That matches the address that the FNP stored the data in.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License