zasm



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Mr. Mud" <hybryd_at_nospam_hybryd.com.pl>
Subject: zasm
Date: Mon, 21 Aug 2000 08:04:35 GMT


Czy ktoś jest w stanie mi wyjasnic dlaczego ten kod dziala na emulaytorze
sprzetowym a nie dziala na Z86E02? Tzn. dlaczego procesor nie wykrywa zmiany
stanow na pinach P2?

.org %00
dw IRQ_DEFPROC
dw IRQ_DEFPROC
dw IRQ_DEFPROC
dw IRQ_DEFPROC
dw IRQ_DEFPROC
dw MAIN_IRQ

MAIN:
ld SPL,#%60 ;stack pointer
srp #%10 ;registry pointer
ld P2M,#31 ;
and P2,#1111B ;wylacz wszystkie piny wyjsciowe
ld P3M,#1 ;p3 in analog mode
clr p3
LD P01M,#4 ;Port 0 = Outputs, Stack = Internal (Emulator requirement).
clr p0 ;
MAIN_LOOP:

tcm P2,#1 ;check pin
.$if(EQ)
or p2,#16
.$else
and p2,#~16
.$endif

tcm P2,#2 ;check pin
.$if(EQ)
or p2,#32
.$else
and p2,#~32
.$endif

ld r0,#%ff ;delay
.$while(r0>#0)
ld r1,#%ff
.$while(r1>#0)
dec r1
.$wend
dec r0
.$wend
and P2,#1111B ;
jp MAIN_LOOP

IRQ_DEFPROC:
iret