|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 19
|
[ASSEMBLY] - Somma e vettori
Ciao a tutti!
Qualcuno sa dirmi se il programma (anzi, la parte di programma) postato qui sotto potrebbe funzionare? SOMMARE I VALORI PRESENTI ALL'INTERNO DI UN VETTORE. I VALORI SONO DI TIPO WORD ######################### vett1 dw 3,9,4,2,6,4 mov ax,0 mov cx,6 ; e' il contatore delle operazioni mov si,offset vett1 again: add ax,word ptr[si] inc si loop again ######################### Tuttavia, mi è stato detto di utilizzare anche il comando ADC, perchè si utilizza la flag di carry? Grazie a tutti per l'aiuto!! Ultima modifica di Zero_Tolerance : 25-02-2007 alle 16:21. |
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 19
|
Ehm.. come mai?
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 19
|
Questo e' tutto il sorgente:
;--------------------------funzione --------------------------- ; stac segment para stack 'stack' db 128 dup (' ') stac ends ; dati segment para public 'data' ; vett1 dw 3,9,4,2,6,4 dim dw 6 dati ends ; codice segment para public 'codice' ; start proc far assume cs:codice,ds:dati,ss:stac,es:nothing ;-----------------save ds del dos------------------------, ; push ds mov ax,0 push ax ; ;-----------------setting ds ed es----------------------- ; mov ax,dati mov ds,ax mov es,ax ; ;------------------per le movs-------------------------- ; cld ; ; mov ax,0 mov cx,6 ; e' il contatore delle operazioni mov si,offset vett1 again: add ax,word ptr[si] add si,2 loop again fine: ret start endp codice ends end start Questo e' il report del Turbo Debugger: Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International Assembling file: compito.asm Error messages: None Warning messages: None Passes: 1 Remaining memory: 406k Però non mi crea l'eseguibile! |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jul 2005
Messaggi: 19
|
Ma.. inc si non è per puntare al valore successivo del vettore?
All'inizio c'è mov si,offset vett1. Ultima modifica di Zero_Tolerance : 25-02-2007 alle 17:16. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Per la questione del ADC ... non credo che ti serva. ADC somma anche il carry. Ma serve in genere per fare somme a "precisione multipla". Se devi solo fare una somma pedestre di numeri, non ha senso sommare anche il carry.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:09.




















