Z-80-s monitor program működésének aprólékos elemzése Z-80 Processzor lépései Z-80-s monitor program működésének aprólékos elemzése
Indulási lépések Cím Címke Értelmezés 0000 004D 004E 0050 0052 0055 0057 0059 005B Utasításkód C3 4D 00 F3 3E EE D3 5B 21 78 00 0E 01 06 0A ED B3 C3 82 00 Mnemonik JP Di Ld a Out 5B Ld hl Ld c Ld b Otir Jp Címke Kezdes Zsinit Siocom Zsilen Debug Értelmezés Megszakítás tilt Baudrate sebessége konst Baud gen írása UART parncstábl. kezd címe UART IO címe UART-ba írdó pbájt db. Blokkos IO írás parancs Ugrás kezdeti beállításokra
Kezdeti beállítások 1 Címke Értelmezés Cím 0082 0085 0086 0089 008A Utasításkód 21 00 BF F9 22 12 BF AF ED 47 F3 Mnemonik Ld HL Ld sp, hl Ld (SPL), hl Xor a Ld i, a Di Címke DEBUG: Értelmezés Stack kezdőcím beírása HL-be HL tartalom átírása a stackpointerbe Akku nullázása Akku betöltése az i regiszterbe Újfent tiltjuk a megszakítás fogadást
Kezdeti beállítások 2 Cím Utasításkód Mnemonik Címke Egyéb 008D 0090 0093 0094 0097 0098 009B 009E 00A1 Utasításkód 21 FF FF 22 01 BF 7C 32 07 BF AF 32 23 BF 32 21 BF 32 04 BF 32 22 BF Mnemonik LD HL,-1 LD (HADD), HL LD, A,H LD (FLSUB), A XOR A LD (FLBUSY), A; 2 LD (UTTV), A; 2 LD (STAH), A; 2 LD (DCBUSY),A; 2 Címke Egyéb
START RÉSZLET Cím Utasításkód Mnemonik Címke Egyéb 00A4 00A6 00A9 00AA 00AD 00AF 00B2 00B5 00B7 00BA 00BB Utasításkód 06 0A 2A 12 BF F9 CD 5E 00 06 23 CD 69 00 FE 20 CA B2 00 47 Mnemonik LD B,0AH LD HL, (SPL) LD SP, HL CALL CRTOUT LD B, 023H CALL CRTINP CP 020H JP Z, B01AA LD B, A Címke START B01A5 B01AA Egyéb Soremelés beírása B-be Kiírató rutin hívása * Karakter írása B-be Klaviatúra leütés váró rutinra Space-re vizsgál
Karakter soros kiírása rutin Cím 005E 0060 0062 0065 0066 0068 Utasításkód DB 01 E6 04 CA 5E 00 78 D3 00 C9 Mnemonik IN A, (SIOCOM) AND 4 JP Z, SND LD A, B OUT (SIODAT), A RET Címke CRTOUT: SND: Egyéb SIO A csat állapot olvasása vizsgálandó bit beállítása Visszalép, ha nem adhat B-t A-ba ír SIO A Adási regiszterbe ír Visszatérés a rutinból
Karakter soros beolvasása rutin Cím 0069 006B 006D 0070 0013 0015 0017 Utasításkód DB 01 E6 01 CA 69 00 C3 13 00 DB 00 E6 7F C9 Mnemonik IN A, (SIOCOM) AND 1 JP Z, CRTINP JPM 00 13 IN A, (SIODAT) AND 7F RET Címke CRTINP: Egyéb SIO A csatorna állapota Vizsgálat vett karakterre Ha nem ugrás vizsgálatra Direkt ugrás 0013-ra A csat karakter beolvasása Paritás bit levágása Visszatérés a hívásból