Annotation of generator/raze/raze.reg, revision 1.1.1.1

1.1       root        1: ; RAZE - register definitions
                      2: 
                      3: ;----------------------------------------------------------------------------;
                      4: ; Flags
                      5: %define FLAG_C   01h         ; carry
                      6: %define FLAG_N   02h         ; negative
                      7: %define FLAG_P   04h         ; parity/overflow
                      8: %define FLAG_3   08h         ; bit 3
                      9: %define FLAG_H   10h         ; half-carry
                     10: %define FLAG_5   20h         ; bit 5
                     11: %define FLAG_Z   40h         ; zero
                     12: %define FLAG_S   80h         ; sign
                     13: 
                     14: ; set the register mappings.
                     15: ; we avoid bugs this way and make it simpler.
                     16: 
                     17: ; 16-bit registers
                     18: %define zAF ax
                     19: %define zHL bx
                     20: %define zBC cx
                     21: %define zDE word [z80_DE]
                     22: %define zPC si
                     23: %define zSP word [z80_SP]
                     24: %define zIX word [z80_IX]
                     25: %define zIY word [z80_IY]
                     26: 
                     27: ; 16-bit registers, zero-extended to 32-bit
                     28: ; for when a dword transfer is better
                     29: %define ezAF eax
                     30: %define ezHL ebx
                     31: %define ezBC ecx
                     32: %define ezDE dword [z80_DE]
                     33: %define ezPC esi
                     34: %define ezSP dword [z80_SP]
                     35: %define ezIX dword [z80_IX]
                     36: %define ezIY dword [z80_IY]
                     37: 
                     38: ; 8-bit registers
                     39: %define zF ah
                     40: %define zA al
                     41: %define zB ch
                     42: %define zC cl
                     43: %define zD byte [z80_DE+1]
                     44: %define zE byte [z80_DE]
                     45: %define zH bh
                     46: %define zL bl
                     47: %define zIXh byte [z80_IX+1]
                     48: %define zIXl byte [z80_IX]
                     49: %define zIYh byte [z80_IY+1]
                     50: %define zIYl byte [z80_IY]
                     51: 
                     52: ; 8-bit registers, (accessible by 16-bit registers with l or h)
                     53: %define hzAF zA
                     54: %define lzAF zF
                     55: %define hzBC zB
                     56: %define lzBC zC
                     57: %define hzDE zD
                     58: %define lzDE zE
                     59: %define hzHL zH
                     60: %define lzHL zL
                     61: %define hzIX zIXh
                     62: %define lzIX zIXl
                     63: %define hzIY zIYh
                     64: %define lzIY zIYl
                     65: %define hzSP byte [z80_SP+1]
                     66: %define lzSP byte [z80_SP]
                     67: 
                     68: ; 16-bit registers (prime)
                     69: %define zAF2 word [z80_AF2]
                     70: %define zHL2 word [z80_HL2]
                     71: %define zBC2 word [z80_BC2]
                     72: %define zDE2 word [z80_DE2]
                     73: 
                     74: ; 16-bit registers (prime), zero-extended to 32-bit
                     75: ; for when a dword transfer is better
                     76: %define ezAF2 dword [z80_AF2]
                     77: %define ezHL2 dword [z80_HL2]
                     78: %define ezBC2 dword [z80_BC2]
                     79: %define ezDE2 dword [z80_DE2]
                     80: 
                     81: ; Misc
                     82: %define zI byte [z80_I]
                     83: %define zR ebp
                     84: 
                     85: ; get/set reg values
                     86: %define Z80_REG_AF         0
                     87: %define Z80_REG_BC         1
                     88: %define Z80_REG_DE         2
                     89: %define Z80_REG_HL         3
                     90: %define Z80_REG_IX         4
                     91: %define Z80_REG_IY         5
                     92: %define Z80_REG_PC         6
                     93: %define Z80_REG_SP         7
                     94: %define Z80_REG_AF2        8
                     95: %define Z80_REG_BC2        9
                     96: %define Z80_REG_DE2       10
                     97: %define Z80_REG_HL2       11
                     98: %define Z80_REG_IFF1      12
                     99: %define Z80_REG_IFF2      13
                    100: %define Z80_REG_IR        14
                    101: %define Z80_REG_IM        15
                    102: %define Z80_REG_IRQVector 16
                    103: %define Z80_REG_IRQLine   17
                    104: %define Z80_REG_Halted    18

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.