PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie P5driv.s19 zu disassemblieren?



rnhvw
15.07.2004, 19:03
Hallo lieber disassemblierer,

Soweit Ich verstehe behaltet die Datei 'p5driv.s19' machinencode fur die 68HC05B6 microcontroller. Ich fand irgendwo dass p5driv.s19 in ein sogenantes Motorola S19 format notiert is. Klares ASCII.

Wie soll Ich denn p5driv.s19 disassemblieren. Ich hab ID05.exe probiert und nog so ein 'IDA Pro Demo' aber dass bringt mir nicht weiter.

Oder mach Ich da etwas ganz dummes?

Gruss

Henk

Dirk
15.07.2004, 20:14
Hi Henk,

das Listing befindet sich als "P5DRIV.asm" auf der mitgelieferten CD!

Gruß Dirk

rnhvw
15.07.2004, 21:16
Hallo Dirk,

Sag mir doch mahl bitte wo denn, denn auf miene CD oder 'programfiles/ccrp5' kann Ich nirgendwo ein .asm file finden.

Gruss

Henk

Dirk
16.07.2004, 17:25
Hallo Henk,

ich bin gerade nicht da, wo die CD ist, also hier das File im Anhang [Gelöscht wegen Mangel an Upload-Platz]!

Gruß Dirk

rnhvw
16.07.2004, 17:43
Hallo Dirk,

Dank fur die p5driv.asm

Gruss

Henk

RCO
10.08.2004, 22:50
Kann mir jemand eine asm-Datei in eine s19 Datei umwandeln?
Die Datei ist Teil eines C-control Programms

Dies ist der Inhalt der ASM Datei:


; Scancode AT-Tastatur
; Author Martin Kaup (kaup@nettypes.de)
; nettypes GmbH
; Datum 08.04.2002
; Code ist frei verfügbar, und dient als Beispiel
; Ein Scancode besteht aus 11 seriellen bits.
; 1. Startbit 2.-9. Datenbits, Paritybit und Stopbit
; Scancode (22) 00010110 zB. entspricht der Taste 1 (nicht in NUM-Block!)
; Es gibt Tasten (zB. Entf, Ende, Bild hoch etc., die senden zwei Codes. 1. den ESC-Code 224(dezimal) und dann den
; Tastencode 112(dezimal) bei der Taste Einfg.
; Die Tastatur übermittelt auch noch ob eine entsprechende Taste losgelassen wurde mit dem Code 240(dezimal).
; Bsp. Die Taste 1 (nicht in NUM-Block!)
; Ein einzelner Anschlag besteht also aus 33 Takten. Tastencode - Taste wurde losgelassen - Tastencode.
; Es sei denn, es wurde eine 'ESC'-Taste gedrückt - dann liegen uns 55 Takte vor.
; Also: LS MS
; BitNr.: 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11
; BitArt: S|D0|D1|D2|D3|D4|D5|D6|D7| P| s S=Startbit, Dn=Datenbits, P=Paritybit ODD, s=Stopbit
; S| 0| 1| 1| 0| 1| 0| 0| 0| P| sS| 0| 0| 0| 0| 1| 1| 1| 1| P| sS| 0| 1| 1| 0| 1| 0| 0| 0| P| s
; Weitere Details bitte dem Code entnehmen, oder per E-Mail.
; Die Anschlüsse der Tastatur, Clock und Data liegen an 0,01 und 1,01 Data.
; Die Daten liegen mit fallender Flanke der Clock an. Beide Signale sind low-aktiv.
; Das Ergebnis des Scancode liegt in ERG (A4) vor.
; Ein Umsetzung der Scancodes in ASCII ist noch im Basic nötig.
; Scancode:ASCII:Zeichen
; 22:49:1 30:50:2 38:51:3 37:52:4 ...etc.
; Nächster Schritt wird sein, da es sich beim AT-Keyboard um ein bidirektionales Protokoll handelt, die LED's
; und weitere "Setup"-Funktionen (Delay,Repeat...) zu aktivieren.
; Der Code erhebt kein Anspruch auf Vollständigkeit oder Funktion. Mir ging es nur um die Möglichkeit eine preiswerte
; Lösung zur Ansteuerung von Relais mit einer Tastatur zu haben.
; Der Code als solcher lässt sich bestimmt noch Optimieren, aber ich hab's mit Assembler nicht so.
; Ich habe auf die 'ESC'-Sequenz der 'ESC'-Tasten verzichtet. Ich hoffe nur, dass es keine Normal-Codes mit gleichen
; Codes gibt, so dass es notwendig wird die ESC-Sequenzen mit Auzuwerten, denn der Code ist mit 80 Sys-Bytes
; noch entschieden zu gross.
; Viel Spass mit den Scancodes
; Martin Kaup im April 2002 :-}

porta equ $00
portb equ $01
ddrb equ $05
A1 equ $A1
A2 equ $A2
A3 equ $A3
ERG equ $A4

org $101
sei ; Interrupts Maskieren, damit wir die grüne LED behalten!
; bclr 0,ddrb ; bit0 auf portb als Eingang (CLock)
; bclr 1,ddrb ; bit1 auf portb als Eingang (Data)

ldx #9 ; 1. bit ist Startbit, es folgen 8 Datenbit
jsr read1
sta A1 ; letzten 8bit in A1

ldx #3 ; 1. bit ist 2. bit ist Stopbit, 2. es folgen 8 Datenbit
jsr read1

ldx #8
jsr read1
sta A2

ldx #3
jsr read1

ldx #8
jsr read1
sta A3

lda #!240
cmp A1
beq SCistA2
cmp A2
beq SCistA3
lda #!224
cmp A1
beq SCistA2
lda A1
cmp A2
beq SCistA2
rts
SCistA2
lda A2
bra raus
SCistA3
lda A3
bra raus
raus
sta ERG
rts

read1 brclr 0,portb,read1
read2 brset 0,portb,read2
brset 1,portb,w1 ; 8 mal Databit = Databyte
w1 rora
decx
bne read1
rts


Die Datei dient zum Ansteuern einer PS/2-Tastatur, und da ich grade gelesen haben, dassihr hier anscheinend mehr Ahnung habt als ich, würde ich mich freuen, wenn mir jemand helfen könnte.

Danke

Arexx-Henk
11.08.2004, 00:09
Hallo RCO,

Gehe mahl zum
- Download (menu Oben im Roboternetz)
- C-Control I Tools/Quellcode
- AS05 Assembler

download 'as05.zip' uns auspacken

Dein deindatei.asm Datei im selben Folder kopieren als die AS05.EXE

Im DOS-Box ausfuhren oder in einem .bat Datei notieren und die .bat ausfuhren mit folgendes:

AS05 -i -s deindatei.asm

Und du bekomst ein 'deindatei.s19' daraus

(-i = ignore case in opcode)
(-s = write to (motorola) s-record)
Aus: AS05.MAN

Viel Gluck,

Gruss,

Henk

RCO
11.08.2004, 09:41
Danke Henk
hat soweit alles supere geklappt.
Bin auf der Arbeit und konnte es leider noch nicht ausprobieren, aber diee S19-Datei ist feretig.

Man muss sogar nur AS05 -i -s Dateiname angeben, ohnee die Endung ASM, aber ist ja auch unwichtig.

Vieleen Dank

MFg Moritz