ASM Per chi usa Tasm e turbodebugger:

Stato
Discussione chiusa ad ulteriori risposte.

PIPPOBAUDO

Utente Electrum
23 Marzo 2012
181
76
8
194
assemblamento e linkamento senza nessun problema del seguente programma:
.MODEL SMALL
.STACK 100H
.DATA
BEPPE DB 8
PIERO DB 7
SOMMA DB ?
.CODE
.STARTUP
MOV AL,BEPPE
ADD AL,PIERO
MOV SOMMA,AL
MOV BL,SOMMA
MOV AH,4CH
INT 21H
END


dopo il debug mi viene la scritta sul promt
program has no symbol table
qualcuno con piu esperienza mi puo spiegare
grazie a chi lo fa

 
Probabilmente il debugger sta cercando all'intero del PE una symbol table che lo aiuti durante il debug. Non la trova probabilmente perché non specifichi al TASM di compilare per il debug. Deve esistere qualche opzione del TASM che ti permette di crearla.

Ad ogni modo è solo un avviso, non un errore. Il debugger può funzionare tranquillamente anche senza symbol table, solo che è in grado di fornirti meno informazioni.
 
Probabilmente il debugger sta cercando all'intero del PE una symbol table che lo aiuti durante il debug. Non la trova probabilmente perché non specifichi al TASM di compilare per il debug. Deve esistere qualche opzione del TASM che ti permette di crearla.

Ad ogni modo è solo un avviso, non un errore. Il debugger può funzionare tranquillamente anche senza symbol table, solo che è in grado di fornirti meno informazioni.
Scusa per l'ingnoranza ma io sono principiante e non so cos'e un PE e neppure una symbol table comunque adesso ricompilo e rilinco per l'800esima volta e vedo se funziona

- - - Updated - - -

mi sa che passo a emu8086
 
Il PE (portable executable) è uno dei formati usati da windows per gli eseguibili ed altri file, quanfo assembli un eseguibile sotto windows esso deve rispettare un formato standard che sia leggibile dal loader di windows (PE in questo caso) e che, oltre a contere il.codice vero e proprio, contiene anche informazioni aggiuntive organizzate secondo una struttura precisa che servono a windows.

La symbol table contiene informazioni utili per il debugger che, non trovandola, te ne segnala la mancanza, ciò però non compromette in alcun modo la funzionalità dell'eseguibile, solamente il debugger non ti può mostrare alcune informazioni.

- - - Updated - - -

Se devi cambiare assembler io ti consiglierei fasm ;)
 
  • Mi piace
Reazioni: PIPPOBAUDO
Stato
Discussione chiusa ad ulteriori risposte.