Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| efinf:blcks2017:bitsundbytes:assembler [2017/11/16 12:24] – Ivo Blöchliger | efinf:blcks2017:bitsundbytes:assembler [2017/11/16 12:45] (current) – Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ===== Hackme Code ===== | ||
| + | Studieren Sie folgenden Code: | ||
| + | <code asm> | ||
| + | ; Dieses Programm gibt den String rechtsbündig ab | ||
| + | ; Adresse 250 aus. | ||
| + | ; | ||
| + | JMP start | ||
| + | DB "hello world" | ||
| + | ; | ||
| + | ; 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 | ||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | 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 " | ||
| + | </ | ||
| + | </ | ||