Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Testprogramme in Assembler fuer 1834 mit MASM » Themenansicht

Autor Thread - Seiten: -1-
000
22.01.2023, 14:19 Uhr
wpwsaw
Default Group and Edit


na gut, noch ein neues Thema,

wie kann ich dem MASM ein JMP 0F000E05Bh verklickern, wenn ich in einem 64k Segment arbeite

Habe schon einiges probiert

jmp far ptr 0F000h:0E05Bh
jmp far ptr 0F000h0E05Bh
jmp far ptr 0F0000E05Bh
jmp 0F000E05Bh
jmp 0FxE05Bh

und und und

wie mache ich es richtig, denn ich muss ja eine 20bit Adresse anspringen

wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
22.01.2023, 15:13 Uhr
wpwsaw
Default Group and Edit


so,

Sven hat mich aufgeklärt,

jetzt eine andere Frage, wie sage ich meinem Assemblerprogramm das ich im Segment 0F000h arbeiten will


CODE SEGMENT at 0F000h

da macht der LINKER nicht mit
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
22.01.2023, 15:27 Uhr
MarioG77

Avatar von MarioG77

Das hier kann dir vielleicht helfen.
Ist zwar die andere Richtung, aber evtl. kommst du damit weiter.


Quellcode:

bios_reset_seg SEGMENT USE16 AT 0ffffh
bios_reset LABEL FAR
bios_reset_seg ENDS

_TEXT SEGMENT USE16 'CODE'
    jmp bios_reset
_TEXT ENDS



von:
https://stackoverflow.com/questions/32706833/how-to-code-a-far-absolute-jmp-call-instruction-in-masm
--
Gruss Mario

Betriebsbereit: KC85/3, 2x [KC85/4, D004+Floppy], PPC512, PC1512, 2xEC1834, Soemtron 286, 3x PC1715, picoAC1
Zu restaurieren: 1x D004
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
22.01.2023, 16:05 Uhr
Ordoban



Du könntest auch den einfacheren A86 nehmen, der rotzt direkt Binärdateien für das Eprom raus.

Quellcode:

code segment at 0f000h
org 0

org 01234h
    mov ax,0

org 0fff0h
    jmp far ptr 0f000h:01234h


--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
22.01.2023, 17:14 Uhr
wpwsaw
Default Group and Edit


Hallo Stefan,

an dich hatte ich überhaupt nicht gedacht,

...hatte ich schon so getestet ,

egal in welcher Schreibweise ich Befehle und Adresse geschrieben habe, es kommen immer wieder Fehlermeldungen

so wie bei dir


Quellcode:
                ;**********************************************
                ***********************************************
                ;
FFF0                           org    0fff0h            ;RESET     Einsprungadresse
FFF0  EA E05B ----                   JMP    far ptr 0f000h:0e05bh    ;start2
                
                stest863.asm(383): error A2038: Left operand must have segment
                    
                
                ;    DB 0EAh, 05bh, 0e0h, 0h, 0F0h ; Direkteingabe
                ;
FFF5                    CODE    ENDS  




er scheint aber die Segmentadresse zu reservieren

bei anderen schreibweisen gibt es andere Fehler
z.B.

Quellcode:

JMP    far ptr 0f000h,0e05bh

stest863.asm(383): error A2065: Label cannot have segment override



bei einer anderen Variante machte der Linker Fehlermeldungen
wenn ich die Bytes direkt eingebe, dann läuft mein Programm

DB 0EAh, 05bh, 0e0h, 0h, 0F0h ; Direkteingabe


wpw

EDIT
wenn ich die Zeile: CODE SEGMENT at 0f000h der habe macht der Linker einen Fehler: ERROR L2001 fixup(s) without data pos: 19A Record type : 9C
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP

Dieser Beitrag wurde am 22.01.2023 um 17:41 Uhr von wpwsaw editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
22.01.2023, 17:30 Uhr
Ordoban



Deshalb ja den A86: der nimmt diese Schreibweise
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
22.01.2023, 18:04 Uhr
wpwsaw
Default Group and Edit


den gibt es doch nur unter LINUX oder?
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
22.01.2023, 18:09 Uhr
Ordoban



Nö, unter DOS.
https://eji.com/a86/index.htm
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
22.01.2023, 18:46 Uhr
wpwsaw
Default Group and Edit


Aha, Danke, schaue ich mir mal an.

Ich nutze im Moment mal das Setzen der Adresse mit DB

Mein Programm läuft erst einmal. Ich werde jetzt neue Zwischenpunkte setzen und mir den Status über den PPI Port A auf meine POST Karte ausgeben lassen.

Danke
Gruß
wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
22.01.2023, 19:02 Uhr
wpwsaw
Default Group and Edit


ja, funktioniert auch. Ich habe es in der DOSBOX laufen lassen. Ist meine Sachen einfach zu bedienen.

Danke bis zu den nächsten Fragen

werde jetzt einmal erst ein bisschen experimentieren ;-))

wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP

Dieser Beitrag wurde am 22.01.2023 um 19:04 Uhr von wpwsaw editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
22.01.2023, 20:29 Uhr
wpwsaw
Default Group and Edit


ich spare sogar Arbeitsschritte, weill alles in einer Zeile steht und ich nur immer F3 drücke :-))

wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
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