Caro mE,
 

       ho visto il programma e credo di aver capito.
       Esso traccia una scritta gialla pixel per pixel, la scarsità di

      chiamate agli interrupt è dovuta al fatto che esiste un ciclo loop.
      Giusto? La tua idea di cambiare voci di menù con ASM mi piace,
      una domanda: come si crea una stringa in Debug? Voglio dire, Debug
      non supporta stringhe definite con tipo DB.
 

Caro Enrico,

scusa se ti ho impegnato nell'analisi di quel programma ma forse pretendevo
troppo !!!!!!!

Nel programma non ci sono loop ma semplicemente un codice che definisce lo
schermo riga per riga, infatti il codice:

20 18 19 05 1A 02 DC 20 20 1A 02 DC 20 20 1A 02
DC 20 20 1A 04 DC 20 20 1A 02 DC 19 0E 1A 02 DC
18 19 05 DC 19 03 DC 19 03 DC 20 DC 19 04 DC 19

Guardalo bene .....

18 VA A CAPO, 20 RAPPRESENTA LO SPAZIO, 1A05[codice] STAMPA CINQUE VOLTE IL
CODICE....

ED ALTRO..........

Ma passiamo a te:

Stampa la tabella da Te creata  sulla corrispondenza ASCII/HEX
................. la voglio vedere.... anzi mandami il programma per favore
zippato !!!!!   ;-))))))))))))

Rispondo a una domanda: 'come si crea una stringa in Debug? Voglio dire,
Debug  non supporta stringhe definite con tipo DB.'

Guarda il programma : A.COM..... c'è il famoso carattere $, osserva, poi,
che si genera un file nella directory dove A.COM  è eseguito questo si
chiama unesempi.ook !!!!!!!!!!!!!!!!!!!

Ciao mE !!!!!!!!!!!!!!!!!!!!!!!!!!!
 

Eccolo le prime righe in Assembler, il resto in Dump:

 MOV     AH,1A
 MOV     DX,016A
 INT     21
 MOV     AH,16
 MOV     DX,012D
 INT     21
 MOV     AH,4E
 MOV     DX,0157
 INT     21
 MOV     AH,15
 MOV     DX,012D
 INT     21
 MOV     AH,10
 MOV     DX,012D
 INT     21
 MOV     BYTE PTR [0186],AA
 INT     20

1C8C:0100  B4 1A BA 6A 01 CD 21 B4-16 BA 2D 01 CD 21 B4 4E    ...j..!...-..!.N
1C8C:0110  BA 57 01 CD 21 B4 15 BA-2D 01 CD 21 B4 10 BA 2D  .W..!...-..!...-
1C8C:0120  01 CD 21 C6 06 86 01 AA-CD 20 00 00 00 01 50 49      ..!...... ....UN
1C8C:0130  53 45  4C 4C 49 4E 50 49-53 00 00 80 00 80 00 00         ESEMPIOOK.......
1C8C:0140  00 21 00 9A 02 40 00 02-03 00 07 00 01 01 00 00           .!...@..........
1C8C:0150  00 00 00 00 00 00 00 41-3A 5C 2A 2E 43 4F 4D 00        .......A:\*.COM.
1C8C:0160  24 00 00 00 41 00 00 00-00 00 01 3F 3F 3F 3F 3F          $...A......?????
1C8C:0170  3F 3F 3F 43 4F 4D 5A 02-00 00 00 00 00 00 00 20         ???COMZ.........
1C8C:0180  21 01 21 00 5A 01 AA 00-41 2E 43 4F 4D 00 20 20        !.!.Z...A.COM...
 
Ma lui :  >
Ed io : >>
 
>         Caro mE,
>
>    il programma che mi hai inviato non gira, Il file Unsempio.ok non
>    viene generato! Come mai?

> > E' impossibile,  testato più volte sul mio computer funziona !!!!!!!!
Qual'è l'errore che si genera ???

Comunque il programma da me inviato (B.COM)  non fa altro che 'spiare' cosa
c'è nella directory C:\

leggendo il primo file con estenzione COM e scrive l'informazione nel file
Unesempi.ook ... tutto in soli 346 bytes, in

verità anche di meno !!!!!!!!

A riprova che il programma funziona ti mando il file Unesempi.ook
!!!!!!!!!!!!!! (da aprire con NOTEPAD)

Infatti Unesempi.ook contiene la stringa ::

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿƒ????????COM        `Y!Ôw COMMAND.COM
 

Ritorna alla prima pagina