Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
efinf:blcks2017:bitsundbytes:assembler [2017/11/16 13:18] Ivo Blöchliger created |
efinf:blcks2017:bitsundbytes:assembler [2017/11/16 13:45] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Hackme Code ===== | ===== Hackme Code ===== | ||
+ | Studieren Sie folgenden Code: | ||
<code asm> | <code asm> | ||
; Dieses Programm gibt den String rechtsbündig ab | ; Dieses Programm gibt den String rechtsbündig ab | ||
Line 14: | Line 15: | ||
start: MOV A,250 ; Adresse Ausgabe (letzter Buchstabe) | start: MOV A,250 ; Adresse Ausgabe (letzter Buchstabe) | ||
MOV B, start ; Adresse+1 vom letzten Buchstaben | MOV B, start ; Adresse+1 vom letzten Buchstaben | ||
- | loop: DEC B ; B vermindern | + | DEC B ; B vermindern |
+ | CALL ausgabe | ||
+ | HLT | ||
+ | ausgabe: | ||
MOV C,[B] ; Buchstabe in C | MOV C,[B] ; Buchstabe in C | ||
MOV [A],C ; Ausgabe | MOV [A],C ; Ausgabe | ||
DEC A ; A vermindern | DEC A ; A vermindern | ||
- | CMP B,2 ; ist A am Anfang angekommen? | + | DEC B ; B vermindern |
- | JNE loop ; sonst wiederholen | + | CMP B,1 ; ist B am Anfang angekommen? |
- | HLT | + | JNE ausgabe ; sonst wiederholen |
+ | RET | ||
+ | </ | ||
+ | |||
+ | Schaffen Sie es, indem Sie nur die DB-Zeile anpassen (das wäre so quasi der User-Input), | ||
+ | |||
+ | <hidden Mögliche Lösung> | ||
+ | <code asm> | ||
+ | DB " | ||
</ | </ | ||
+ | </ |