Rubén

Geregistreerd op: 07 Okt 2010 Berichten: 60
|
Geplaatst: 17-11-2010 15:48:26 Onderwerp: Oef pg 97 Computersystemen |
|
|
%include "gt.asm"
covar
g1: resd 1
g2: resd 1
som: resd 1
outarea:times 70 DB (' ') ; lege lijn declareren als outarea
DB 0Dh, 0Ah
zin1: DB 'HET EERSTE GETAL IS: '
zin2: DB 'HET TWEEDE GETAL IS: '
lijn: DB '='
zin3: DB 'DE SOM IS: '
inleiding
openuit
cld
inv [g1] ; berekenen van de som
inv [g2]
mov eax, [g1]
add eax, [g2]
mov [som], eax
mov ecx, 25 ; zin 1 in outarea zetten
mov ESI, zin1
mov EDI, outarea
rep movsb
mov ebx, 10 ; deler in ebx
std ; we beginnen vanop positie 25 en vrnl
mov edi, outarea + 25
mov eax, [g1] ; mag niet in de lus staan want moet juist altijd veranderen
lus:
mov edx, 0 ; berekenen van g1/10 om daarna om te zetten in een
idiv ebx ; string
or dl, 30h
xchg al, dl
stosb
xchg al, dl
cmp eax, 0
jne lus
schrijf
mov ecx, 70 ; outarea leegmaken
mov al, ' '
mov EDI, outarea
rep stosb
cld
mov ecx, 25 ; zin 2 in outarea zetten
mov ESI, zin2
mov EDI, outarea
rep movsb
mov eax, [g2] ; klaarzetten om g2 om te zetten naar string
mov ebx, 10
std
mov edi, outarea + 25
lus2:
mov edx, 0 ; g2 omzetten naar string
idiv ebx
or dl, 30h
xchg al, dl
stosb
xchg al, dl
cmp eax, 0
jne lus2
schrijf
mov ecx, 70 ; outarea leegmaken
mov al, ' '
mov EDI, outarea
rep stosb
mov ecx, 25 ; de tussenlijn tekenen
mov al, '='
mov EDI, outarea
rep stosb
schrijf
mov ecx, 70 ; outarea leegmaken
mov al, ' '
mov EDI, outarea
rep stosb
mov ecx, 25 ; zin 3 in outarea zetten
mov ESI, zin3
mov EDI, outarea
rep movsb
mov eax, [som]
mov ebx, 10
std
mov EDI, outarea + 25
lus3:
mov edx, 0
idiv ebx
or dl, 30h
xchg al, dl
stosb
xchg al, dl
cmp eax, 0
jne lus3
schrijf
slot _________________ Wat een weer weer. Je kan beter in het magazijn zijn, pakken pakken en rollen rollen. |
|