⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 se65816.inc

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 INC
📖 第 1 页 / 共 3 页
字号:
   RTLMacro
SA1COp60:   ; RTS s
   RTSMacro

SA1COpE1m8nd:  ; SBC(d,x)
   addr_BdCxB_8br
   SBCMacro8bnd
SA1COpE1m16nd: ; SBC(d,x)
   addr_BdCxB_16br
   SBCMacro16bnd
SA1COpE1m8d:   ; SBC(d,x)
   addr_BdCxB_8br
   SBCMacro8bd
SA1COpE1m16d:  ; SBC(d,x)
   addr_BdCxB_16br
   SBCMacro16bd
SA1COpE3m8nd:  ; SBC d,s
   addr_dCs_8br
   SBCMacro8bnd
SA1COpE3m16nd: ; SBC d,s
   addr_dCs_16br
   SBCMacro16bnd
SA1COpE3m8d:   ; SBC d,s
   addr_dCs_8br
   SBCMacro8bd
SA1COpE3m16d:  ; SBC d,s
   addr_dCs_16br
   SBCMacro16bd
SA1COpE5m8nd:  ; SBC d
   addr_d_8br
   SBCMacro8bnd
SA1COpE5m16nd: ; SBC d
   addr_d_16br
   SBCMacro16bnd
SA1COpE5m8d:   ; SBC d
   addr_d_8br
   SBCMacro8bd
SA1COpE5m16d:  ; SBC d
   addr_d_16br
   SBCMacro16bd
SA1COpE7m8nd:  ; SBC [d]
   addr_LdL_8br
   SBCMacro8bnd
SA1COpE7m16nd: ; SBC [d]
   addr_LdL_16br
   SBCMacro16bnd
SA1COpE7m8d:   ; SBC [d]
   addr_LdL_8br
   SBCMacro8bd
SA1COpE7m16d:  ; SBC [d]
   addr_LdL_16br
   SBCMacro16bd
SA1COpE9m8nd:  ; SBC #
   addr_I_8br
   SBCMacro8bnd
SA1COpE9m16nd: ; SBC #
   addr_I_16br
   SBCMacro16bnd
SA1COpE9m8d:   ; SBC #
   addr_I_8br
   SBCMacro8bd
SA1COpE9m16d:  ; SBC #
   addr_I_16br
   SBCMacro16bd
SA1COpEDm8nd:  ; SBC a
   addr_a_8br
   SBCMacro8bnd
SA1COpEDm16nd: ; SBC a
   addr_a_16br
   SBCMacro16bnd
SA1COpEDm8d:   ; SBC a
   addr_a_8br
   SBCMacro8bd
SA1COpEDm16d:  ; SBC a
   addr_a_16br
   SBCMacro16bd
SA1COpEFm8nd:  ; SBC al
   addr_al_8br
   SBCMacro8bnd
SA1COpEFm16nd: ; SBC al
   addr_al_16br
   SBCMacro16bnd
SA1COpEFm8d:   ; SBC al
   addr_al_8br
   SBCMacro8bd
SA1COpEFm16d:  ; SBC al
   addr_al_16br
   SBCMacro16bd
SA1COpF1m8nd:  ; SBC(d),y
   addr_BdBCy_8br
   SBCMacro8bnd
SA1COpF1m16nd: ; SBC(d),y
   addr_BdBCy_16br
   SBCMacro16bnd
SA1COpF1m8d:   ; SBC(d),y
   addr_BdBCy_8br
   SBCMacro8bd
SA1COpF1m16d:  ; SBC(d),y
   addr_BdBCy_16br
   SBCMacro16bd
SA1COpF2m8nd:  ; SBC (d)
   addr_BdB_8br
   SBCMacro8bnd
SA1COpF2m16nd: ; SBC (d)
   addr_BdB_16br
   SBCMacro16bnd
SA1COpF2m8d:   ; SBC (d)
   addr_BdB_8br
   SBCMacro8bd
SA1COpF2m16d:  ; SBC (d)
   addr_BdB_16br
   SBCMacro16bd
SA1COpF3m8nd:  ; SBC(d,s),y
   addr_BdCsBCy_8br
   SBCMacro8bnd
SA1COpF3m16nd: ; SBC(d,s),y
   addr_BdCsBCy_16br
   SBCMacro16bnd
SA1COpF3m8d:   ; SBC(d,s),y
   addr_BdCsBCy_8br
   SBCMacro8bd
SA1COpF3m16d:  ; SBC(d,s),y
   addr_BdCsBCy_16br
   SBCMacro16bd
