Oppure

Loading
23/05/10 14:41
Questa riga

mov al,vett

non serve.

La procedura mettila alla fine (dopo l'ultima chiamata ad int 21h)

P.S. Non srivere in maiuscolo ...
23/05/10 14:48
enlallaca
Postato originariamente da nessuno:

Questa riga

mov al,vett

non serve.

La procedura mettila alla fine (dopo l'ultima chiamata ad int 21h)

P.S. Non srivere in maiuscolo ...

scusami...scrivevo in maiuscolo non per urlare ma per evidenziare di piu il messaggio dalla parte di programma.... comunque è giusto cosi? e il confronto del flag segno lo faccio dentro alla procedura?
.model small
.stack
.data
    ; <<inserire qui le dichiarazioni delle variabili>>
    
    vett db 1,2,3,4,5,6,-9,-5,-1,-2
    
.code

inizio:
    mov ax, @data
    mov ds, ax
    
        
    mov di,0
analisi:
    call programma
    inc di
    
    jmp analisi
    
    mov dx,bp
    
    mov al,00h                
    mov ah,4ch
    int 21h
    
    programma proc near
                cmp al,vett[di]
                push bp
                mov bp,sp
                mov bx,[bp+4]        ;|indirizzo di partenza
                mov cx,bp
                mov ax,[bp+6]        ;|indirizzo
                add al,bl
                mov ah,0
                mov [bp+8],ax
                pop bp
            
            ret
    endp
    
    
    
end inizio
aaa
23/05/10 14:59
Postato originariamente da enlallaca:
scusami...scrivevo in maiuscolo non per urlare ma per evidenziare di piu il messaggio dalla parte di programma....


Per questo si usa il tasto Code

comunque è giusto cosi? e il confronto del flag segno lo faccio dentro alla procedura?


No che non è giusto.

La riga

jmp analisi

non farà mai terminare il programma. Lo hai notato?

E cosa farebbe il codice dentro la subroutine? Non c'è il test e non è quello che faceva il codice di prima ... perchè tutta questa confusione?
23/05/10 15:02
enlallaca
Postato originariamente da nessuno:

Postato originariamente da enlallaca:
scusami...scrivevo in maiuscolo non per urlare ma per evidenziare di piu il messaggio dalla parte di programma....


Per questo si usa il tasto Code

comunque è giusto cosi? e il confronto del flag segno lo faccio dentro alla procedura?


No che non è giusto.

La riga

jmp analisi

non farà mai terminare il programma. Lo hai notato?

E cosa farebbe il codice dentro la subroutine? Non c'è il test e non è quello che faceva il codice di prima ... perchè tutta questa confusione?


perchè non capisco come funzione una procedura facendo passare i valori di un vettore... ho il libro sotto mano ma non c'è scritto nulla che mi faccia capire qualcosa
aaa
23/05/10 15:04
Non devi far passare nulla dato che il vettore è "globale"
23/05/10 15:12
enlallaca
Postato originariamente da nessuno:

Non devi far passare nulla dato che il vettore è "globale"

E per analizzare elemento per elemento? come faccio? metto vett[si] incrementando di volta in volta si tutto dentro alla procedura?
aaa
23/05/10 15:16
23/05/10 15:29
enlallaca
Postato originariamente da nessuno:


non capisco piu niente...ho il cervello fuso ormai...ma devo farcela perchè domani ho compito su una cosa molto simile...dove sbaglio adesso?
call programma
    
    mov si,0
    
    
    mov dl,cont            
    add dl,30h            
    mov ah,02h            
    int 21h                

    
    mov dx,bp            
        
    mov al,00h                
    mov ah,4ch
    int 21h
    
    
    
    programma proc near
        start:
                mov al,vett[si]
                inc si
                test al,10000000b
                jz conta
                avanti:
                
                
                
                
                push bp
                mov bp,sp
                mov bx,[bp+4]        
                mov cx,bp
                mov ax,[bp+6]        
                add al,bl
                mov ah,0
                mov [bp+8],ax
                pop bp
                
                jmp start
                conta:
                    inc cont
                    jmp avanti
            ret
    endp
aaa