###TASKFILE 0;3?3100163312500000000:1302004100:S Preamble : Postamble: ###VARIABLE 01 v_cod C 32 0 02 v_codTAM N 02 0 03 v_desc C 20 0 04 v_qtd C 32 0 05 v_qtdTAM N 02 0 06 v_inve C 04 0 INVE 07 v_loja N 02 0 00 08 v_zeros N 09 0 000000000 09 v_preco C 09 0 10 vTemp C 32 0 11 v_preTAM N 02 0 12 v_qtdAUX C 32 0 13 v_cont N 02 0 14 v_int C 32 0 15 v_dec C 32 0 16 v_cont-1 N 02 0 17 v_fracao N 01 0 18 v_intTAM N 02 0 19 v_decTAM N 02 0 ###DATAFORM 01 DADOS D 00000 02 PRODUTOS T 00000 ###FORMFILE DADOS.TSF t_inve B 01 04 N t_loja B 01 02 N t_cod B 01 20 N t_zeros B 01 10 N t_preco B 01 10 N t_qtd B 01 10 N ###FORMFILE PRODUTOS.TSF f_cod B 01 32 N f_desc B 01 32 N f_preco B 01 32 N ###PROCDURE 01 INVENT 1 P Inventario ###PROCFILE INVENT.TSP 01 LST 02 MAC GETDATA 03 MAC GETQTD 04 MAC TRATAQTD 05 MAC SAVEDATA 06 LOP ###MACFILE GETDATA.MAC 01 MOV "" vTemp 02 CLS 03 MSG "Codigo" 1 04 MSG ">" 17 05 INP v_cod 06 LEN v_cod v_codTAM 07 CMP v_codTAM 13 08 JMP GT 1 09 SEL PRODUTOS 10 SEK 1 11 SRH 1 v_cod 12 JMP NE 17 13 GET 2 v_desc 14 MSG "Desc:" 33 15 MSG v_desc 38 16 JMP UC 22 17 CLS 18 BEP 500 200 19 MSG "ITEM INEXISTENTE" 33 20 DLY 1000 21 JMP UC 1 22 END ###MACFILE SAVEDATA.MAC 01 MOV "" vTemp 02 CMP v_codTAM 13 03 JMP LT 19 04 MOV "" vTemp 05 SEL PRODUTOS 06 GET 3 v_preco 07 LEN v_preco v_preTAM 08 CMP v_preTAM 8 09 JMP LT 11 10 JMP UC 26 11 ADD "0" vTemp 12 ADD 1 v_preTAM 13 CMP v_preTAM 8 14 JMP NE 11 15 ADD "0" vTemp 16 ADD v_preco vTemp 17 MOV vTemp v_preco 18 JMP UC 26 19 ADD " " vTemp 20 ADD 1 v_codTAM 21 CMP v_codTAM 12 22 JMP NE 19 23 ADD " " vTemp 24 ADD vTemp v_cod 25 JMP UC 4 26 MOV v_inve t_inve 27 MOV v_loja t_loja 28 MOV v_cod t_cod 29 MOV v_zeros t_zeros 30 MOV v_preco t_preco 31 MOV v_qtd t_qtd 32 NRC 33 END ###MACFILE TRATAQTD.MAC 01 CMP v_intTAM 5 02 JMP LT 8 03 CMP v_decTAM 0 04 JMP EQ 24 05 CMP v_decTAM 3 06 JMP LT 19 07 JMP UC 16 08 ADD "0" vTemp 09 ADD 1 v_intTAM 10 CMP v_intTAM 4 11 JMP NE 8 12 ADD "0" vTemp 13 ADD v_int vTemp 14 MOV vTemp v_int 15 JMP UC 3 16 ADD v_dec v_int 17 MOV v_int v_qtd 18 END 19 ADD "0" v_dec 20 LEN v_dec v_decTAM 21 CMP v_decTAM 3 22 JMP NE 19 23 JMP UC 16 24 MOV "000" v_dec 25 JMP UC 16 ###MACFILE GETQTD.MAC 01 MOV "" v_int 02 MOV "" v_dec 03 MOV 1 v_cont 04 MOV 0 v_fracao 05 CLL 5 06 CLL 6 07 MSG "Qtd:" 65 08 INP v_qtd 09 LEN v_qtd v_qtdTAM 10 CMP v_qtdTAM 9 11 JMP GT 47 12 CMP v_qtdTAM 0 13 JMP EQ 47 14 MOV v_qtd v_qtdAUX 15 LFT v_cont v_qtdAUX 16 MOV v_qtdAUX v_int 17 RHT 1 v_qtdAUX 18 CMP "." v_qtdAUX 19 JMP NE 31 20 MOV v_cont v_cont-1 21 SUB 1 v_cont-1 22 LFT v_cont-1 v_int 23 JMP UC 37 24 LEN v_int v_intTAM 25 CMP v_intTAM 5 26 JMP GT 47 27 LEN v_dec v_decTAM 28 CMP v_decTAM 3 29 JMP GT 47 30 END 31 CMP v_cont v_qtdTAM 32 JMP EQ 24 33 ADD 1 v_cont 34 CMP v_fracao 1 35 JMP EQ 38 36 JMP NE 14 37 ADD 1 v_cont 38 MOV 1 v_fracao 39 MOV v_qtd v_qtdAUX 40 LFT v_cont v_qtdAUX 41 RHT 1 v_qtdAUX 42 CMP "." v_qtdAUX 43 JMP NE 45 44 JMP UC 47 45 ADD v_qtdAUX v_dec 46 JMP UC 31 47 MSG "FORMATO INVALIDO" 81 48 DLY 800 49 JMP UC 1 ###ENDTASK