SA1COpF5m8nd:  ; SBC d,x
   addr_dCx_8br
   SBCMacro8bnd
SA1COpF5m16nd: ; SBC d,x
   addr_dCx_16br
   SBCMacro16bnd
SA1COpF5m8d:   ; SBC d,x
   addr_dCx_8br
   SBCMacro8bd
SA1COpF5m16d:  ; SBC d,x
   addr_dCx_16br
   SBCMacro16bd
SA1COpF7m8nd:  ; SBC [d],y
   addr_LdLCy_8br
   SBCMacro8bnd
SA1COpF7m16nd: ; SBC [d],y
   addr_LdLCy_16br
   SBCMacro16bnd
SA1COpF7m8d:   ; SBC [d],y
   addr_LdLCy_8br
   SBCMacro8bd
SA1COpF7m16d:  ; SBC [d],y
   addr_LdLCy_16br
   SBCMacro16bd
SA1COpF9m8nd:  ; SBC a,y
   addr_aCy_8br
   SBCMacro8bnd
SA1COpF9m16nd: ; SBC a,y
   addr_aCy_16br
   SBCMacro16bnd
SA1COpF9m8d:   ; SBC a,y
   addr_aCy_8br
   SBCMacro8bd
SA1COpF9m16d:  ; SBC a,y
   addr_aCy_16br
   SBCMacro16bd
SA1COpFDm8nd:  ; SBC a,x
   addr_aCx_8br
   SBCMacro8bnd
SA1COpFDm16nd: ; SBC a,x
   addr_aCx_16br
   SBCMacro16bnd
SA1COpFDm8d:   ; SBC a,x
   addr_aCx_8br
   SBCMacro8bd
SA1COpFDm16d:  ; SBC a,x
   addr_aCx_16br
   SBCMacro16bd
SA1COpFFm8nd:  ; SBC al,x
   addr_alCx_8br
   SBCMacro8bnd
SA1COpFFm16nd: ; SBC al,x
   addr_alCx_16br
   SBCMacro16bnd
SA1COpFFm8d:   ; SBC al,x
   addr_alCx_8br
   SBCMacro8bd
SA1COpFFm16d:  ; SBC al,x
   addr_alCx_16br
   SBCMacro16bd

SA1COp38:   ; SEC i
    mov dword[Sflagc],0FFh
    endloop
SA1COpF8:   ; SED i
    or dl,08h
    mov bl,dl
    mov edi,[SA1tablead+ebx*4]
    endloop
SA1COp78:   ; SEI i
    or dl,04h
    endloop

SA1COpE2:   ; SEP #
    SEPMacro

SA1COp81m8: ; STA(d,x)
   STAMacro8b
   addr_BdCxB_8bw
   endloop
SA1COp81m16:; STA(d,x)
   STAMacro16b
   addr_BdCxB_16bw
   endloop
SA1COp83m8: ; STA d,s
   STAMacro8b
   addr_dCs_8bw
   endloop
SA1COp83m16:; STA d,s
   STAMacro16b
   addr_dCs_16bw
   endloop
SA1COp85m8: ; STA d
   STAMacro8b
   addr_d_8bw
   endloop
SA1COp85m16:; STA d
   STAMacro16b
   addr_d_16bw
   endloop
SA1COp87m8: ; STA [d]
   STAMacro8b
   addr_LdL_8bw
   endloop
SA1COp87m16:; STA [d]
   STAMacro16b
   addr_LdL_16bw
   endloop
SA1COp8Dm8: ; STA a
   STAMacro8b
   addr_a_8bw
   endloop
SA1COp8Dm16:; STA a
   STAMacro16b
   addr_a_16bw
   endloop
SA1COp8Fm8: ; STA al
   STAMacro8b
   addr_al_8bw
   endloop
SA1COp8Fm16:; STA al
   STAMacro16b
   addr_al_16bw
   endloop
SA1COp91m8: ; STA(d),y
   STAMacro8b
   addr_BdBCy_8bw
   endloop
SA1COp91m16:; STA(d),y
   STAMacro16b
   addr_BdBCy_16bw
   endloop
SA1COp92m8: ; STA (d)
   STAMacro8b
   addr_BdB_8bw
   endloop
SA1COp92m16:; STA (d)
   STAMacro16b
   addr_BdB_16bw
   endloop
SA1COp93m8: ; STA(d,s),y
   STAMacro8b
   addr_BdCsBCy_8bw
   endloop
SA1COp93m16:; STA(d,s),y
   STAMacro16b
   addr_BdCsBCy_16bw
   endloop
