JavascriptProva

mercoledì 18 settembre 2013

E vai con l'assembly!!!

Ho copiato, in assenza di una soluzione di condivisione di cartelle e appunti, tramite DropBox, alcuni files fondamentali della cartella Arch-Lab dal SO "di base" a questo virtuale.
Ho così creato la cartella "Assembly" in C:\
C:\Users\Antonello>cd..\..\

C:\>cd assembly

C:\Assembly>dir
 Il volume nell'unità C non ha etichetta.
 Numero di serie del volume: ECE6-4560

 Directory di C:\Assembly

19/09/2013  01.31    <DIR>          .
19/09/2013  01.31    <DIR>          ..
28/06/2006  14.30           134.144 LIB.EXE
28/06/2006  14.30           364.544 LINK.EXE
15/09/2013  18.42             7.916 MASM_1.COM
15/09/2013  18.42             4.106 MASM_IN1.COM
15/09/2013  18.42             9.687 ML.ERR
15/09/2013  18.42           372.736 ML.EXE
15/09/2013  18.42            38.202 NG.EXE
               7 File        931.335 byte
               2 Directory  18.526.797.824 byte disponibili

C:\Assembly>
Ora vediamo di farci qualcosina...
Non sapendo usare ML come linker, ci avevo messo un vecchio linker. Compilo sul blocco note (non ho copiato QEditor) la parte fondamentale del primo esercizio della Palestra Apprendisti (roba elementare):
prog segment byte public

inizio:

mov ah,00h
mov al,03h
int 10h

mov ah,0eh
mov al,'A'
int 10h

mov ah,00h
int 16h

mov ah,4ch
int 21h



prog ends
end  inizio
e quindi sottopongo il sorgente al processo di assemblaggio e linkaggio...
C:\Assembly>ml /Zm /c esa1.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

 Assembling: esa1.asm

C:\Assembly>link esa1

Microsoft (R) Segmented Executable Linker  Version 5.60.339 Dec  5 1994
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.

Run File [esa1.exe]:
List File [nul.map]:
Libraries [.lib]:
Definitions File [nul.def]:
LINK : warning L4021: no stack segment

C:\Assembly>dir esa*
 Il volume nell'unità C non ha etichetta.
 Numero di serie del volume: ECE6-4560

 Directory di C:\Assembly

19/09/2013  01.41               181 esa1.asm
19/09/2013  01.41               532 esa1.exe
19/09/2013  01.41                69 esa1.obj
               3 File            782 byte
               0 Directory  18.052.173.824 byte disponibili

C:\Assembly>
Perfetto!

Eseguiamo...
A
C:\Assembly>
Okay! Fantastico!

Nessun commento:

Posta un commento