Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Problema con il linker.
Forum - Altri Linguaggi - Problema con il linker.

Avatar
Matt (Member)
Pro


Messaggi: 131
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 17:48
Giovedì, 12/04/2007
Salve a tutti...ho fatto un programmino in assembly di cui non riesco a fare il .exe, ho provato sia con tasm che con masm ma niente.
Mi da il seguente errore:no program entry point.
Questo è il sorgente:

dati equ 0378h ; def. 2 ‘costanti’ o meglio 2 etichette
control equ 037Ah ; con il valore degli indirizzi dei registri
.model small
.stack
.data
.code
mov ax,@data
mov ds,ax
;imposta porta parallela
mov dx,control
mov al,01h
out dx,al
mov ah,00h ; azzera contatore ciclo
mov al,00000001b ; imposta l’accensione dell’ultimo led
ciclo_led:
inc ah ; incrementa contatore ciclo
cmp ah,10 ; contatore ciclo = 10
je fine ; SI : va a fine
andata:
cmp al,80h ; al = 80h = 1000 0000 b ?
je ritorno ; SI : allora fa il ciclo di ritorno
shl al,01h ; NO : allora shifta il contenuto di al
; a sinistra di 1
; invia i dati
mov dx,dati
out dx,al
mov cx,0FFFh ; creazione di un delay (ritardo)
delay11: ; utilizzando due cicli ‘for downto’ a vuoto
push cx ; annidati,questo è necessario per permettere
mov cx,08FFh ; la visualizzazione dell’accensione e spegnim.
delay12: ; dei led,che altrimenti data l’alta velocità
loop delay12 ; di esecuzione del microprocessore
pop cx ; resterebbero apparentemente tutti accesi
loop delay11
jmp andata
ritorno:
cmp al,01h ; al = 01h = 0000 0001 b ?
je ciclo_led ; SI : allora salta a ciclo_led
shr al,01h ; NO : shifta il contenuto di al a destra di 1
; invia i dati
mov dx,dati
out dx,al
mov cx,0FFFh ; creazione di un delay (ritardo)
delay21:
push cx
mov cx,05FFh
delay22:
loop delay22
pop cx
loop delay21
jmp ritorno
fine:
mov ah,4Ch
mov al,00h
int 21h
end

PM Quote
Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 0:23
Venerdì, 13/04/2007
Per tua fortuna è un errore molto facile da fixare.

In pratica devi dare un inizio al programma, tipo:

Codice sorgente - presumibilmente Plain Text

  1. ....
  2. .code
  3. start:
  4. ....



e poi chiuderlo con l'end:

Codice sorgente - presumibilmente Altri Linguaggi

  1. ...
  2. end start



Così il tuo linker ti farà l'exe.;)

PM Quote