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

📄 fxemu2c.asm

📁 linux下的任天堂模拟器代码。供大家参考。
💻 ASM
📖 第 1 页 / 共 5 页
字号:
NEWSYM FxOpd7E      ; AND RN register & register   ANDRNc 14NEWSYM FxOpd7F      ; AND RN register & register   FETCHPIPE   mov eax,[esi]            ; Read Source   mov ebx,ebp   sub ebx,[SfxCPB]   and eax,ebx   inc ebp   mov [SfxSignZero],eax   mov [edi],eax            ; Write Destination   CLRFLAGS   FXReturnNEWSYM FxOpd71A1    ; BIC RN register & ~register   BICRNc 1NEWSYM FxOpd72A1    ; BIC RN register & ~register   BICRNc 2NEWSYM FxOpd73A1    ; BIC RN register & ~register   BICRNc 3NEWSYM FxOpd74A1    ; BIC RN register & ~register   BICRNc 4NEWSYM FxOpd75A1    ; BIC RN register & ~register   BICRNc 5NEWSYM FxOpd76A1    ; BIC RN register & ~register   BICRNc 6NEWSYM FxOpd77A1    ; BIC RN register & ~register   BICRNc 7NEWSYM FxOpd78A1    ; BIC RN register & ~register   BICRNc 8NEWSYM FxOpd79A1    ; BIC RN register & ~register   BICRNc 9NEWSYM FxOpd7AA1    ; BIC RN register & ~register   BICRNc 10NEWSYM FxOpd7BA1    ; BIC RN register & ~register   BICRNc 11NEWSYM FxOpd7CA1    ; BIC RN register & ~register   BICRNc 12NEWSYM FxOpd7DA1    ; BIC RN register & ~register   BICRNc 13NEWSYM FxOpd7EA1    ; BIC RN register & ~register   BICRNc 14NEWSYM FxOpd7FA1    ; BIC RN register & ~register   FETCHPIPE   mov ebx,ebp   sub ebx,[SfxCPB]   mov eax,[esi]            ; Read Source   xor ebx,0FFFFh   and eax,ebx   inc ebp   mov [SfxSignZero],eax   mov [edi],eax            ; Write Destination   CLRFLAGS   FXReturnNEWSYM FxOpd71A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 1NEWSYM FxOpd72A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 2NEWSYM FxOpd73A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 3NEWSYM FxOpd74A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 4NEWSYM FxOpd75A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 5NEWSYM FxOpd76A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 6NEWSYM FxOpd77A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 7NEWSYM FxOpd78A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 8NEWSYM FxOpd79A2    ; ANDIRNc and #n - register & immediate   ANDIRNc 9NEWSYM FxOpd7AA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 10NEWSYM FxOpd7BA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 11NEWSYM FxOpd7CA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 12NEWSYM FxOpd7DA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 13NEWSYM FxOpd7EA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 14NEWSYM FxOpd7FA2    ; ANDIRNc and #n - register & immediate   ANDIRNc 15NEWSYM FxOpd71A3    ; BICIRNc register & ~immediate   BICIRNc 1 ^ 0FFFFhNEWSYM FxOpd72A3    ; BICIRNc register & ~immediate   BICIRNc 2 ^ 0FFFFhNEWSYM FxOpd73A3    ; BICIRNc register & ~immediate   BICIRNc 3 ^ 0FFFFhNEWSYM FxOpd74A3    ; BICIRNc register & ~immediate   BICIRNc 4 ^ 0FFFFhNEWSYM FxOpd75A3    ; BICIRNc register & ~immediate   BICIRNc 5 ^ 0FFFFhNEWSYM FxOpd76A3    ; BICIRNc register & ~immediate   BICIRNc 6 ^ 0FFFFhNEWSYM FxOpd77A3    ; BICIRNc register & ~immediate   BICIRNc 7 ^ 0FFFFhNEWSYM FxOpd78A3    ; BICIRNc register & ~immediate   BICIRNc 8 ^ 0FFFFhNEWSYM FxOpd79A3    ; BICIRNc register & ~immediate   BICIRNc 9 ^ 0FFFFhNEWSYM FxOpd7AA3    ; BICIRNc register & ~immediate   BICIRNc 10 ^ 0FFFFhNEWSYM FxOpd7BA3    ; BICIRNc register & ~immediate   BICIRNc 11 ^ 0FFFFhNEWSYM FxOpd7CA3    ; BICIRNc register & ~immediate   BICIRNc 12 ^ 0FFFFhNEWSYM FxOpd7DA3    ; BICIRNc register & ~immediate   BICIRNc 13 ^ 0FFFFhNEWSYM FxOpd7EA3    ; BICIRNc register & ~immediate   BICIRNc 14 ^ 0FFFFhNEWSYM FxOpd7FA3    ; BICIRNc register & ~immediate   BICIRNc 15 ^ 0FFFFhNEWSYM FxOpd80      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 0NEWSYM FxOpd81      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 1NEWSYM FxOpd82      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 2NEWSYM FxOpd83      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 3NEWSYM FxOpd84      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 4NEWSYM FxOpd85      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 5NEWSYM FxOpd86      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 6NEWSYM FxOpd87      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 7NEWSYM FxOpd88      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 8NEWSYM FxOpd89      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 9NEWSYM FxOpd8A      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 10NEWSYM FxOpd8B      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 11NEWSYM FxOpd8C      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 12NEWSYM FxOpd8D      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 13NEWSYM FxOpd8E      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   MULTRNc 14NEWSYM FxOpd8F      ; MULTRNc 8 bit to 16 bit signed multiply, register * register   FETCHPIPE   mov ebx,ebp   mov al,[esi]     ; Read Source   sub ebx,[SfxCPB]   imul bl   inc ebp   and eax,0FFFFh   mov [SfxSignZero],eax   mov [edi],eax            ; Write Destination   CLRFLAGS   FXReturnNEWSYM FxOpd80A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 0NEWSYM FxOpd81A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 1NEWSYM FxOpd82A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 2NEWSYM FxOpd83A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 3NEWSYM FxOpd84A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 4NEWSYM FxOpd85A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 5NEWSYM FxOpd86A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 6NEWSYM FxOpd87A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 7NEWSYM FxOpd88A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 8NEWSYM FxOpd89A1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 9NEWSYM FxOpd8AA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 10NEWSYM FxOpd8BA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 11NEWSYM FxOpd8CA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 12NEWSYM FxOpd8DA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 13NEWSYM FxOpd8EA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   UMULTRNc 14NEWSYM FxOpd8FA1    ; UMULRN 8 bit to 16 bit unsigned multiply, register * register   FETCHPIPE   mov ebx,ebp   mov al,[esi]     ; Read Source   sub ebx,[SfxCPB]   mul bl   inc ebp   and eax,0FFFFh   mov [SfxSignZero],eax   mov [edi],eax            ; Write Destination   CLRFLAGS   FXReturnNEWSYM FxOpd80A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 0NEWSYM FxOpd81A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 1NEWSYM FxOpd82A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 2NEWSYM FxOpd83A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 3NEWSYM FxOpd84A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 4NEWSYM FxOpd85A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 5NEWSYM FxOpd86A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 6NEWSYM FxOpd87A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 7NEWSYM FxOpd88A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 8NEWSYM FxOpd89A2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 9NEWSYM FxOpd8AA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 10NEWSYM FxOpd8BA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 11NEWSYM FxOpd8CA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 12NEWSYM FxOpd8DA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 13NEWSYM FxOpd8EA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 14NEWSYM FxOpd8FA2    ; MULIRN 8 bit to 16 bit signed multiply, register * immediate   MULTIRNc 15NEWSYM FxOpd80A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 0NEWSYM FxOpd81A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 1NEWSYM FxOpd82A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 2NEWSYM FxOpd83A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 3NEWSYM FxOpd84A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 4NEWSYM FxOpd85A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 5NEWSYM FxOpd86A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 6NEWSYM FxOpd87A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 7NEWSYM FxOpd88A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 8NEWSYM FxOpd89A3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 9NEWSYM FxOpd8AA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 10NEWSYM FxOpd8BA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 11NEWSYM FxOpd8CA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 12NEWSYM FxOpd8DA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 13NEWSYM FxOpd8EA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 14NEWSYM FxOpd8FA3    ;UMULIRN 8 bit to 16 bit unsigned multiply, register * immediate   UMULTIRNc 15NEWSYM FxOpd90      ; SBK    store word to last accessed RAM address    ; V   mov ebx,[SfxLastRamAdr]   ; Load last ram address   mov eax,[esi]            ; Read Source   FETCHPIPE   mov [ebx],al         ; Store Word   sub ebx,[SfxRAMMem]   xor ebx,1   add ebx,[SfxRAMMem]   inc ebp                ; Increase program counter   mov [ebx],ah         ; Store Word   CLRFLAGS   FXReturnNEWSYM FxOpd91      ; LINKc#n R11 = R15 + immediate   LINKc 1NEWSYM FxOpd92      ; LINKc#n R11 = R15 + immediate   LINKc 2NEWSYM FxOpd93      ; LINKc#n R11 = R15 + immediate   LINKc 3NEWSYM FxOpd94      ; LINKc#n R11 = R15 + immediate   LINKc 4NEWSYM FxOpd95      ; SEX    sign extend 8 bit to 16 bit        ; V   movsx eax, byte[esi]     ; Read Source   FETCHPIPE   and eax,0FFFFh   inc ebp   mov [edi],eax            ; Write Destination   mov [SfxSignZero],eax   CLRFLAGS   FXReturnNEWSYM FxOpd96      ; ASR    aritmethic shift right by one      ; V   mov eax,[esi]            ; Read Source   FETCHPIPE   mov [SfxCarry],al   and byte[SfxCarry],1   sar ax,1                      ; logic shift right   inc ebp                ; Increase program counter   mov [edi],eax            ; Write Destination   mov [SfxSignZero],eax   CLRFLAGS   FXReturnNEWSYM FxOpd96A1    ; DIV2   aritmethic shift right by one      ; V   mov eax,[esi]            ; Read Source   FETCHPIPE   cmp ax,-1   je .minusone   mov [SfxCarry],al   and byte[SfxCarry],1   sar ax,1                      ; logic shift right   inc ebp                ; Increase program counter   mov [edi],eax            ; Write Destination   mov [SfxSignZero],eax   CLRFLAGS   FXReturn.minusone   mov byte[SfxCarry],1   xor eax,eax   inc ebp                ; Increase program counter   mov [edi],eax            ; Write Destination   mov [SfxSignZero],eax   CLRFLAGS   FXReturnNEWSYM FxOpd97      ; ROR    rotate right by one        ; V   FETCHPIPE   mov eax,[esi]            ; Read Source   shr byte[SfxCarry],1   rcr ax,1   setc byte[SfxCarry]   inc ebp                ; Increase program counter   mov [edi],eax            ; Write Destination   mov [SfxSignZero],eax   CLRFLAGS   FXReturnNEWSYM FxOpd98      ; JMPRNc  jump to address of register   JMPRNc 8NEWSYM FxOpd99      ; JMPRNc  jump to address of register   JMPRNc 9NEWSYM FxOpd9A      ; JMPRNc  jump to address of register   JMPRNc 10NEWSYM FxOpd9B      ; JMPRNc  jump to address of register   JMPRNc 11NEWSYM FxOpd9C      ; JMPRNc  jump to address of register   JMPRNc 12NEWSYM FxOpd9D      ; JMPRNc  jump to address of register   JMPRNc 13NEWSYM FxOpd98A1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 8NEWSYM FxOpd99A1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 9NEWSYM FxOpd9AA1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 10NEWSYM FxOpd9BA1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 11NEWSYM FxOpd9CA1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 12NEWSYM FxOpd9DA1    ; LJMPRNc set program bank to source register and jump to address of register   LJMPRNc 13NEWSYM FxOpd9E      ; LOB    set upper byte to zero (keep low byte) ; V   mov eax,[esi]            ; Read Source   FETCHPIPE   and eax,0FFh   inc ebp   mov [edi],eax            ; Write Destination   shl eax,8   mov [SfxSignZero],eax   CLRFLAGS   FXReturnNEWSYM FxOpd9F      ; FMULT  16 bit to 32 bit signed multiplication, upper 16 bits only            ; V   mov eax,[esi]             ; Read Source   mov ebx,[SfxR6]   FETCHPIPE   imul bx   inc ebp   and edx,0FFFFh   mov [SfxSignZero],edx   mov [edi],edx        ; Write Destination   shr ax,15   mov [SfxCarry],al   CLRFLAGS   FXReturnNEWSYM FxOpd9FA1    ; LMULT  16 bit to 32 bit signed multiplication     ; V   mov eax,[esi]             ; Read Source   mov ebx,[SfxR6]   FETCHPIPE   imul bx   and edx,0FFFFh   inc ebp   mov [edi],edx        ; Write Destination   mov [SfxR4],ax   mov [SfxSignZero],edx   shr ax,15   mov [SfxCarry],al   CLRFLAGS   FXReturnNEWSYM FxOpdA0      ; IBTRNc,#PP immediate byte transfer   IBTRNc 0NEWSYM FxOpdA1      ; IBTRNc,#PP immediate byte transfer   IBTRNc 1NEWSYM FxOpdA2      ; IBTRNc,#PP immediate byte transfer   IBTRNc 2NEWSYM FxOpdA3      ; IBTRNc,#PP immediate byte transfer   IBTRNc 3NEWSYM FxOpdA4      ; IBTRNc,#PP immediate byte transfer   IBTRNc 4NEWSYM FxOpdA5      ; IBTRNc,#PP immediate byte transfer   IBTRNc 5NEWSYM FxOpdA6      ; IBTRNc,#PP immediate byte transfer   IBTRNc 6NEWSYM FxOpdA7      ; IBTRNc,#PP immediate byte transfer   IBTRNc 7NEWSYM FxOpdA8      ; IBTRNc,#PP immediate byte transfer   IBTRNc 8NEWSYM FxOpdA9      ; IBTRNc,#PP immediate byte transfer   IBTRNc 9NEWSYM FxOpdAA      ; IBTRNc,#PP immediate byte transfer   IBTRNc 10NEWSYM FxOpdAB      ; IBTRNc,#PP immediate byte transfer   IBTRNc 11NEWSYM FxOpdAC      ; IBTRNc,#PP immediate byte transfer   IBTRNc 12NEWSYM FxOpdAD      ; IBTRNc,#PP immediate byte transfer   IBTRNc 13NEWSYM FxOpdAE      ; IBTRNc,#PP immediate byte transfer   movsx eax,byte[ebp]   mov cl,[ebp+1]   add ebp,2   mov [SfxR0+14*4],ax   UpdateR14   CLRFLAGS   FXReturnNEWSYM FxOpdAF      ; IBTRNc,#PP immediate byte transfer   movsx eax,byte[ebp]   mov cl,[ebp+1]   and eax,0FFFFh   mov ebp,[SfxCPB]   add ebp,eax   CLRFLAGS   FXReturnNEWSYM FxOpdA0A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 0NEWSYM FxOpdA1A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 1NEWSYM FxOpdA2A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 2NEWSYM FxOpdA3A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 3NEWSYM FxOpdA4A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 4NEWSYM FxOpdA5A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 5NEWSYM FxOpdA6A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 6NEWSYM FxOpdA7A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 7NEWSYM FxOpdA8A1    ; LMS rn,(yy)  load word from RAM (short address)   LMSRNc 8

⌨️ 快捷键说明

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