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.
page revision: 0, last edited: 16 Dec 2017 19:02