IDENTIFICATION DIVISION.
PROGRAM-ID. PROGCOB06.
**************************************************************
** AREA DE COMENTARIO - REMARKS
** AUTHOR = LEONARDO(ESTUDANTE) LEOO
** OBJETIVO: USO DOS SINAIS POSITIVO E NEGATIVO
** DATA = 05/05/2020
**************************************************************
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WRK-NUM1 PIC 9(02) VALUE ZEROS.
77 WRK-NUM2 PIC 9(02) VALUE ZEROS.
77 WRK-RESUL PIC S9(03) VALUE ZEROS.
77 WRK-RESUL-ED PIC -ZZ9 VALUE ZEROS.
PROCEDURE DIVISION.
ACCEPT WRK-NUM1 FROM CONSOLE.
ACCEPT WRK-NUM2 FROM CONSOLE.
DISPLAY '=================SUBTRACAO======================='.
SUBTRACT WRK-NUM2 FROM WRK-NUM1 GIVING WRK-RESUL.
MOVE WRK-RESUL TO WRK-RESUL-ED.
DISPLAY 'RESULTADO.. ' WRK-RESUL.
DISPLAY 'RESULTADO.. ' WRK-RESUL-ED.
STOP RUN.
Bom dia , tudo bom ?
Durante a aula 05 de Cobol foi mostrado uma máscara para a inclusão dos sinais positivo/negativo, porém com o código acima caso seja colocado na variável "wrk-num1" o valor de 10 e na variável "wrk-num2" o valor de 20 ele dará como resultado "- 10" em ambas e mudando as posições o resultado é "+10" e "10". Por quê ?
Tecnicamente , ele pega primeiro o valor inserido em "wrk-num2" para fazer a conta com num1 então neste caso se eu colocar em "num1" 10 e no "num2" 20 ele não deveria voltar "+ 10" e "-10" ?