Hallo,
op school zijn we bezig met assembler, en we zijn nu bezig met push en pop
de push en pop werkt perfect maar alleen is het probleem dat als je een
reeks tekens achtereen op de stack plaats en je wilt deze reeks tekens terug
van de stack halen, dat dat de reeks tekens in omgekeerde volgorde
eruit komen [wat volledig logisch is ].
Mijn vraag nu is, is hiervoor iets te vinden of is het het beste om een
andere manier te gebruiken.
Het sukje code dat ik nu heb
In ieder geval al bedankt
op school zijn we bezig met assembler, en we zijn nu bezig met push en pop
de push en pop werkt perfect maar alleen is het probleem dat als je een
reeks tekens achtereen op de stack plaats en je wilt deze reeks tekens terug
van de stack halen, dat dat de reeks tekens in omgekeerde volgorde
eruit komen [wat volledig logisch is ].
Mijn vraag nu is, is hiervoor iets te vinden of is het het beste om een
andere manier te gebruiken.
Het sukje code dat ik nu heb
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| org 100h
mov cx, 06h ; loop van 6
READCHAR:
mov ah, 01h ; functie om 1 char in te lezen van keyboard
int 21h ; functie aanroepen
mov ah, 00h ; zorgen dat ah geen waarde meer bevat
push ax ; ax op de stack plaatsen
loop READCHAR ; loopen
mov cx, 06h ; 6 chars afdrukken
call PRINTENTER ; druk een enter
PRINTCHAR:
pop dx ; laatste uit pop halen en in dx steken
call ADDTOBUFFER;
loop PRINTCHAR
call BEEP ; laat een beep horen
mov ah, 4ch ; afdruk functie
int 21h ; afdruk functie aanroepen
ADDTOBUFFER:
mov ah, 02h ; toevoegen in buffer (in dl staat nu juiste val)
int 21h ; functie aanroepen
ret ; terug naar main()
PRINTENTER:
mov dh, dl ; dl tijdelijk in dh
mov dl, 0Ah ; enter (newline)
call ADDTOBUFFER
mov dl, 0Dh ; enter (linefeed)
call ADDTOBUFFER
mov dl, dh ; "backup" terug in dl plaatsen
ret ; terug naar main()
BEEP:
mov dh, dl ; dl tijdelijk in dh
mov dl, 07h ; beep
call ADDTOBUFFER
mov dl, dh ; "backup" terug in dl plaatsen
ret ; terug naar main() |
In ieder geval al bedankt
[ Voor 4% gewijzigd door Sheedafi op 28-02-2003 13:59 ]
If it jams force it, if it breaks it needed fixing anyway!!