Re: Jak z Hex na Asembler



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "JS" <jar0sz_at_nospam_polbox.com>
Subject: Re: Jak z Hex na Asembler
Date: Tue, 12 Oct 1999 08:01:28 GMT



[...]
jp 2500
[...]
jp 2501

A może to sš jakieś dane ?


[...]
2500: or A,3Ch
...

Albo takie cudo:
300: ld a,42h,
302: JP NC,273Eh
305: JP NC,513Eh
308: JP NC,433Eh
ld H,A
[cos z sensem]

W dodatku program ma raptem 16KB, i sa dosc sensowne skoki pod 300 i
.. 306 !


Może sš jakieś osobliwości w sprzęcie, np. zamienione linie adresowe
(danych - mniej prawdopodobne), kluczowanie adresów ?

A może "Allamagoosa" ?

--
Jarosław Szynal



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Jak z Hex na Asembler
Date: 12 Oct 1999 09:23:56 GMT


On Tue, 12 Oct 1999 08:01:28 GMT, JS <jar0sz_at_nospam_polbox.com> wrote:
[...]
jp 2500
[...]
jp 2501
A może to sš jakieś dane ?

A wygladaja ? W srodku sensownego programu...

[...]
2500: or A,3Fh
...

To jest tak: jak program skacze do 2500, to zeruje C i wykonuje
program od 2502, jak skacze do 2501, to wykonuje SCF [set carry flag]
i tez kontynuuje 2502 ...


Albo takie cudo:
300: ld a,42h,
302: JP NC,273Eh
305: JP NC,513Eh
308: JP NC,433Eh
ld H,A
[cos z sensem]
W dodatku program ma raptem 16KB, i sa dosc sensowne skoki pod 300 i
.. 306 !
Może sš jakieś osobliwości w sprzęcie, np. zamienione linie adresowe
(danych - mniej prawdopodobne), kluczowanie adresów ?

Program pod CP/M - zadnego kontaktu ze sprzetem. Tylko ze C jest wczesniej
ustawione na pewno, a 3E, 27 to jest ld A, 27h

I w programie sporo takich sztuczek, no coz, kazdy bajt sie liczy ..


J.


Poprzedni Następny
Wiadomość
Spis treści
From: "JS" <jar0sz_at_nospam_polbox.com>
Subject: Re: Jak z Hex na Asembler
Date: Fri, 15 Oct 1999 23:33:30 GMT


jp 2500
[...]
jp 2501
A może to sš jakieś dane ?

A wygladaja ? W srodku sensownego programu...

Rzeczywiscie. Normalne skoki.
Jakos nie zauwazylem, ze skoki sa w roznych miejscach programu. Chyba
powinienem zmienic okulary.
Myslalem o czyms takim:

ppp: jp xxx
qqq: jp yyy


zwlaszcza, jesli nie ma skoku do qqq, a cel yyy jest malo sensowny.

W Twoim przykladzie nie o to chodzi.
Sorry.

[...]
2500: or A,3Fh
...

To jest tak: jak program skacze do 2500, to zeruje C i wykonuje
program od 2502, jak skacze do 2501, to wykonuje SCF [set carry flag]
i tez kontynuuje 2502 ...

Cos tak podejrzewalem, ze warto sprawdzic co wyjdzie z deasemblacji od
adresu 2501.


Może sš jakieś osobliwości w sprzęcie, np. zamienione linie adresowe
Program pod CP/M - zadnego kontaktu ze sprzetem. Tylko ze C jest

W sprzecie nie ma wiec raczej zadnych cudow.
Sugestia wynikla z wlasnych doswiadczen (PCB, na ktorej linie adresowe i
danych prowadzone sa w sposob maksymalnie planarny, dzieki czemu prawie
wszystkie docieraja do innych nozek EPROMu niz normalnie).

Dzieki za wyjasnienia !

Jeszcze ciekawostka z avt.ep.elektronika:
<cytat>
Od: Krzysztof Rutecki <keyman_at_nospam_kki.net.pl>
Data: 25 czerwca 1999 18:41
Temat: Re: Konwersja HEX => LCD

; Description:
; Convert Value In Low 4 Bits Of Acc To A Hex Digit
;
; Entry Requirements:
; Low 4 Bits Of Acc Have Value To Convert To '0'..'9', 'A'..'Z'
;
; On Exit:
; Value Of Low 4 Bits In ASCII
;
; Affected:
; PSW.CY, PSW.Z, PSW.P, Acc
;
; Stack:
; 0 Bytes, Not Including Space Used By Called Routines
;
; Comments:
; Near Trick From A Z80 Book Circa 1982. Don't Know Who The Original
; Author Is.
;
UTIL_BINTOASC proc
anl a,#00fh ; Keep Only Low Bits
add a,#090h ; Add 144
da a ; Decimal Adjust
addc a,#040h ; Add 64
da a ; Decimal Adjust
ret ; Return To Caller
endproc
</cytat>
Na marginesie - oprocz kodu piekne w tej procedurze sa komentarze
(szczegolnie przydatne w razie zapomnienia znaczen mnemonikow instrukcji).
Ale coz, programy sa trudne do napisania, wiec powinny byc takze trudne do
zrozumienia.

--
Jaroslaw Szynal


To err is human; to forgive, divine.