SA1COp95m8: ; STA d,x
   STAMacro8b
   addr_dCx_8bw
   endloop
SA1COp95m16:; STA d,x
   STAMacro16b
   addr_dCx_16bw
   endloop
SA1COp97m8: ; STA [d],y
   STAMacro8b
   addr_LdLCy_8bw
   endloop
SA1COp97m16:; STA [d],y
   STAMacro16b
   addr_LdLCy_16bw
   endloop
SA1COp99m8: ; STA a,y
   STAMacro8b
   addr_aCy_8bw
   endloop
SA1COp99m16:; STA a,y
   STAMacro16b
   addr_aCy_16bw
   endloop
SA1COp9Dm8: ; STA a,x
   STAMacro8b
   addr_aCx_8bw
   endloop
SA1COp9Dm16:; STA a,x
   STAMacro16b
   addr_aCx_16bw
   endloop
SA1COp9Fm8: ; STA al,x
   STAMacro8b
   addr_alCx_8bw
   endloop
SA1COp9Fm16:; STA al,x
   STAMacro16b
   addr_alCx_16bw
   endloop

SA1COp86x8: ; STX d
   STXMacro8b
   addr_d_8bw
   endloop
SA1COp86x16:; STX d
   STXMacro16b
   addr_d_16bw
   endloop
SA1COp8Ex8: ; STX a
   STXMacro8b
   addr_a_8bw
   endloop
SA1COp8Ex16:; STX a
   STXMacro16b
   addr_a_16bw
   endloop
SA1COp96x8: ; STX d,y
   STXMacro8b
   addr_dCy_8bw
   endloop
SA1COp96x16:; STX d,y
   STXMacro16b
   addr_dCy_16bw
   endloop

SA1COp84x8: ; STY d
   STYMacro8b
   addr_d_8bw
   endloop
SA1COp84x16:; STY d
   STYMacro16b
   addr_d_16bw
   endloop
SA1COp8Cx8: ; STY a
   STYMacro8b
   addr_a_8bw
   endloop
SA1COp8Cx16:; STY a
   STYMacro16b
   addr_a_16bw
   endloop
SA1COp94x8: ; STYd,x
   STYMacro8b
   addr_dCx_8bw
   endloop
SA1COp94x16:; STYd,x
   STYMacro16b
   addr_dCx_16bw
   endloop

SA1COpDB:   ; STP i
    dec esi
    endloop

SA1COp64m8: ; STZ d
   xor al,al
   addr_d_8bw
   endloop
SA1COp64m16:; STZ d
   xor eax,eax
   addr_d_16bw
   endloop
SA1COp74m8: ; STZ d,x
   xor al,al
   addr_dCx_8bw
   endloop
SA1COp74m16:; STZ d,x
   xor eax,eax
   addr_dCx_16bw
   endloop
SA1COp9Cm8: ; STZ a
   xor al,al
   addr_a_8bw
   endloop
SA1COp9Cm16:; STZ a
   xor eax,eax
   addr_a_16bw
   endloop
SA1COp9Em8: ; STZ a,x
   xor al,al
   addr_aCx_8bw
   endloop
SA1COp9Em16:; STZ a,x
   xor eax,eax
   addr_aCx_16bw
   endloop

SA1COp14m8: ; TRB d
    addr_d_8brni
    mov cl,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test cl,al
    jz .zero
    mov word[Sflagnz],1
    not cl
    and al,cl
    addr_d_8bw
    endloop
.zero
    mov word[Sflagnz],0
    not cl
    and al,cl
    addr_d_8bw
    endloop
SA1COp14m16:; TRB d
    addr_d_16brni
    mov cx,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test cx,ax
    jz .zero
    mov word[Sflagnz],1
    not cx
    and ax,cx
    addr_d_16bw
    endloop
.zero
    mov word[Sflagnz],0
    not cx
    and ax,cx
    addr_d_16bw
    endloop
SA1COp1Cm8: ; TRB a
    addr_a_8brni
    mov cl,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test cl,al
    jz .zero
    mov word[Sflagnz],1
    not cl
    and al,cl
    addr_a_8bw
    endloop
.zero
    mov word[Sflagnz],0
    not cl
    and al,cl
    addr_a_8bw
    endloop
SA1COp1Cm16:; TRB a
    addr_a_16brni
    mov cx,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test cx,ax
    jz .zero
    mov word[Sflagnz],1
    not cx
    and ax,cx
    addr_a_16bw
    endloop
.zero
    mov word[Sflagnz],0
    not cx
    and ax,cx
    addr_a_16bw
    endloop

