Addition de 2 tableaux,mise du resultat dans un 3° tableau,calcul de la somme des elements du tableau resultant et puis affi

Contenu du snippet

eci est un exercice en assembleur que j'ai fait en classe
initialisation puis addition de deux tableaux et mise du resultat
dans un 3° tableau et en fin calcul de la somme des elements
du tableau resultat dans une variable "somme" et affichage d'un message à la fin

Source / Exemple :


PILE segment
	db 50 dup (0)
PILE ends

data segment
	tab1 db 5 dup (10,20,30,40,50)
	tab2 db 5 dup (1,2,3,4,5)
	tabsom db 5 dup (0)
	msg db 'transfert  et somme terminés'
	somme dw 0
data ends

code_proc segment
assume ds:data
assume ss:pile
assume cs:code_proc
	transfert proc near
		lea si,tab2
		lea di,tabsom
		mov cx,5
tab_transfer:
mov al,[si]
mov [di],al
inc si
inc di
loop tab_transfer
	ret
transfert endp

add_tab proc near
	lea si,tab1
	lea di,tabsom
	mov cx,5
add_trans:
mov al,[si]
mov [di],al
inc si
inc di
loop add_trans
	ret
add_tab endp

somme_tab proc near
	lea si,tabsom
	mov cx,5
	mov ah,0
addition:
mov al,[si]
add somme,ax
inc si
loop addition
	ret
somme_tab endp

show_msg proc near
	mov cx,length msg
	mov ax,offset msg
affich:
mov dl,[ax]
mov ah,6h
int 21h
inc ax
loop affich
	ret
show_msg endp

main proc near
	mov ax,data
	mov ds,ax
	mov ax,pile
	mov ss,ax
call transfert
call add_tab
call som_tab
call shox_msg
	mov ah,4ch
	int 21h
main endp
code_proc endp

end main

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.