hulp nodig bij programma

Status
Niet open voor verdere reacties.

rickje

Nieuwe gebruiker
Lid geworden
26 jun 2007
Berichten
3
Hallo ik moet een asm programma schrijven die een rij getallen i nde gebeuegn optelt.
daarna bepaal ik of ze door 2 deelbar zijn en hetresultat geef ik op he tscherm weer.
De rij getalle nhebben een vaste plaats en lengte in het geheuegen.

ik kwam tot het volgende:
start:
mov ah, 0x09 ; keert terug naar dos scherm.
int 0x21 ; resultaat wordt op beeldscherm getoond

mov al, 0x28 ; eerste getal
mov ah, 0x06 ; tweede getal
add eax, al ; zet waarde al in register eax
add eax, ah ; tel waarde register ah op bij eax. (de som van al en ah)

mov al, 0x17 ; derde getal
mov ah, 0x46 ; het vierde getal
add eax, al ; tel waarde al (0x7) op bj eax
add eax, ah ; dit is de som van alle getallen
:loop
; controleer deling door 2
Mov al, 0 ;zet waarde 0 in al
Mov ah, 1 ze twaarde 1 in ah
div eax, 2 ; delen de totale som van eax door twee, antwoord is eax
Cmp eax, al ; vergelijk waarde eax met al
Je deelbaar ; spring naar deelbaar als rest =0
Cmp eax, ah ; ; vergelijk waarde eax met aH
Je niet_deelbaar ; spring als rest = 1

.data
deelbaar db “Som is deelbaar door 2”,13,10,”s”
niet_deelbaar “Som is deelbaar door 2”,13,10,”s”
:end

dit gat nie thelemaal lekker kan iemand mij helpen.

Vervolgens dien ik het progje aan te passen, zodat de lengte van de rij getalen niet vast is.
iemand enig idee?
 
hallo ik ben helemaal nieuw met asm. en ik moet 5 progjes schrijven als huiswerk maar ik loop vast. de eerste opdracht heb ik gemaakt zie hieronder.
In de bijlage heb ik alle (5) opdrachten gepost.

Hallo ik moet een asm programma schrijven die een rij getallen in de gebeugen optelt.
daarna bepaal ik of ze door 2 deelbaar zijn en het resultat geef ik op het scherm weer.
De rij getalle nhebben een vaste plaats en lengte in het geheuegen.
start:
mov ah, 0x09 ; keert terug naar dos scherm.
int 0x21 ; resultaat wordt op beeldscherm getoond

xor ax, ax ;zet register ax=0
add ax, 0x28 ; eerste getal
add ax, 0x06 ; tweede getal

xor bx, bx ;zet register bx=0
add bx, ax ; tel waarde register ax op bij bx.

xor ax, ax ;zet register ax=0
add ax, 0x17 ; derde getal
add ax, 0x46 ; het vierde getal
add bx, ax ; tel waarde register ax op bij bx.

controle: ; controleer deling door 2
xor ax, ax ;zet register ax0
Mov ax, 0 ;zet waarde 0 in ax
xor dx, dx ;zet register dx=0
Mov dx, 0x01 ;zet waarde 1 in dx
div bx ; delen bx door twee, antwoord is ax rest dx
Cmp bx, ax ; vergelijk waarde bx met ax
Je deelbaar ; spring naar deelbaar als rest =0
Cmp bx, dx ; vergelijk waarde bx met dx
Je niet_deelbaar ; spring als rest = 1
.data
deelbaar db "Som is deelbaar door 2" ,13,10,"$"
niet_deelbaar db "Som is deelbaar door 2" ,13,10,"$"
end:


ik kwam tot het volgende:

dit gaat niet helemaal lekker kan iemand mij helpen.

Vervolgens dien ik het progje aan te passen, zodat de lengte van de rij getalen niet vast is.
iemand enig idee?
jullie hulp is erg welkom. ik loop nu vast met de studie!!
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan