Problema asimtool

di il
7 risposte

Problema asimtool

Salve, mi trovo in difficoltà col linguaggio assembly.
Devo dare calcolatori elettronici ( uno dei pochi esami rimastomi del primo anno) e in asimtool eseguendo questo codice mi da errore alla riga 16, ovvero END START:
ORG $8800
N DC 9,11,1,4,5,7,2
START CLR D3
CLR D4
MOVE #6 ,D0
MOVEA.L #N ,A0
LOOP MOVE (A0)+,D1
BTST #0,D1
BNE DISPARI
ADD D1,D4
BRA SUCC
DISPARI ADD D1,D3
SUCC SUBQ #1 ,D0
BPL LOOP
STOP #$2000
END START

Come risolvo? Il programma a partire da 7 numeri di tipo word memorizzati a partire da $8800, mi mette nel registro d3 la somma dei valori dei soli elementi dispari e in d4 la somma di quelli pari. O almeno è quello che vorrei fare XD

7 Risposte

  • Re: Problema asimtool

    Ma quale errore in particolare? In ogni caso mi sembra che l'etichetta debba essere scritta così

    START:
  • Re: Problema asimtool

    Mi porta solo scritto error opcode e una serie di cifre decimali.Intendi il primo START quello iniziale o il finale?Sul libro di testo i due punti non me li mette
  • Re: Problema asimtool

    Lo START iniziale ...
  • Re: Problema asimtool

    Niente da comunque errore.
    00008800                                     1  	ORG  $8800
    00008800  0009 000B 0001 0004 0005 ...       2  N	  DC	  9,11,1,4,5,7,2
    0000880E  4243                               3  START:	  CLR	  D3
    00008810  4244                               4  	  CLR	  D4
    00008812  303C 0006                          5  	  MOVE    #6,D0
    00008816  207C 00008800                      6  	  MOVEA.L    #N,A0
    0000881C  3218                               7  LOOP	  MOVE		(A0)+,D1
    0000881E  0801 0000                          8  	  BTST		#0,D1
    00008822  6600 0008                          9  	  BNE	  DISPARI
    00008826  D841                              10  	  ADD	  D1,D4	
    00008828  6000 0004                         11  	  BRA	  SUCC	
    0000882C  D641                              12  DISPARI	  ADD D1,D3
    0000882E  5340                              13  SUCC 	SUBQ	  #1,D0
    00008830  6AEA                              14  	BPL	  LOOP
    00008832  4E72 2000                         15  	STOP	  #$2000
    00008836                                    16  END   START
    ERROR: Invalid opcode
    00008836                                    17  
    00008836                                    18  
    
    1 error detected
    No warnings generated
  • Re: Problema asimtool

    Ho provato e forse il problema è che hai scritto
    
    END START
    
    senza degli spazi precedenti ... prova a scrivere
    
              END START
    
  • Re: Problema asimtool

    Ora va grazie mille. Da quanto ho capito bisogna sempre iniziare con un tab
  • Re: Problema asimtool

    Scusa se disturbo di nuovo, ho fatto altri programmi e vanno. Solo che caricando uno relativo al bubblesort ( me lo compila senza warning o errori) mi da questo errore:https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-xpf1/v/t35.0-12/10742929_313930655481041_1413891899_o.jpg?oh=a791c1d8fd459e95ac790fbca4aa2bcb&oe=5443B443&__gda__=1413726483_772b901fdb863133b32653cd3e24391b
    il codice in questione è questo:
    N  EQU  5
    	ORG $400
    
    PROG  LEA  ARRAY,A0
    	CLR D2
    	MOVEQ  #N-1,D3
    LOOP1 MOVE.B  (A0),D0
    	MOVE.B  1(A0),D1
    	CMP.B  D0,D1
    	BGE.S   NOSWAP
    SWAP  MOVE.B  D0,1(A0)
    	MOVE.B  D1,(A0)
    	MOVEQ  #1,D2
    NOSWAP ADDQ.L  #1,A0
    	  SUBQ #1,D3
    	BNE LOOP1
    	TST  D2
    	BNE PROG
    	STOP #$2000
    
    	ORG $1000
    ARRAY  DC.B   5,4,3,2,1
    	END PROG
Devi accedere o registrarti per scrivere nel forum
7 risposte