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

Discussione: [c] TSR

  1. #1
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354

    [c] TSR

    come si creano dei programmi TSR in c?

  2. #2

  3. #3
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    mi fai un esempio che non contiene asm?

    il mio compilatore c non è in grado di compilarlo.

  4. #4
    Se vuoi programmare a basso livello è inevitabile l'uso dell'asm. Se non te lo compila, c'è un problema che va risolto.
    Che compilatore usi?

    Generalmente basta utilizzare la diretttiva
    codice:
    #pragma inline
    Byez!
    Summum crede nefas animam preferre pudori e propter vitam vivendi perdere causas.
    (Giovenale)

  5. #5
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    Normalmete: LCC-Win32 http://www.cs.virginia.edu/~lcc-win32/ visto ch e c'è anche un manuale

    me ne hanno consigliato anche un altro: http://www.parinya.ca/
    il quale ha un file che su chiama AS.exe ma, non sono riuscito ad farlo funzionare!

  6. #6
    Premetto che non ho mai usato né LCC né MinGW Developer Studio.

    Comunque il problema potrebbe essere nel fatto che il compilatore C non trova l'assemblatore. Quest'ultimo potrebbe essere il tasm.exe o qualche altro, non so... Ma il problema forse sarà che devi inserire una nuova variabile d'ambiente. (Prova a copiare l'assemblatore nella stessa directory del sorgente che stai compilando: il problema dovrebbe risolversi temporaneamente.)


    In ogni caso, proprio perché non ho usato mai quei compilatori, qualcun altro potrebbe aiutarti in modo più mirato di quanto possa fare io.


    Byez!
    Summum crede nefas animam preferre pudori e propter vitam vivendi perdere causas.
    (Giovenale)

  7. #7
    il mingw supporta tranquillamente l'asm, se non erro usa NASM per compilare l'assembler

  8. #8
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    il file si chiama as.exe, ma la mia prova non lo chiama propio! cioè l'errore mi viene dato dal compilatore e non dal assemblatore.


    adesso non ho il sorgente con me. ma ve lo porto.

  9. #9
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    [code]
    #include<stdio.h>
    #pragma inline

    main(){

    int i=0;

    asm{
    mov ax,2;
    mov i,ax;
    ret;
    }
    printf("i e'uguale: \"%d\"",i);
    }

    [code]

    Questo è la mia prova, ma mi dice che mov non è un comando C ecc...

  10. #10
    dipende totalmente dal compilatore che stai utilizzando (asm AT&T [da sinistra a destra] e asm Intel [da destra a sinistra])

    questo semplice esempio, funziona alla perfezione con DevC++ (asm AT&T)
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int var;
    
    int func()
    {
        printf("var:%.2d\n", var);
    }
    
    int main()
    {
        __asm("push %ebx"); 
        __asm("mov $0, %ebx"); 
        __asm("loop: mov %ebx, _var"); 
        __asm("call _func");
        __asm("add $2, %ebx");
        __asm("cmp $10, %ebx");
        __asm("ja ext");
        __asm("jbe loop");
        __asm("ext: pop %ebx");
               
        system("pause"); 
        return 0; 
    }
    cerca su google alcuni esempi sul comando "asm"
    relativi al tuo compilatore.
    http://it.tldp.org/HOWTO/Assembly-HOWTO-3.html

    leggi anche qua:
    AT&T vs Intel:
    http://www.delorie.com/djgpp/doc/bre...ine_djgpp.html
    ...Terrible warlords, good warlords, and an english song

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.