Hallo an alle.
Ich möchte einen Taschenrechner programmieren.
Verwendete IDE : Keil mvision 2
Verwendete CPU : Dallas DS87C520/DS83C520
-> Also Architektur ist 8051( wie in der Überschrift bereits erwähnt )
Und ich verwende im Moment nur den internen Simulator von Keil.
So nun zum Problem:
Ich kann EIN Zeichen einlesen folgendermaßen:
1 | getString:
|
2 | jnb ri, $ ; warten auf Tastendruck
|
3 | call pause ; 10 ms warten
|
4 | jnb ri, getString ; zurück wenn Tastenprellen
|
5 | mov a, sbuf ; gedrückte Taste in Akku laden
|
6 | call send ; gedrückte Taste ausgeben
|
7 | cjne a, #0x23, getString ; solange nicht # wiederhole
|
8 |
|
9 | ; Raute-Taste wurde offentsichtlich gedrückt
|
10 | ret
|
Nun als Beispiel: Ich habe eine '1' eingegeben. Er liest diese '1' ein
und gibt sie auch wieder auf dem Screen aus. Nun gebe ich wieder eine
'1' ein und er liest diese wieder ein und gibt sie aus.
Das Problem ist nun, dass ich ja diese Zahl, was eigentlich eine '11'
wäre, mit einer 2. Zahl addieren möchte. Wie mach ich das, dass ich die
Zahlen die ich eingebe wie eine Art String behandeln kann und nicht wie
immer ein einzelnes Zeichen.
Sodass, wenn ich zweimal die '1' drücke am Ende auch eine Zahl: '11'
herauskommt mit der ich richtig rechnen kann.
In C wäre das die Funktion strcat( also hänge Zeichen an Zeichenkette ),
nur wie ist das in Assembler ?
Vielen Dank für Eure Hilfe
Mfg coVo2k