Top secrets sources NedoPC pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

        cpu     z88c00
        page    0
        include "regz8.inc"


        adc     r3,r5           ; 12 35
        adc     r3,@r5          ; 13 35
        adc     r3,64           ; 14 40 c3
        adc     32,r5           ; 14 c5 20
        adc     32,64           ; 14 40 20
        adc     r3,@64          ; 15 40 c3
        adc     32,@r5          ; 15 c5 20
        adc     32,@64          ; 15 40 20
        adc     r3,#64          ; 16 c3 40
        adc     32,#64          ; 16 20 40

        add     r3,r5           ; 02 35
        add     r3,@r5          ; 03 35
        add     r3,64           ; 04 40 c3
        add     32,r5           ; 04 c5 20
        add     32,64           ; 04 40 20
        add     r3,@64          ; 05 40 c3
        add     32,@r5          ; 05 c5 20
        add     32,@64          ; 05 40 20
        add     r3,#64          ; 06 c3 40
        add     32,#64          ; 06 20 40

        and     r3,r5           ; 52 35
        and     r3,@r5          ; 53 35
        and     r3,64           ; 54 40 c3
        and     32,r5           ; 54 c5 20
        and     32,64           ; 54 40 20
        and     r3,@64          ; 55 40 c3
        and     32,@r5          ; 55 c5 20
        and     32,@64          ; 55 40 20
        and     r3,#64          ; 56 c3 40
        and     32,#64          ; 56 20 40

        band    r3,r5,#7        ; 67 3e c5
        band    r3,64,#7        ; 67 3e 40
        band    r3,#7,r5        ; 67 5f c3
        band    32,#7,r5        ; 67 5f 20

        bcp     r3,r5,#7        ; 17 3e c5
        bcp     r3,64,#7        ; 17 3e 40

        bitc    r3,#7           ; 57 3e

        bitr    r3,#7           ; 77 3e

        bits    r3,#7           ; 77 3f

        bor     r3,r5,#7        ; 07 3e c5
        bor     r3,64,#7        ; 07 3e 40
        bor     r3,#7,r5        ; 07 5f c3
        bor     32,#7,r5        ; 07 5f 20

        btjrf   $,r5,#7         ; 37 5e fd
        btjrt   $,r5,#7         ; 37 5f fd

        bxor    r3,r5,#7        ; 27 3e c5
        bxor    r3,64,#7        ; 27 3e 40
        bxor    r3,#7,r5        ; 27 5f c3
        bxor    32,#7,r5        ; 27 5f 20

        call    #32             ; d4 20 ?? IA -> Imm
        call    @rr2            ; f4 c2
        call    @32             ; f4 20
        call    64              ; f6 0040

        ccf                     ; ef

        clr     r3              ; b0 c3
        clr     32              ; b0 20
        clr     @r3             ; b1 c3
        clr     @32             ; b1 20

        com     r3              ; 60 c3
        com     32              ; 60 20
        com     @r3             ; 61 c3
        com     @32             ; 61 20

        cp      r3,r5           ; a2 35
        cp      r3,@r5          ; a3 35
        cp      r3,64           ; a4 40 c3
        cp      32,r5           ; a4 c5 20
        cp      32,64           ; a4 40 20
        cp      r3,@64          ; a5 40 c3
        cp      32,@r5          ; a5 c5 20
        cp      32,@64          ; a5 40 20
        cp      r3,#64          ; a6 c3 40
        cp      32,#64          ; a6 20 40

        cpijne  r3,@r5,$        ; d2 53 fd

        cpije   r3,@r5,$        ; c2 53 fd

        da      r3              ; 40 c3
        da      32              ; 40 20
        da      @r3             ; 41 c3
        da      @32             ; 41 20

        dec     r3              ; 00 c3
        dec     32              ; 00 20
        dec     @r3             ; 01 c3
        dec     @32             ; 01 20

        decw    rr2             ; 80 c2
        decw    32              ; 80 20
        decw    @r3             ; 81 c3
        decw    @32             ; 81 20

        di                      ; 8f

        div     rr2,r5          ; 94 c5 c2
        div     rr2,64          ; 94 40 c2
        div     32,r5           ; 94 c5 20
        div     32,64           ; 94 40 20
        div     rr2,@r5         ; 95 c5 c2
        div     rr2,@64         ; 95 40 c2
        div     32,@r5          ; 95 c5 20
        div     32,@64          ; 95 40 20
        div     rr2,#64         ; 96 40 c2
        div     32,#64          ; 96 40 20

        djnz    r3,$            ; 3a fe

        ei                      ; 9f

        enter                   ; 1f

        exit                    ; 2f

        inc     r3              ; 3e
        inc     32              ; 20 20
        inc     @r3             ; 21 c3
        inc     @32             ; 21 20

        incw    rr2             ; a0 c2
        incw    32              ; a0 20
        incw    @r3             ; a1 c3
        incw    @32             ; a1 20

        iret                    ; bf

        jp      1024            ; 8d 04 00
        jp      nz,1024         ; ed 04 00
        jp      @rr2            ; 30 c2
        jp      @32             ; 30 20

        jr      $               ; 8b fe
        jr      nz,$            ; eb fe

        ld      r3,#64          ; 3c 40
        ld      r3,r5           ; 38 c5
        ld      r3,64           ; 38 40
        ld      32,r5           ; 59 20
        ld      r3,@r5          ; c7 35
        ld      @r3,r5          ; d7 35
        ld      32,64           ; e4 40 20
        ld      r3,@r5          ; c7 35
        ld      r3,@64          ; e5 40 c3
        ld      32,@r5          ; e5 c5 20
        ld      32,@64          ; e5 40 20
        ld      r3,#64          ; 3c 40
        ld      32,#64          ; e6 20 40
        ld      @r3,#64         ; d6 c3 40
        ld      @32,#64         ; d6 20 40
        ld      @r3,r5          ; d7 35
        ld      @r3,64          ; f5 40 c3
        ld      @32,r5          ; f5 c5 20
        ld      @32,64          ; f5 40 20
        ld      r3,64(r5)       ; 87 35 40
        ld      64(r3),r5       ; 97 53 40

        ldb     r3,r5,#7        ; 47 3e c5
        ldb     r3,64,#7        ; 47 3e 40
        ldb     r3,#7,r5        ; 47 5f c3
        ldb     32,#7,r5        ; 47 5f 20

        ldc     r3,1024(rr4)    ; a7 34 00 04
        ldc     r3,64(rr4)      ; e7 34 40
        ldc     1024(rr2),r5    ; b7 52 00 04
        ldc     64(rr2),r5      ; f7 52 40
        ldc     32,r5           ; b7 50 20 00
        ldc     r5,64           ; a7 50 40 00
        ldc     r3,@rr4         ; c3 34
        ldc     @rr2,r5         ; d3 52

        ldcd    r3,@rr4         ; e2 34

        ldci    r3,@rr4         ; e3 34

        ldcpd   @rr2,r5         ; f2 52

        ldcpi   @rr2,r5         ; f3 52

        lde     r3,1024(rr4)    ; a7 35 00 04
        lde     r3,64(rr4)      ; e7 35 40
        lde     1024(rr2),r5    ; b7 53 00 04
        lde     64(rr2),r5      ; f7 53 40
        lde     32,r5           ; b7 51 20 00
        lde     r5,64           ; a7 51 40 00
        lde     r3,@rr4         ; c3 35
        lde     @rr2,r5         ; d3 53

        lded    r3,@rr4         ; e2 35

        ldei    r3,@rr4         ; e3 35

        ldepd   @rr2,r5         ; f2 53

        ldepi   @rr2,r5         ; f3 53

        ldw     rr2,rr4         ; c4 c4 c2
        ldw     rr2,64          ; c4 40 c2
        ldw     32,rr4          ; c4 c4 20
        ldw     32,64           ; c4 40 20
        ldw     rr2,@r4         ; c5 c4 c2
        ldw     rr2,@64         ; c5 40 c2
        ldw     32,@r4          ; c5 c4 20
        ldw     32,@64          ; c5 40 20
        ldw     rr2,#1024       ; c6 c2 04 00
        ldw     32,#1024        ; c6 20 04 00

        mult    rr2,r5          ; 84 c5 c2
        mult    rr2,64          ; 84 40 c2
        mult    32,r5           ; 84 c5 20
        mult    32,64           ; 84 40 20
        mult    rr2,@r5         ; 85 c5 c2
        mult    rr2,@64         ; 85 40 c2
        mult    32,@r5          ; 85 c5 20
        mult    32,@64          ; 85 40 20
        mult    rr2,#64         ; 86 40 c2
        mult    32,#64          ; 86 40 20

        next                    ; 0f

        nop                     ; ff

        or      r3,r5           ; 42 35
        or      r3,@r5          ; 43 35
        or      r3,64           ; 44 40 c3
        or      32,r5           ; 44 c5 20
        or      32,64           ; 44 40 20
        or      r3,@64          ; 45 40 c3
        or      32,@r5          ; 45 c5 20
        or      32,@64          ; 45 40 20
        or      r3,#64          ; 46 c3 40
        or      32,#64          ; 46 20 40

        pop     r3              ; 50 c3
        pop     32              ; 50 20
        pop     @r3             ; 51 c3
        pop     @32             ; 51 20

        popud   r3,@r5          ; 92 c5 c3
        popud   r3,@64          ; 92 40 c3
        popud   32,@r5          ; 92 c5 20
        popud   32,@64          ; 92 40 20

        popui   r3,@r5          ; 93 c5 c3
        popui   r3,@64          ; 93 40 c3
        popui   32,@r5          ; 93 c5 20
        popui   32,@64          ; 93 40 20

        push    r3              ; 70 c3
        push    32              ; 70 20
        push    @r3             ; 71 c3
        push    @32             ; 71 20

        pushud  @r3,r5          ; 82 c3 c5
        pushud  @r3,64          ; 82 c3 40
        pushud  @32,r5          ; 82 20 c5
        pushud  @32,64          ; 82 20 40

        pushui  @r3,r5          ; 83 c3 c5
        pushui  @r3,64          ; 83 c3 40
        pushui  @32,r5          ; 83 20 c5
        pushui  @32,64          ; 83 20 40

        rcf                     ; cf

        rdr     #0a5h           ; d5 a5

        ret                     ; af

        rl      r3              ; 90 c3
        rl      32              ; 90 20
        rl      @r3             ; 91 c3
        rl      @32             ; 91 20

        rlc     r3              ; 10 c3
        rlc     32              ; 10 20
        rlc     @r3             ; 11 c3
        rlc     @32             ; 11 20

        rr      r3              ; e0 c3
        rr      32              ; e0 20
        rr      @r3             ; e1 c3
        rr      @32             ; e1 20

        rrc     r3              ; c0 c3
        rrc     32              ; c0 20
        rrc     @r3             ; c1 c3
        rrc     @32             ; c1 20

        sb0                     ; 4f

        sb1                     ; 5f

        sbc     r3,r5           ; 32 35
        sbc     r3,@r5          ; 33 35
        sbc     r3,64           ; 34 40 c3
        sbc     32,r5           ; 34 c5 20
        sbc     32,64           ; 34 40 20
        sbc     r3,@64          ; 35 40 c3
        sbc     32,@r5          ; 35 c5 20
        sbc     32,@64          ; 35 40 20
        sbc     r3,#64          ; 36 c3 40
        sbc     32,#64          ; 36 20 40

        scf                     ; df

        sra     r3              ; d0 c3
        sra     32              ; d0 20
        sra     @r3             ; d1 c3
        sra     @32             ; d1 20

        srp     #128            ; 31 80
        srp1    #128            ; 31 81
        srp0    #128+8          ; 31 8a

        sub     r3,r5           ; 22 35
        sub     r3,@r5          ; 23 35
        sub     r3,64           ; 24 40 c3
        sub     32,r5           ; 24 c5 20
        sub     32,64           ; 24 40 20
        sub     r3,@64          ; 25 40 c3
        sub     32,@r5          ; 25 c5 20
        sub     32,@64          ; 25 40 20
        sub     r3,#64          ; 26 c3 40
        sub     32,#64          ; 26 20 40

        swap    r3              ; f0 c3
        swap    32              ; f0 20
        swap    @r3             ; f1 c3
        swap    @32             ; f1 20

        tcm     r3,r5           ; 62 35
        tcm     r3,@r5          ; 63 35
        tcm     r3,64           ; 64 40 c3
        tcm     32,r5           ; 64 c5 20
        tcm     32,64           ; 64 40 20
        tcm     r3,@64          ; 65 40 c3
        tcm     32,@r5          ; 65 c5 20
        tcm     32,@64          ; 65 40 20
        tcm     r3,#64          ; 66 c3 40
        tcm     32,#64          ; 66 20 40

        tm      r3,r5           ; 72 35
        tm      r3,@r5          ; 73 35
        tm      r3,64           ; 74 40 c3
        tm      32,r5           ; 74 c5 20
        tm      32,64           ; 74 40 20
        tm      r3,@64          ; 75 40 c3
        tm      32,@r5          ; 75 c5 20
        tm      32,@64          ; 75 40 20
        tm      r3,#64          ; 76 c3 40
        tm      32,#64          ; 76 20 40

        xor     r3,r5           ; b2 35
        xor     r3,@r5          ; b3 35
        xor     r3,64           ; b4 40 c3
        xor     32,r5           ; b4 c5 20
        xor     32,64           ; b4 40 20
        xor     r3,@64          ; b5 40 c3
        xor     32,@r5          ; b5 c5 20
        xor     32,@64          ; b5 40 20
        xor     r3,#64          ; b6 c3 40
        xor     32,#64          ; b6 20 40

        wfi                     ; 3f

        ; test for condition codes

        jp      f,128           ; 0d 00 80
        jp      z,128           ; 6d 00 80
        jp      nz,128          ; ed 00 80
        jp      eq,128          ; 6d 00 80
        jp      ne,128          ; ed 00 80
        jp      c,128           ; 7d 00 80
        jp      nc,128          ; fd 00 80
        jp      gt,128          ; ad 00 80
        jp      lt,128          ; 1d 00 80
        jp      ge,128          ; 9d 00 80
        jp      le,128          ; 2d 00 80
        jp      pl,128          ; dd 00 80
        jp      mi,128          ; 5d 00 80
        jp      nov,128         ; cd 00 80
        jp      ov,128          ; 4d 00 80
        jp      ugt,128         ; bd 00 80
        jp      ult,128         ; 7d 00 80
        jp      uge,128         ; fd 00 80
        jp      ule,128         ; 3d 00 80

        ; defined register names

        ld      r3,sym          ; 38 de
        ld      r3,imr          ; 38 dd
        ld      r3,irr          ; 38 dc
        ldw     rr2,ip          ; c4 da c2
        ld      r3,ipl          ; 38 db
        ld      r3,iph          ; 38 da
        ldw     rr2,sp          ; c4 d8 c2
        ld      r3,spl          ; 38 d9
        ld      r3,sph          ; 38 da
        ld      r3,rp1          ; 38 d7
        ld      r3,rp0          ; 38 d6
        ld      r3,flags        ; 38 d5
        ld      r3,p4           ; 38 d4
        ld      r3,p3           ; 38 d3
        ld      r3,p2           ; 38 d2
        ld      r3,p1           ; 38 d1
        ld      r3,p0           ; 38 d0

        ; Bank 0 Special Registers

        ld      r3,ipr          ; 38 ff
        ld      r3,emt          ; 38 fe
        ld      r3,p2bip        ; 38 fd
        ld      r3,p2aip        ; 38 fc
        ld      r3,p2dm         ; 38 fb
        ld      r3,p2cm         ; 38 fa
        ld      r3,p2bm         ; 38 f9
        ld      r3,p2am         ; 38 f8
        ld      r3,p4od         ; 38 f7
        ld      r3,p4d          ; 38 f6
        ld      r3,h1c          ; 38 f5
        ld      r3,h0c          ; 38 f4
        ld      r3,pm           ; 38 f1
        ld      r3,p1           ; 38 d1
        ld      r3,p0m          ; 38 f0
        ld      r3,uie          ; 38 ed
        ld      r3,urc          ; 38 ec
        ld      r3,utc          ; 38 eb
        if      0
        ld      r3,sio          ; 38 ea
        ld      r3,sie          ; 38 e9
        ld      r3,srcb         ; 38 e8
        ld      r3,srca         ; 38 e7
        ld      r3,stc          ; 38 e6
        endif
        ldw     rr2,c1c         ; c4 e4 c2
        ld      r3,c1cl         ; 38 e5
        ld      r3,c1ch         ; 38 e4
        ldw     rr2,c0c         ; c4 e2 c2
        ld      r3,c0cl         ; 38 e3
        ld      r3,c0ch         ; 38 e2
        ld      r3,c1ct         ; 38 e1
        ld      r3,c0ct         ; 38 e0

        ; Bank 1 Special Registers

        ld      r3,wumsk        ; 38 ff
        ld      r3,wumch        ; 38 fe
        ld      r3,umb          ; 38 fb
        ld      r3,uma          ; 38 fa
        ldw     rr2,ubg         ; c4 f8 c2
        ld      r3,ubgl         ; 38 f9
        ld      r3,ubgh         ; 38 f8
        ldw     rr2,dc          ; c4 f0 c2
        ld      r3,dcl          ; 38 f1
        ld      r3,dch          ; 38 f0
        if      0
        ldw     rr2,syn         ; c4 ee c2
        ld      r3,synh         ; 38 ef
        ld      r3,synl         ; 38 ee
        ld      r3,smd          ; 38 ed
        ld      r3,smc          ; 38 ec
        ld      r3,smb          ; 38 eb
        ld      r3,sma          ; 38 ea
        ldw     rr2,sbg         ; c4 e8 c2
        ld      r3,sbgl         ; 38 e9
        ld      r3,sbgh         ; 38 e8
        endif
        ldw     rr2,c1tc        ; c4 e4 c2
        ld      r3,c1tcl        ; 38 e5
        ld      r3,c1tch        ; 38 e4
        ldw     rr2,c0tc        ; c4 e2 c2
        ld      r3,c0tcl        ; 38 e3
        ld      r3,c0tch        ; 38 e2
        ld      r3,c1m          ; 38 e1
        ld      r3,c0m          ; 38 e0

        ; upper case test

        ld      r3,SYM          ; 38 de
        ld      r3,IMR          ; 38 dd
        ld      r3,IRR          ; 38 dc
        ldw     rr2,IP          ; c4 da c2
        ld      r3,IPL          ; 38 db
        ld      r3,IPH          ; 38 da
        ldw     rr2,SP          ; c4 d8 c2
        ld      r3,SPL          ; 38 d9
        ld      r3,SPH          ; 38 d8
        ld      r3,RP1          ; 38 d7
        ld      r3,RP0          ; 38 d6
        ld      r3,FLAGS        ; 38 d5
        ld      r3,P4           ; 38 d4
        ld      r3,P3           ; 38 d3
        ld      r3,P2           ; 38 d2
        ld      r3,P1           ; 38 d1
        ld      r3,P0           ; 38 d0

        ; Bank 0 Special Registers

        ld      r3,IPR          ; 38 ff
        ld      r3,P2BIP        ; 38 fd
        ld      r3,P2AIP        ; 38 fc
        ld      r3,P2DM         ; 38 fb
        ld      r3,P2CM         ; 38 fa
        ld      r3,P2BM         ; 38 f9
        ld      r3,P2AM         ; 38 f8
        ld      r3,P4OD         ; 38 f7
        ld      r3,P4D          ; 38 f6
        ld      r3,H1C          ; 38 f5
        ld      r3,H0C          ; 38 f4
        ld      r3,PM           ; 38 f1
        ld      r3,P1           ; 38 d1
        ld      r3,P0M          ; 38 f0
        ld      r3,UIE          ; 38 ed
        ld      r3,URC          ; 38 ec
        ld      r3,UTC          ; 3S eb
        if      0
        ld      r3,SIO          ; 38 ea
        ld      r3,SIE          ; 38 e9
        ld      r3,SRCB         ; 38 e8
        ld      r3,SRCA         ; 38 e7
        ld      r3,STC          ; 38 e6
        endif
        ldw     rr2,C1C         ; c4 e4 c2
        ld      r3,C1CL         ; 38 e5
        ld      r3,C1CH         ; 38 e4
        ldw     rr2,C0C         ; c4 e2 c2
        ld      r3,C0CL         ; 38 e3
        ld      r3,C0CH         ; 38 e2
        ld      r3,C1CT         ; 38 e1
        ld      r3,C0CT         ; 38 e0

        ; Bank 1 Special Registers

        ld      r3,WUMSK        ; 38 ff
        ld      r3,WUMCH        ; 38 fe
        ld      r3,UMB          ; 38 fb
        ld      r3,UMA          ; 38 fa
        ldw     rr2,UBG         ; c4 f0 c2
        ld      r3,UBGL         ; 38 f9
        ld      r3,UBGH         ; 38 f0
        ldw     rr2,DC          ; c4 f0c 2
        ld      r3,DCL          ; 38 f1
        ld      r3,DCH          ; 38 f0
        if      0
        ldw     rr2,SYN         ; c4 ee c2
        ld      r3,SYNH         ; 38 ef
        ld      r3,SYNL         ; 38 ee
        ld      r3,SMD          ; 38 ed
        ld      r3,SMC          ; 38 ec
        ld      r3,SMB          ; 38 eb
        ld      r3,SMA          ; 38 ea
        ldw     rr2,SBG         ; c4 e0 c2
        ld      r3,SBGL         ; 38 e9
        ld      r3,SBGH         ; 38 e0
        endif
        ldw     rr2,C1TC        ; c4 e4 c2
        ld      r3,C1TCL        ; 38 e5
        ld      r3,C1TCH        ; 38 e4
        ldw     rr2,C0TC        ; c4 e2 c2
        ld      r3,C0TCL        ; 38 e3
        ld      r3,C0TCH        ; 38 e2
        ld      r3,C1M          ; 38 e1
        ld      r3,C0M          ; 38 e0

        ; test for condition codes

        jp      f,128           ; 0d 00 80

        jp      z,128           ; 6d 00 80
        jp      nz,128          ; ed 00 80
        jp      eq,128          ; 6d 00 80
        jp      ne,128          ; ed 00 80

        jp      c,128           ; 7d 00 80
        jp      nc,128          ; fd 00 80

        jp      gt,128          ; ad 00 80
        jp      lt,128          ; 1d 00 80
        jp      ge,128          ; 9d 00 80
        jp      le,128          ; 2d 00 80

        jp      pl,128          ; dd 00 80
        jp      mi,128          ; 5d 00 80

        jp      nov,128         ; cd 00 80
        jp      ov,128          ; 4d 00 80

        jp      ugt,128         ; bd 00 80
        jp      ult,128         ; 7d 00 80
        jp      uge,128         ; fd 00 80
        jp      ule,128         ; 3d 00 80

        ; symbolic bits

        ldb     r3,0feh,#6      ; 47 3c fe
        ldb     r3,emt,#6       ; 47 3c fe
        ldb     r3,slow         ; 47 3c fe

        band    0edh,#5,r3      ; 67 3b ed
        band    UIE,#5,r3       ; 67 3b ed
        band    UBRKIE,r3       ; 67 3b ed

regbit  defbit  r3,4
        bitc    r3,#4
        bitc    regbit
        btjrf   $,r3,#4
        btjrf   $,regbit

        ; register pointers

        assume  rp:20h          ; sets RP0=20h, RP1=28h
        ld      24h,#0aah       ; translates to 'ld r4,...'
        ld      2ch,#0aah       ; translates to 'ld r12,...'
        assume  rp1:30h
        ld      24h,#0aah       ; translates to 'ld r4,...'
        ld      2ch,#0aah       ; no mapping to work register
        ld      34h,#0aah       ; translates to 'ld r12,...'

        end