Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Last revision Both sides next revision | ||
lehrkraefte:blc:informatik:ffprg2-2018:ffprg2-2018 [2019/01/18 17:19] Ivo Blöchliger [Hackme Code] |
lehrkraefte:blc:informatik:ffprg2-2018:ffprg2-2018 [2019/01/18 17:19] Ivo Blöchliger [Busy Beaver] |
||
---|---|---|---|
Line 143: | Line 143: | ||
===== Busy Beaver ===== | ===== Busy Beaver ===== | ||
<code asm> | <code asm> | ||
- | ; Dieses Programm gibt den String rechtsbündig ab | + | start: |
- | ; Adresse 250 aus. | + | MOV B, 255 |
- | ; | + | |
+ | humpfdidumpf: | ||
+ | MOV A, [B] | ||
+ | INC A | ||
+ | MOV [B], A | ||
+ | JNC humpfdidumpf | ||
+ | while: | ||
+ | DEC B | ||
+ | CMP B, ende | ||
+ | JE ende | ||
+ | MOV A, [B] | ||
+ | INC A | ||
+ | MOV [B], A | ||
+ | JC while | ||
JMP start | JMP start | ||
- | DB " | + | ende: |
- | ; | + | |
- | ; Register | + | |
- | ; A Ausgabe-Adresse | + | |
- | ; B Position in DB | + | |
- | ; C temporär | + | |
- | + | ||
- | start: MOV A,250 ; Adresse Ausgabe (letzter Buchstabe) | + | |
- | MOV B, start ; Adresse+1 vom letzten Buchstaben | + | |
- | DEC B ; B vermindern | + | |
- | CALL ausgabe | + | |
HLT | HLT | ||
- | ausgabe: | ||
- | MOV C,[B] ; Buchstabe in C | ||
- | MOV [A],C ; Ausgabe | ||
- | DEC A ; A vermindern | ||
- | DEC B ; B vermindern | ||
- | CMP B,1 ; ist B am Anfang angekommen? | ||
- | JNE ausgabe ; sonst wiederholen | ||
- | RET | ||
</ | </ | ||