Inizio studio assembly

di il
11 risposte

Inizio studio assembly

Salve a tutti,
avrei necessità di porgere la seguente domanda:
per fini puramente didattici sto studiando l'assembly x86 (la finalità è mettere in pratica delle esercitazioni del corso di Architettura degli elaboratori). Il problema è che non riesco a compilare in nessun modo anche il più semplice file .asm
Potreste indicarmi il sistema più semplice funzionante sotto windows 10?
Ultimamente mi sto esercitando utilizzando questo applicativo https://www.tutorialspoint.com/compile_assembly_online.php
Grazie a chi voglia rispondermi.

11 Risposte

  • Re: Inizio studio assembly

    Masm32 funziona bene su Windows 10, lo uso ogni giorno. Cerca Masm32: What you absolutely need to get started
  • Re: Inizio studio assembly

    Grazie mille!
    una precisazione: devo installare http://www.masm32.com oppure http://www.visualmasm.com ?
    quale sarebbe la differenza?

    altra domanda: masm32 possiede un editor o funziona a linea di comando? grazie
  • Re: Inizio studio assembly

    Masm32 è un SDK, cioè: Software Development Kit, macros, liberie, tutto il necessario per assemblare programmi per console o Windows. Contiene anche un editor, ma volendo potresti anche usare Notepad e assemblare con un file batch.
  • Re: Inizio studio assembly

    Grazie. Non capisco se la "compilazione" avviene da riga di comando (ad es. eseguendo cmd sotto windows)...
  • Re: Inizio studio assembly

    Un editor come per esempio C:\Masm32\qeditor.exe oppure RichMasm ha un menu dove puoi lanciare un file batch che gestisce l'assemblea. Ovviamente, puoi anche salvare il file come test.asm, uscire dall'editor, aprire un DOS prompt (CMD) e lanciare il file batch manualmente. Funziona ma è molto più complicato...
  • Re: Inizio studio assembly

    Ok, sono riuscito ad assemblare il primo semplice esempio.asm.
    Grazie mille!
  • Re: Inizio studio assembly

    Congratulazioni!
  • Re: Inizio studio assembly

    Possibile che non esiste un Ide completo per assembly che faccia vedere memoria e registri?
    Sto utilizzando visual Masm sotto windows 10 e vari odici di esempio non funzionano. As es. questo:
    lo assembla ma in output nulla...


    .386 ; Enable 80386+ instruction set
    .model flat, stdcall ; Flat, 32-bit memory model (not used in 64-bit)
    option casemap: none ; Case insensitive syntax

    ********************************************************************
    include c:\masm32\include\kernel32.inc
    include c:\masm32\include\masm32.inc

    ; *************************************************************************
    ; MASM32 object libraries
    ; *************************************************************************
    includelib c:\masm32\lib\kernel32.lib
    includelib c:\masm32\lib\masm32.lib

    ; *************************************************************************
    ; Our data section. Here we declare our strings for our message
    ; *************************************************************************
    .data
    strMessage db "Hello World!",0

    ; *************************************************************************
    ; Our executable assembly code starts here in the .code section
    ; *************************************************************************
    .code

    start:
    ; Use the StdOut API function to display the text in a console.
    invoke StdOut, addr strMessage

    ; When the console has been closed, exit the app with exit code 0
    invoke ExitProcess, 0
    end start
  • Re: Inizio studio assembly

    RichMasm dà "Tmp_File.asm(5) : Error A2210: Syntax error: *" (un ; prima delle stelline dovrebbe bastare...)

    Ti consiglio di usare \Masm32 invece di C:\Masm32, così puoi assemblare il codice su C: o D: senza cambiare nulla.
  • Re: Inizio studio assembly

    Non capisco una cosa dell'Assembly: se ogni sua istruzione rappresenta un codice mnemonico del linguaggio macchina e nei libri ho letto che il processore sa fare poche operazioni (somme, confronti, salti...) , com'è possibile che per l'8086 esistono centinaia di istruzioni?
  • Re: Inizio studio assembly

    alpha76 ha scritto:


    Non capisco una cosa dell'Assembly: se ogni sua istruzione rappresenta un codice mnemonico del linguaggio macchina e nei libri ho letto che il processore sa fare poche operazioni (somme, confronti, salti...) , com'è possibile che per l'8086 esistono centinaia di istruzioni?
    ... perchè in realtà sono migliaia...
    Sono CPU di tipo CISC, cioè con assembly "complesso".
    Proprio questo rende difficile creare processori più veloci, ormai hanno una complessità mostruosa per renderli più efficienti (anche con rischi di strani effetti collaterali sulla sicurezza).

    Si mantiene tutta quella "croppa" per motivi storici: una CPU moderna (quasi sempre) è in grado di eseguire programmi di 40 anni fa senza battere ciglio.
Devi accedere o registrarti per scrivere nel forum
11 risposte