Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Assembler

  1. #1

    Assembler

    Cosa devo avere per programmare in assembler(che compilatore devo avere) e dove lo posso trovare?
    Dove posso trovare un manuale per l'assembler?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    un assembleatore e un linker...

    assembleatore hai...

    MASM
    TASM
    NASM

    ecc...
    quelli che vuoi... poi dipende... ASSEMBLER su che processore lo vuoi?!

    manuali? THE ART OF ASSEMBLY LANGUAGE PROGRAMMING
    e la lista interrupts x BROWNS

    MASM x Win32
    http://spiff.tripnet.se/~iczelion/files/masm32v7.zip

    MASM x DOS/Win16
    http://spiff.tripnet.se/~iczelion/files/masm32v7.zip
    e scarichi un LINKER a 16bit (SEGMENTED EXE)

    oppure ALINK.exe

  3. #3

    ho scaricato MASM x Win32

    allora ho scaricato MASM x Win32 adesso cosa faccio? Mi puoi fare un esempio semplice di programma in assemble tipo la visualizzazione di un registro a video.
    Ma devo usare BINTODB per scrivere il listato?
    Poi come faccio a linkarlo e a eseguirlo?
    Se hai tempo fammmi un bel discorso e mandamelo in pvt

  4. #4
    una guida per iniziare a capire l'assembly (leggi il link nel mio post)
    http://forum.html.it/forum/showthrea...r&pagenumber=2

    all'interno del pacchetto (directory) in cui
    è presente l'asm (masm tasm nasm) troverai
    sicuramente un file di TESTO
    che ti spiega i comandi per compilare linkare ed eseguire
    un programma in assembly
    ...Terrible warlords, good warlords, and an english song

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    codice:
    .386
    .model flat, stdcall
    option casemap: none
    
    include \masm32\include\windows.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib
    
    .data
    
    	style	db	"Il regitro EAX contiene: ""%d"".", 0
    	buffer	db	255 dup (0)
    
    .code
    
    start:
    
    	
    
    	mov	eax, 5326	; valore del registro!
    	
    	push	eax
    	push	offset style
    	push	offset buffer
    	call	wsprintf
    
    	push	MB_ICONINFORMATION or MB_OK
    	push	0
    	push	offset buffer
    	push	0
    	call	MessageBoxA
    
    	push	eax
    	call	ExitProcess
    
    end start

    allora il file prima lo passi a

    ML.EXE /c /coff NOME.ASM

    poi a

    LINK.EXE /SUBYSTEM:WINDOWS NOMEUSCITO.OBJ

  6. #6

    mmmmmm

    Allora seguendo il consiglio di johnny ho trovato un tutorial
    il primo esercizio del tutorial è questo:

    ;TUT4.ASM (Hello Word)
    .MODEL small ; indica al compilatore il modello di memoria da usare
    .STACK 100h ; dimensiona lo Stack

    .DATA ; inizio del segmento dati
    Messaggio DB "Salve Mondo",13,10,'$' ;dichiarazione del messaggio

    .CODE ; inizio del segmento di codice
    mov ax,SEG Messaggio ; ax = indirizzo del Segmento Dati
    mov ds,ax ; ds = ax
    mov dx,OFFSET Messaggio ; ds = offset del Segmento Dati
    mov ah,09h ; ah = 09h
    int 21h ; chiamata all'interrupt DOS
    mov ah,4Ch ; ah = 4Ch
    int 21h ; chiamata all'interrupt DOS
    END ; fine delprogramma
    Come cavolo faccio a eseguirlo?
    Il tutorial mi dice di usare il dal promt di dos il comando
    tasm tut4.asm (ho scaricato tasm 3.1)
    solo che mi dice questo:
    D:\Tasm>tasm tut4.asm
    TASM Assembler. Version 3.1 February, 1998.
    Copyright (C) 1998 Squak Valley Software
    tasm: pass 1 complete.
    tut4.asm line 0002: unrecognized directive. (.MODEL)
    tut4.asm line 0003: unrecognized directive. (.STACK)
    tut4.asm line 0005: unrecognized directive. (.DATA)
    tut4.asm line 0006: Label not found: (Messaggio)
    tut4.asm line 0006: label value misalligned. (Messaggio)
    tut4.asm line 0006: unrecognized instruction. (Messaggio)
    tut4.asm line 0008: unrecognized directive. (.CODE)
    tut4.asm line 0009: unrecognized instruction. (MOV)
    tut4.asm line 0010: unrecognized instruction. (MOV)
    tut4.asm line 0011: unrecognized instruction. (MOV)
    tut4.asm line 0012: unrecognized instruction. (MOV)
    tut4.asm line 0013: unrecognized instruction. (INT)
    tut4.asm line 0014: unrecognized instruction. (MOV)
    tut4.asm line 0015: unrecognized instruction. (INT)
    tasm: line 0016 No END directive before EOF.
    tasm: pass 2 complete.
    tasm: Number of errors = 15

    Questo mi fa pensare che probabilmente ho sbagliato qualcosa
    ma cosa? Vi prego non ridete della mia ignoranza

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    allora...

    1) quello è un programma a 16bit x dos.
    con che versione di tasm lo stai compilando?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    .MODEL small ; indica al compilatore il modello di memoria da usare
    .STACK 100h ; dimensiona lo Stack

    .DATA ; inizio del segmento dati
    Messaggio DB "Salve Mondo",13,10,'$' ;dichiarazione del messaggio

    .CODE ; inizio del segmento di codice
    INIZIO:

    mov ax,SEG Messaggio ; ax = indirizzo del Segmento Dati
    mov ds,ax ; ds = ax
    mov dx,OFFSET Messaggio ; ds = offset del Segmento Dati
    mov ah,09h ; ah = 09h
    int 21h ; chiamata all'interrupt DOS
    mov ah,4Ch ; ah = 4Ch
    int 21h ; chiamata all'interrupt DOS
    END INIZIO; fine delprogramma

  9. #9

    siiiiiiiiiiiii

    Era tutta colpa del tasm 3.1 ho scaricato il 4.0 e funziona tutto alla perfezione non so il perchè ma FUNZIONA!!!
    Finalmente posso divertirmi a programmare in assembler :metallica
    Avro presto nuovi quesiti per voi :gren: :gren: :gren:

  10. #10
    Evviva, evviva, evviva .. :tongue: :quipy:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.