Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Esercizi Assembler Esercizio 9 - Procedure

Esercizio 9 - Procedure

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

Testo:
Si scriva un programma in linguaggio Assembler 8086 che esegua un’operazione di filtraggio di una serie di segnali.
a)Si definiscano due vettori di elementi su 16 bit chiamati campioni e serie (si assuma che il numero di elementi sia compreso tra 1 e 100).
b)Eseguire un’operazione di filtraggio sul contenuto di campioni, corrispondente a calcolare per ciascun campione il valore media di quello precedente, del successivo e del valore stesso.
c)memorizzare gli n campioni dopo il filtraggio nel vettore serie.
Si strutturi il programma in modo che l’operazione di filtraggio sia eseguita invocando una procedura. Questa procedura restituisce al chiamante il valor medio di tutti gli elementi.
Note:Per il primo e l’ultimo campione si esegua la media su 2 valori. Esempio:
campioni = [5 41 27 345 9 190]
serie = [23 24 137 127 181 99]

Soluzione:
DIM    EQU    6

.model small
.stack

.data
serie    dw    5, 41, 27, 345, 9, 190
campi    dw    DIM DUP ?

.code
.startup

LEA SI, campi
LEA DI, serie

MOV CX, 2
CALL media

INC DI
INC DI

MOV CX, DIM-2

chiamo: PUSH CX

MOV CX, 3
CALL media
INC DI
INC DI
INC SI
INC SI

POP CX
LOOP chiamo

MOV CX, 2
CALL media

.exit

media PROC near

PUSH DX
PUSH AX
PUSH CX
PUSH SI
PUSH BX

MOV AX, 0
CWD

ciclo: 
ADD AX, [SI]
ADC DX, 0
ADD SI, 2 
LOOP ciclo

POP BX
POP SI
POP CX
IDIV CX
MOV [DI], AX
POP AX
POP DX

RET
media ENDP

end


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 11 visitatori online

Siti amici

Banner

Notizie flash

Nella versione 0.9 è stata modificata completamente la grafica... Ci sono ancora alcuni piccoli bug, che andranno presto risolti! Per critiche, suggeririmenti o semplici commenti non esitate a Contattarmi!

PUBBLICITA'