DSEG SEGMENT PARA PUBLIC 'DATA' PAGINA EQU 00h LF EQU 0Ah CR EQU 0Dh HT EQU 09h TITOLO DB 'PROVA N.3 DI CALCOLATORI ELETTRONICI$',CR MENU DB 'Visualizzazione esadecimane delle 32 confiurazioni$',CR STACKM SEGMENT PARA STACK 'STACK' ;viene allocata una zona di DB 64 DUP('12345678');memoria per lo Stack: in STACKM ENDS ;tutto 64*8 bytes ASSUME CS:CSEG,DS:DSEG,SS:STACKM CSEG SEGMENT PARA PUBLIC 'CODE' ;-----------------------------------------------------------------------; ; Corpo principale del programma ; ;-----------------------------------------------------------------------; MAIN PROC FAR PUSH DS MOV AX,00h PUSH AX CALL INIZIALIZZAZIONE CALL PRESENTAZIONE CALL LEGGIPAROLA ; LEGGE LA PAROLA E LA PONE IN ax MOV CX, 16 CICLOPRINCIPALE: PUSH CX CALL STAMPAHEX SAL AL, 1 RCL AH, 1 ADC AL, 1 POP CX LOOP CICLOPRINCIPALE RET MAIN ENDP LEGGIPAROLA PROC NEAR CALL LEGGITASTO PUSH AX CALL LEGGITASTO POP BX MOV CL, 4 SHL BL,CL OR BL,AL PUSH BX CALL LEGGITASTO PUSH AX CALL LEGGITASTO POP BX MOV CL, 4 SHL BL, CL OR AL, BL POP BX MOV AH, BL RET LEGGIPAROLA ENDP STAMPAHEX PROC NEAR PUSH AX MOV AL, AH CALL STAMPAHEX AL POP AX PUSH AX CALL STAMPAHEX AL CALL STAMPAENTER POP AX RET