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