SA1COp04m8: ; TSB d
    addr_d_8brni
    mov cl,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test al,cl
    jz .zero
    mov word[Sflagnz],1
    or al,cl
    addr_d_8bw
    endloop
.zero
    mov word[Sflagnz],0
    or al,cl
    addr_d_8bw
    endloop
SA1COp04m16:; TSB d
    addr_d_16brni
    mov cx,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test ax,cx
    jz .zero
    mov word[Sflagnz],1
    or ax,cx
    addr_d_16bw
    endloop
.zero
    mov word[Sflagnz],0
    or ax,cx
    addr_d_16bw
    endloop
SA1COp0Cm8: ; TSB a
    addr_a_8brni
    mov cl,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test al,cl
    jz .zero
    mov word[Sflagnz],1
    or al,cl
    addr_a_8bw
    endloop
.zero
    mov word[Sflagnz],0
    or al,cl
    addr_a_8bw
    endloop
SA1COp0Cm16:; TSB a
    addr_a_16brni
    mov cx,[SA1xa]
    test dword[Sflagnz],18000h
    jz .notflags
    or dword[Sflagnz],10000h
.notflags
    test ax,cx
    jz .zero
    mov word[Sflagnz],1
    or ax,cx
    addr_a_16bw
    endloop
.zero
    mov word[Sflagnz],0
    or ax,cx
    addr_a_16bw
    endloop

SA1COpAAx8: ; TAX i
    mov al,[SA1xa]
    mov [SA1xx],al
    flagsetnz8b
    endloop
SA1COpAAx16:; TAX i
    mov ax,[SA1xa]
    mov [SA1xx],ax
    flagsetnz16b
    endloop
SA1COpA8x8: ; TAY i
    mov al,[SA1xa]
    mov [SA1xy],al
    flagsetnz8b
    endloop
SA1COpA8x16:; TAY i
    mov ax,[SA1xa]
    mov [SA1xy],ax
    flagsetnz16b
    endloop
SA1COp5B:   ; TCD i
    mov ax,[SA1xa]
    mov [SA1xd],ax
    call SA1UpdateDPage
    flagsetnz16b
    endloop
SA1COp1B:   ; TCS i
    mov ax,[SA1xa]
    mov [SA1xs],ax
    endloop
SA1COp7B:   ; TDC i
    mov ax,[SA1xd]
    mov [SA1xa],ax
    flagsetnz16b
    endloop
SA1COp3B:   ; TSC i
    mov ax,[SA1xs]
    mov [SA1xa],ax
    flagsetnz16b
    endloop
SA1COpBAx8: ; TSX i
    mov al,[SA1xs]
    mov [SA1xx],al
    flagsetnz8b
    endloop
SA1COpBAx16:; TSX i
    mov ax,[SA1xs]
    mov [SA1xx],ax
    flagsetnz16b
    endloop
SA1COp8Am8: ; TSA1xa i
    mov al,[SA1xx]
    mov [SA1xa],al
    flagsetnz8b
    endloop
SA1COp8Am16:; TXA i
    mov ax,[SA1xx]
    mov [SA1xa],ax
    flagsetnz16b
    endloop
SA1COp9A:   ; TXS i
    mov ax,[SA1xx]
    mov [SA1xs],ax
    test byte[xe],1
    jnz .emul
    endloop
.emul
    mov byte[SA1xs+1],1
    endloop
SA1COp9Bx8: ; TSA1xy i
    mov al,[SA1xx]
    mov [SA1xy],al
    flagsetnz8b
    endloop
SA1COp9Bx16:; TSA1xy i
    mov ax,[SA1xx]
    mov [SA1xy],ax
    flagsetnz16b
    endloop
SA1COp98m8: ; TYA i
    mov al,[SA1xy]
    mov [SA1xa],al
    flagsetnz8b
    endloop
SA1COp98m16:; TYA i
    mov ax,[SA1xy]
    mov [SA1xa],ax
    flagsetnz16b
    endloop
SA1COpBBx8: ; TYX i
    mov al,[SA1xy]
    mov [SA1xx],al
    flagsetnz8b
    endloop
SA1COpBBx16:; TYX i
    mov ax,[SA1xy]
    mov [SA1xx],ax
    flagsetnz16b
    endloop

SA1COpCB:   ; WAI i
    WAIMacro

SA1COpEB:   ; XBA i
    mov ah,[SA1xa]
    mov al,[SA1xa+1]
    mov [SA1xa],ax
    flagsetnz8b
    endloop

SA1COpFB:   ; XCE i
    XCEMacro

SA1COp42:   ; WDM
    inc esi
    endloop

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -