-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!feeds.phibee-telecom.net!newsreader4.netcologne.de!news.n
etcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am
4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02
.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-
for-mail
Subject: Re: 74HCT245 jako port wejściowy - nie działa, choć powinien
Newsgroups: pl.misc.elektronika
References: <5f3e204e$0$520$65785112@news.neostrada.pl>
<5f4535af$0$536$65785112@news.neostrada.pl>
<5f453f5f$0$554$65785112@news.neostrada.pl>
From: Atlantis <m...@w...pl>
Date: Tue, 25 Aug 2020 20:36:41 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.11.0
MIME-Version: 1.0
In-Reply-To: <5f453f5f$0$554$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=utf-8
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 126
Message-ID: <5f455a39$0$551$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.27.20.46
X-Trace: 1598380601 unt-rea-a-02.news.neostrada.pl 551 83.27.20.46:35436
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 4386
X-Received-Body-CRC: 3057669977
Xref: news-archive.icm.edu.pl pl.misc.elektronika:756592
[ ukryj nagłówki ]On 25.08.2020 18:42, J.F. wrote:
> Mowilem - wpisz w stos jakies znane wartosci i sprawdzaj ile ich sie
> ostalo.
Na razie wstrzymałem się z tym testem, bo jego przeprowadzenie jest
trochę uciążliwe ma tak antycznej platformie, gdy nie ma się dostępu do
sprzętowego debuggera i nie można tak po prostu ustawić pułapki i
podejrzeć zawartości pamięci.
Na chwilę obecną obserwacje zdają się wskazywać właśnie na problem ze
stosem...
> Sprzetowy chyba tez uzywa.
Tak, oczywiście. Miałem na myśli to, że używa go w ograniczonym
zakresie. Bodajże m.in. wartości zwracane przez funkcje są odkładane na
tym stosie. I to chyba tylko wtedy, gdy są one za duże, żeby dało się je
przekazać przez rejestry.
> Ale Ty stosu sprzetowego potrzebujesz ... chyba
Wydaje mi się, że sam w części kodu napisanej w asemblerze użyłem
instrukcji PHA i PLA tylko kilka razy. Na pewno występuj one w części
odpowiadającej za wykonanie przerwania (zrzucenie na stos i przywrócenie
kontekstu) oraz w jednej z procedur opóźniających. Widzę, że w kodzie
generowanym przez kompilator też czasem się pojawiają, gdy np. chwilowo
trzeba zwolnić rejestr albo akumulator.
> Ten jest chyba dobry - bo juz nie wołasz key_update().
Tak, to jest aktualna wersja kodu, w której wywaliłem wywołania tej
funkcji. Jednak to właśnie ten projekt buł problematyczny. Drugi, pomimo
wywołań kay_update() zawsze działał całkowicie poprawnie.
> A mozesz wrzucic assembler do funkcji key_update ?
> Moze ma tam troche wewnetrznych zmiennych tymczasowych.
Kompiluje się do następującego kodu asemblerowego:
; ----------------------------------------------------
-----------
; void __near__ key_update (__near__ struct key *)
; ----------------------------------------------------
-----------
.segment "CODE"
.proc _key_update: near
.segment "BSS"
L001E:
.res 1,$00
.segment "CODE"
jsr pushax
lda $6600
jsr pusha0
ldy #$03
jsr ldaxysp
sta ptr1
stx ptr1+1
lda (ptr1)
jsr tosanda0
jsr bnega
sta L001E
lda L001E
jsr pusha0
ldy #$03
jsr ldaxysp
sta ptr1
stx ptr1+1
ldy #$01
lda (ptr1),y
jsr tosicmp0
beq L0023
lda L001E
beq L0026
jsr pushw0sp
jsr _millis
ldy #$02
jsr staspidx
bra L002F
L0026: jsr _millis
jsr pushax
ldy #$03
jsr ldaxysp
sta ptr1
stx ptr1+1
ldy #$02
lda (ptr1),y
jsr tossuba0
cmp #$03
bcc L002F
jsr ldax0sp
ldy #$03
sta ptr1
stx ptr1+1
lda (ptr1),y
iny
ora (ptr1),y
beq L002F
jsr ldax0sp
ldy #$04
jsr ldaxidx
jsr callax
L002F: jsr ldax0sp
sta ptr1
stx ptr1+1
lda L001E
ldy #$01
sta (ptr1),y
L0023: jmp incsp2
.endproc
> No i wolasz z niej te key_func, prepare_disp, update_disp jak sie domyslam.
A tak, faktycznie. Te funkcje są wywoływane. Funkcja key_func przez
wskaźnik na funkcję zapisany w strukturze, a z niej jeszcze po kolei
prepare_disp i update_disp.
Następne wpisy z tego wątku
- 28.08.20 11:03 J.F.
Najnowsze wątki z tej grupy
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=