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?
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?