📄 table.asm
字号:
rep stosd
; set 16-bit read memory tables
mov edi,memtabler16
; banks 0-3Fh
mov eax,regaccessbankr16
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,memaccessbankr16
mov ecx,$30
rep stosd
; bank 70-77h
mov eax,sramaccessbankr16
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankr16
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankr16
stosd
; bank 7F
mov eax,eramaccessbankr16
stosd
; banks 80-BF
mov eax,regaccessbankr16
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankr16
mov ecx,$40
rep stosd
; set 16-bit write memory tables
mov edi,memtablew16
; banks 0-3Fh
mov eax,regaccessbankw16
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,memaccessbankw16
mov ecx,$30
rep stosd
; bank 70-77h
mov eax,sramaccessbankw16
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankw16
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankw16
stosd
; bank 7F
mov eax,eramaccessbankw16
stosd
; banks 80-BF
mov eax,regaccessbankw16
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankw16
mov ecx,$40
rep stosd
ret
NEWSYM SetAddressingModesSA1
; set 8-bit read memory tables
mov edi,memtabler8
; banks 0-3Fh
mov eax,regaccessbankr8SA1
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,SA1RAMaccessbankr8
mov ecx,$20
rep stosd
mov eax,SA1RAMaccessbankr8b
mov ecx,$10
rep stosd
; bank 70-77h
mov eax,sramaccessbankr8
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankr8
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankr8
stosd
; bank 7F
mov eax,eramaccessbankr8
stosd
; banks 80-BF
mov eax,regaccessbankr8SA1
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankr8
mov ecx,$40
rep stosd
; set 8-bit write memory tables
mov edi,memtablew8
; banks 0-3Fh
mov eax,regaccessbankw8SA1
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,SA1RAMaccessbankw8
mov ecx,$20
rep stosd
mov eax,SA1RAMaccessbankw8b
mov ecx,$10
rep stosd
; bank 70-77h
mov eax,sramaccessbankw8
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankw8
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankw8
stosd
; bank 7F
mov eax,eramaccessbankw8
stosd
; banks 80-BF
mov eax,regaccessbankw8SA1
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankw8
mov ecx,$40
rep stosd
; set 16-bit read memory tables
mov edi,memtabler16
; banks 0-3Fh
mov eax,regaccessbankr16SA1
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,SA1RAMaccessbankr16
mov ecx,$20
rep stosd
mov eax,SA1RAMaccessbankr16b
mov ecx,$10
rep stosd
; bank 70-77h
mov eax,sramaccessbankr16
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankr16
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankr16
stosd
; bank 7F
mov eax,eramaccessbankr16
stosd
; banks 80-BF
mov eax,regaccessbankr16SA1
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankr16
mov ecx,$40
rep stosd
; set 16-bit write memory tables
mov edi,memtablew16
; banks 0-3Fh
mov eax,regaccessbankw16SA1
mov ecx,$40
rep stosd
; banks 40-6Fh
mov eax,SA1RAMaccessbankw16
mov ecx,$20
rep stosd
mov eax,SA1RAMaccessbankw16b
mov ecx,$10
rep stosd
; bank 70-77h
mov eax,sramaccessbankw16
mov ecx,8
rep stosd
; bank 78-7D
mov eax,memaccessbankw16
mov ecx,6
rep stosd
; bank 7E
mov eax,wramaccessbankw16
stosd
; bank 7F
mov eax,eramaccessbankw16
stosd
; banks 80-BF
mov eax,regaccessbankw16SA1
mov ecx,$40
rep stosd
; banks C0-FFh
mov eax,memaccessbankw16
mov ecx,$40
rep stosd
ret
eopINVALID
ret
;*******************************************************
; Cpu Cycles Sets the CPU cycle table
;*******************************************************
NEWSYM cpucycle
db 8, 6, 8, 4, 5, 3, 5, 6, 3, 2, 2, 4, 6, 4, 6, 5
db 2, 5, 5, 7, 5, 4, 6, 6, 2, 4, 2, 2, 6, 4, 7, 5
db 6, 6, 8, 4, 3, 3, 5, 6, 4, 2, 2, 5, 4, 4, 6, 5
db 2, 5, 5, 7, 4, 4, 6, 6, 2, 4, 2, 2, 4, 4, 7, 5
db 7, 6, 2, 4, 7, 3, 5, 6, 3, 2, 2, 3, 3, 4, 6, 5
db 2, 5, 5, 7, 7, 4, 6, 6, 2, 4, 3, 2, 4, 4, 7, 5
db 6, 6, 6, 4, 3, 3, 5, 6, 4, 2, 2, 6, 5, 4, 6, 5
db 2, 5, 5, 7, 4, 4, 6, 6, 2, 4, 4, 2, 6, 4, 7, 5
db 2, 6, 3, 4, 3, 3, 3, 6, 2, 2, 2, 3, 4, 4, 4, 5
db 2, 6, 5, 7, 4, 4, 4, 6, 2, 5, 2, 2, 4, 5, 5, 5
db 2, 6, 2, 4, 3, 3, 3, 6, 2, 2, 2, 4, 4, 4, 4, 5
db 2, 5, 5, 7, 4, 4, 4, 6, 2, 4, 2, 2, 4, 4, 4, 5
db 2, 6, 3, 4, 3, 3, 5, 6, 2, 2, 2, 3, 4, 4, 4, 5
db 2, 5, 5, 7, 6, 4, 6, 6, 2, 4, 3, 3, 6, 4, 7, 5
db 2, 6, 3, 4, 3, 3, 5, 6, 2, 2, 2, 3, 4, 4, 6, 5
db 2, 5, 5, 7, 5, 4, 6, 6, 2, 4, 4, 2, 6, 4, 7, 5
; | 2 8 | 2 6 | 2 8 | 2 4 | 2 5 | 2 3 | 2 5 | 2 6 | 1 3 | 2 2 | 1 2 | 1 4 | 3 6 | 3 4 | 3 6 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 2 5 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 2 | 1 2 | 3 6 | 3 4 | 3 7 | 4 5 |
; | 3 6 | 2 6 | 4 8 | 2 4 | 2 3 | 2 3 | 2 5 | 2 6 | 1 4 | 2 2 | 1 2 | 1 5 | 3 4 | 3 4 | 3 6 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 2 4 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 2 | 1 2 | 3 4 | 3 4 | 3 7 | 4 5 |
; | 1 7 | 2 6 | 2 2 | 2 4 | 3 7 | 2 3 | 2 5 | 2 6 | 1 3 | 2 2 | 1 2 | 1 3 | 3 3 | 3 4 | 3 6 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 3 7 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 3 | 1 2 | 4 4 | 3 4 | 3 7 | 4 5 |
; | 1 6 | 2 6 | 3 6 | 2 4 | 2 3 | 2 3 | 2 5 | 2 6 | 1 4 | 2 2 | 1 2 | 1 6 | 3 5 | 3 4 | 3 6 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 2 4 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 4 | 1 2 | 3 6 | 3 4 | 3 7 | 4 5 |
; | 2 2 | 2 6 | 3 3 | 2 4 | 2 3 | 2 3 | 2 3 | 2 6 | 1 2 | 2 2 | 1 2 | 1 3 | 3 4 | 3 4 | 3 4 | 4 5 |
; | 2 2 | 2 6 | 2 5 | 2 7 | 2 4 | 2 4 | 2 4 | 2 6 | 1 2 | 3 5 | 1 2 | 1 2 | 3 4 | 3 5 | 3 5 | 4 5 |
; | 2 2 | 2 6 | 2 2 | 2 4 | 2 3 | 2 3 | 2 3 | 2 6 | 1 2 | 2 2 | 1 2 | 1 4 | 3 4 | 3 4 | 3 4 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 2 4 | 2 4 | 2 4 | 2 6 | 1 2 | 3 4 | 1 2 | 1 2 | 3 4 | 3 4 | 3 4 | 4 5 |
; | 2 2 | 2 6 | 2 3 | 2 4 | 2 3 | 2 3 | 2 5 | 2 6 | 1 2 | 2 2 | 1 2 | 1 3 | 3 4 | 3 4 | 3 4 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 2 6 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 3 | 1 3 | 3 6 | 3 4 | 3 7 | 4 5 |
; | 2 2 | 2 6 | 2 3 | 2 4 | 2 3 | 2 3 | 2 5 | 2 6 | 1 2 | 2 2 | 1 2 | 1 3 | 3 4 | 3 4 | 3 6 | 4 5 |
; | 2 2 | 2 5 | 2 5 | 2 7 | 3 5 | 2 4 | 2 6 | 2 6 | 1 2 | 3 4 | 1 4 | 1 2 | 3 6 | 3 4 | 3 7 | 4 5 |
;*******************************************************
; Set Tables Sets the opcode tables according to EDI
;*******************************************************
; This function sets all the non-multiple entries
NEWSYM settables
;row 0
mov dword[edi+00h*4],COp00
mov dword[edi+01h*4],COp01m8
mov dword[edi+02h*4],COp02
mov dword[edi+03h*4],COp03m8
mov dword[edi+04h*4],COp04m8
mov dword[edi+05h*4],COp05m8
mov dword[edi+06h*4],COp06m8
mov dword[edi+07h*4],COp07m8
mov dword[edi+08h*4],COp08
mov dword[edi+09h*4],COp09m8
mov dword[edi+0Ah*4],COp0Am8
mov dword[edi+0Bh*4],COp0B
mov dword[edi+0Ch*4],COp0Cm8
mov dword[edi+0Dh*4],COp0Dm8
mov dword[edi+0Eh*4],COp0Em8
mov dword[edi+0Fh*4],COp0Fm8
mov dword[edi+10h*4],COp10
mov dword[edi+11h*4],COp11m8
mov dword[edi+12h*4],COp12m8
mov dword[edi+13h*4],COp13m8
mov dword[edi+14h*4],COp14m8
mov dword[edi+15h*4],COp15m8
mov dword[edi+16h*4],COp16m8
mov dword[edi+17h*4],COp17m8
mov dword[edi+18h*4],COp18
mov dword[edi+19h*4],COp19m8
mov dword[edi+1Ah*4],COp1Am8
mov dword[edi+1Bh*4],COp1B
mov dword[edi+1Ch*4],COp1Cm8
mov dword[edi+1Dh*4],COp1Dm8
mov dword[edi+1Eh*4],COp1Em8
mov dword[edi+1Fh*4],COp1Fm8
mov dword[edi+20h*4],COp20
mov dword[edi+21h*4],COp21m8
mov dword[edi+22h*4],COp22
mov dword[edi+23h*4],COp23m8
mov dword[edi+24h*4],COp24m8
mov dword[edi+25h*4],COp25m8
mov dword[edi+26h*4],COp26m8
mov dword[edi+27h*4],COp27m8
mov dword[edi+28h*4],COp28
mov dword[edi+29h*4],COp29m8
mov dword[edi+2Ah*4],COp2Am8
mov dword[edi+2Bh*4],COp2B
mov dword[edi+2Ch*4],COp2Cm8
mov dword[edi+2Dh*4],COp2Dm8
mov dword[edi+2Eh*4],COp2Em8
mov dword[edi+2Fh*4],COp2Fm8
mov dword[edi+30h*4],COp30
mov dword[edi+31h*4],COp31m8
mov dword[edi+32h*4],COp32m8
mov dword[edi+33h*4],COp33m8
mov dword[edi+34h*4],COp34m8
mov dword[edi+35h*4],COp35m8
mov dword[edi+36h*4],COp36m8
mov dword[edi+37h*4],COp37m8
mov dword[edi+38h*4],COp38
mov dword[edi+39h*4],COp39m8
mov dword[edi+3Ah*4],COp3Am8
mov dword[edi+3Bh*4],COp3B
mov dword[edi+3Ch*4],COp3Cm8
mov dword[edi+3Dh*4],COp3Dm8
mov dword[edi+3Eh*4],COp3Em8
mov dword[edi+3Fh*4],COp3Fm8
mov dword[edi+40h*4],COp40
mov dword[edi+41h*4],COp41m8
mov dword[edi+42h*4],COp42
mov dword[edi+43h*4],COp43m8
mov dword[edi+44h*4],COp44
mov dword[edi+45h*4],COp45m8
mov dword[edi+46h*4],COp46m8
mov dword[edi+47h*4],COp47m8
mov dword[edi+48h*4],COp48m8
mov dword[edi+49h*4],COp49m8
mov dword[edi+4Ah*4],COp4Am8
mov dword[edi+4Bh*4],COp4B
mov dword[edi+4Ch*4],COp4C
mov dword[edi+4Dh*4],COp4Dm8
mov dword[edi+4Eh*4],COp4Em8
mov dword[edi+4Fh*4],COp4Fm8
mov dword[edi+50h*4],COp50
mov dword[edi+51h*4],COp51m8
mov dword[edi+52h*4],COp52m8
mov dword[edi+53h*4],COp53m8
mov dword[edi+54h*4],COp54
mov dword[edi+55h*4],COp55m8
mov dword[edi+56h*4],COp56m8
mov dword[edi+57h*4],COp57m8
mov dword[edi+58h*4],COp58
mov dword[edi+59h*4],COp59m8
mov dword[edi+5Ah*4],COp5Ax8
mov dword[edi+5Bh*4],COp5B
mov dword[edi+5Ch*4],COp5C
mov dword[edi+5Dh*4],COp5Dm8
mov dword[edi+5Eh*4],COp5Em8
mov dword[edi+5Fh*4],COp5Fm8
mov dword[edi+60h*4],COp60
mov dword[edi+61h*4],COp61m8nd
mov dword[edi+62h*4],COp62
mov dword[edi+63h*4],COp63m8nd
mov dword[edi+64h*4],COp64m8
mov dword[edi+65h*4],COp65m8nd
mov dword[edi+66h*4],COp66m8
mov dword[edi+67h*4],COp67m8nd
mov dword[edi+68h*4],COp68m8
mov dword[edi+69h*4],COp69m8nd
mov dword[edi+6Ah*4],COp6Am8
mov dword[edi+6Bh*4],COp6B
mov dword[edi+6Ch*4],COp6C
mov dword[edi+6Dh*4],COp6Dm8nd
mov dword[edi+6Eh*4],COp6Em8
mov dword[edi+6Fh*4],COp6Fm8nd
mov dword[edi+70h*4],COp70
mov dword[edi+71h*4],COp71m8nd
mov dword[edi+72h*4],COp72m8nd
mov dword[edi+73h*4],COp73m8nd
mov dword[edi+74h*4],COp74m8
mov dword[edi+75h*4],COp75m8nd
mov dword[edi+76h*4],COp76m8
mov dword[edi+77h*4],COp77m8nd
mov dword[edi+78h*4],COp78
mov dword[edi+79h*4],COp79m8nd
mov dword[edi+7Ah*4],COp7Ax8
mov dword[edi+7Bh*4],COp7B
mov dword[edi+7Ch*4],COp7C
mov dword[edi+7Dh*4],COp7Dm8nd
mov dword[edi+7Eh*4],COp7Em8
mov dword[edi+7Fh*4],COp7Fm8nd
mov dword[edi+80h*4],COp80
mov dword[edi+81h*4],COp81m8
mov dword[edi+82h*4],COp82
mov dword[edi+83h*4],COp83m8
mov dword[edi+84h*4],COp84x8
mov dword[edi+85h*4],COp85m8
mov dword[edi+86h*4],COp86x8
mov dword[edi+87h*4],COp87m8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -