From: Michael Huth (520052975648-0001_at_t-online.de)
Date: 2003-10-15 17:41:42
Hallo,
Yes it's quite strange to do an AND %11000000 and then twice SHL ah,1.
But thinking of shl might be a shr:
then the routine would do
port[$62] and %11000000 -> ah = %xx000000
2x shr ah,1 -> ah = %00xx0000
test ah,%00110000 -> ZF = (0 == (ah & %00110000))
this would make way more sense and would relate to Bit 7,6 of port $62.
Ciao...
...Micha
At 15:15 15.10.2003 +0200, you wrote:
>hallo allemaal,
>
>At this moment I'm commenting the BIOS of the PC20-III and I run into a
>strange piece of code. The first routine is run on several places in the
>ROM. The first time after initialising the DRAM:
>
> call sub_FA39
> jnz loc_E2D2 ; error, ->
>
>E2D2 is the start of an error routine. This means that to continue, the
>Zeroflag must be set. The routine itself:
>
>;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
>; SUBROUTINE
>;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
>
>sub_FA39 proc near
> push dx
> mov dx,62h
> in al,dx ; port 62h, 8255 C -
> dipswitch, etc.
> xchg ah,al
> call ResetParityFF
> and ah,0C0h
> shl ah,1
> shl ah,1
> or al,ah
> out dx,al
> test ah,30h
> pop dx
> retn
>sub_FA39 endp
>
>;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
>; SUBROUTINE
>;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
>
>;** Resets the two flipflops that hold the onboard and external party error
>;[FA52]
>ResetParityFF proc near
> mov dx,61h
> in al,dx ; 8255 port B, read
> xor al,30h
> out dx,al ; 8255 B - spkr, etc
> xor al,30h
> out dx,al ; 8255 B - spkr, etc
> retn
>ResetParityFF endp
>
>I removed my own comment so you won't be influenced by it. The main
>question is: what is the content of AH at the end of the first subroutine?
>IMHO it is always zero. But that would mean that the routine makes no
>sense or that I'm stupid.
>
>Thanks for any comment, even if you have to tell me I'm stupid :)
>
>--
> ___
> / __|__
> / / |_/ Groetjes, Ruud
> \ \__|_\
> \___| <http://Ruud.C64.org>http://Ruud.C64.org
>
>
>
>=====DISCLAIMER=================================================================
>
>De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd
>voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken
>wij u contact op te nemen met de afzender per kerende e-mail. Verder
>verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud
>ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid
>voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud
>van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.
>
>The information contained in this e-mail is confidential and may be
>privileged. It may be read, copied and used only by the intended
>recipient. If you have received it in error, please contact the sender
>immediately by return e-mail; please delete in this case the e-mail and do
>not disclose its contents to any person. We don't accept liability for any
>errors, omissions, delays of receipt or viruses in the contents of this
>message which arise as a result of e-mail transmission.
Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.