Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Anfänger Assemblerfrage » Themenansicht

Autor Thread - Seiten: -1-
000
23.09.2019, 21:15 Uhr
Reiko



Hallo,

hab mir heut mal das KC85 Assemblertutorial von Frank Dachselt und Ralf Kästner angeschaut und auf dem JKCEMU zum laufen bekommen.

Um das ganze noch besser zu verstehen, möchte ich einfach zwei Zahlen addieren/substrahieren und das Ergebnis ausgeben.

Mit den Beispielen aus dem Tutorial fehlt mir aber noch die Ausgabe.

DB 1
DB 7FH,7FH
DB 'HALLO'
DB 1
CALL 0F003H
DB 23H
DB 'Hallo KC-Club !',0
LD A,3
ADD A,48
RET

Reiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
24.09.2019, 06:31 Uhr
Bert



Das sieht doch schon ganz gut aus.
Das Zielsystem ist offenbar ein KC852-5 aus Mühlhausen.

Für diese Rechner sind die Funktionen des Betriebssystem im Handbuch unter "Liste der nutzbaren Unterprogramme" relativ ausführlich beschrieben.
Was du suchst, ist die Funktion AHEX (1CH).
Mit EQU kann man symbolisch Namen definieren. Das macht den Quelltext etwas leichter zu lesen:

Quellcode:

PV1  EQU 0F003H
AHEX EQU 1CH
OSTR EQU 23H
CRLF EQU 2CH

  ORG 200H
  DEFW 7F7FH
  DEFM 'HALLO'
  DEFB 1
  CALL PV1
  DEFB OSTR
  DEFM 'Test '
  DEFB 0
  LD A, 3
  ADD A, 48
  CALL PV1
  DEFB AHEX
  CALL PV1
  DEFB CRLF
  RET    





Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
24.09.2019, 08:42 Uhr
Reiko





sieht schon mal gut aus, allerdings ist das jetzt eine Hexzahl 33 (DEC 51)
Hab noch keine Funktion gefunden, dass es als Dezimal ausgegeben wird.

Grüße Reiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
24.09.2019, 18:36 Uhr
Bert



Um eine Dezimalzahl mit AHEX ausgeben zu können, muß sie ins BCD-Format gewandelt werden:
https://www.msx.org/forum/development/msx-development/bcdhex-conversion-asm



Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
25.09.2019, 02:29 Uhr
Crawler

Avatar von Crawler

Mit dem Befehl "DAA" kann sehr einfach eine Konvertierung zur dezimalen Darstellung durchgeführt werden, wenn die Eingabewerte im hexadezimalen Format vorliegen.


Quellcode:

PV1:     EQU 0F003H
AHEX:    EQU 1CH
OSTR:    EQU 23H
CRLF:    EQU 2CH

    ORG     200H

    DEFW    7F7FH
    DEFM    'TEST'
    DEFB    1
    CALL    PV1
    DEFB    OSTR
    DEFM    'Ergebnis: '
    DEFB    0
    LD      A,03H
    ADD     A,48H
    DAA
    CALL    PV1
    DEFB    AHEX
    CALL    PV1
    DEFB    CRLF
    RET



Auf diese Weise ist ein kleines Additions-Kommando realisierbar, welches Summen im Bereich 0..99 berechnen kann.


Quellcode:

PV1:     EQU 0F003H
AHEX:    EQU 1CH
OSTR:    EQU 23H
CRLF:    EQU 2CH

ARG1:    EQU 0B782H
ARG2:    EQU 0B784H

    ORG     200H

    DEFW    7F7FH
    DEFM    'ADD'
    DEFB    1
    CALL    PV1
    DEFB    OSTR
    DEFM    'Ergebnis: '
    DEFB    0
    LD      A,(ARG1)
    LD      HL,ARG2
    ADD     A,(HL)
    DAA
    CALL    PV1
    DEFB    AHEX
    CALL    PV1
    DEFB    CRLF
    RET




Dieser Beitrag wurde am 25.09.2019 um 02:47 Uhr von Crawler editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
25.09.2019, 20:03 Uhr
Reiko



Danke für eure Hilfe.
Ich seh schon Assembler ist eine eigene Welt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
28.09.2019, 10:04 Uhr
ralle



Schau mal ins HB vom Development.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek