显示源文件修订记录反向链接回到顶部 Share via Share via... Twitter LinkedIn Facebook Teams最近更改Send via e-Mail打印Permalink × 目录 6502 指令表 内存空间分配表 FC 卡带引脚排列 Mapper 表 6502 指令表 4 C 14 1C 0 8 10 18 2 1A 00 BRK PHPBPL dCLC 20BIT dBIT a JSR PLPBMI dSEC 40 JMP a RTI PHABVC dCLI 60 JMP (a) RTS PLABVS dSEI 80STY dSTY a STY d,x DEYBCC dTYA TXS A0LDY dLDY a LDY d,xLDY a,xLDY #iTAYBCS dCLVLDX #iTSX C0CPY dCPY a CPY #iINYBNE dCLD E0CPX dCPX a CPX #iINXBEQ dSED 5 D 15 1D 1 9 11 19 6 E 16 1E A 00ORA dORA aORA d,xORA a,xORA (d,x)ORA #iORA (d),yORA a,yASL dASL aASL d,xASL a,xASL 20AND dAND aAND d,xAND a,xAND (d,x)AND #iAND (d),yAND a,yROL dROL aROL d,xROL a,xROL 40EOR dEOR aEOR d,xEOR a,xEOR (d,x)EOR #iEOR (d),yEOR a,yLSR dLSR aLSR d,xLSR a,xLSR 60ADC dADC aADC d,xADC a,xADC (d,x)ADC #iADC (d),yADC a,yROR dROR aROR d,xROR a,xROR 80STA dSTA aSTA d,xSTA a,xSTA (d,x) STA (d),ySTA a,ySTX dSTX aSTX d,y TXA A0LDA dLDA aLDA d,xLDA a,xLDA (d,x)LDA #iLDA (d),yLDA a,yLDX dLDX aLDX d,yLDX a,yTAX C0CMP dCMP aCMP d,xCMP a,xCMP (d,x)CMP #iCMP (d),yCMP a,yDEC dDEC aDEC d,xDEC a,xDEX E0SBC dSBC aSBC d,xSBC a,xSBC (d,x)SBC #iSBC (d),ySBC a,yINC dINC aINC d,xINC a,xNOP #i 8 位立即数 d 8 位寻址 a 16 位寻址(小端字节序,下同) d,x 8 位加 x 寄存器寻址 a,x 16 位加 x 寄存器寻址a,y 16 位加 y 寄存器寻址 (d,x)8 位加 x 寄存器取 16 位地址间接寻址(d),y8 位取 16 位地址加 y 寄存器间接寻址 (a) 16 位间接跳转(目标地址不得跨页,即 JMP ($xxFF) 是不被允许的,详见此处) ADC: 带进位加法 A←A+M+C C←256≤A+M+C V←A[7]==M[7]&&A[7]!=(A+M+C)[7] (NZ) AND: 按位与 A←A&M (NZ) ASL: 算术左移 C←A[7..0]←0 (NZ) BCC/BCS: 无进位或有借位则跳转、有进位或无借位则跳转(条件跳转均为相对跳转) BEQ/BNE: 为零或等于则跳转、不为零或不等于则跳转 BIT: 位测试 N←(A&M)[7] V←(A&M)[6] Z←(A&M)==0 BPL/BMI: 正数则跳转、负数则跳转 BRK: 制造一个中断 BVC/BVS: 未溢出则跳转、溢出则跳转 CLC/SEC: 清除进位或设置借位、设置进位或清除借位 (C) CLD/SED: 禁用十进制模式、启用十进制模式(在 FC 上无效) (D) CLI/SEI: 启用中断、禁用中断 (I) CLV: 清除溢出 (V) CMP/CPX/CPY: 比较 C←A≥M Z←A==M N==A[7] DEC/DEX/DEY: 减一 M←M-1 (NZ) EOR: 按位异或 A←A^M (NZ) INC/INX/INY: 加一 M←M-1 (NZ) JMP: 跳转 PC←M JSR: 调用 ST←PC+2 PC←M LDA/LDX/LDY: 加载寄存器 A←M (NZ) LSR: 逻辑右移 0→A[7..0]→C (NZ) NOP: 空指令 ORA: 按位或 A←A|M (NZ) PHA: 出栈到寄存器 A←ST PHP: 出栈到符号位 [NV.BDIZC]←ST PLA: 寄存器入栈 ST←A PLP: 符号位入栈 ST←[NV0BDIZC] ROL: 循环左移 C←A[7..0]←C (NZ) ROR: 循环右移 C→A[7..0]→C (NZ) RTI: 中断返回 [NV..DIZC]←ST PC←ST RTS: 子程序返回 PC←ST+1 SBC: 带进位减法 A←A-M-1+C C←A<M+1-C V←A[7]==M[7]&&A[7]!=(A-M-1+C)[7] (NZ) STA/STX/STY: 储存寄存器 M←A TAX/TAY: 累加器传送至 X、Y 寄存器 A→X (NZ) TSX: 栈指针传送至 X 寄存器 S→X (NZ) TXA/TYA: X、Y 寄存器传送至累加器 X→A (NZ) TXS: X 寄存器传送至栈指针 X→S (NZ) 内存空间分配表 FC 卡带引脚排列 地GND0131+5V电源 CPU 地址线A110232M2 CPU 时钟,详见原文 A100333A12CPU 地址线 A9 0434A13 A8 0535A14 A7 0636D7CPU 数据线 A6 0737D6 A5 0838D5 A4 0939D4 A3 1040D3 A2 1141D2 A1 1242D1 A0 1343D0 高电平读取,低电平写入R/W1444/ROMSELPRG ROM 选通,低电平有效,A15 和 M2 的与非 中断,低电平有效,内置上拉/IRQ1545AUDFC来自游戏机的音频,一般接 AUDRF 地GND1646AUDRF发送至音频输出的音频 PPU 读取,低电平有效PPU /RD1747PPU /WRPPU 写入,低电平有效 内置显存 A10,横向卷轴接 A10,纵向卷轴接 A11CIRAM A101848CIRAM /CE内置显存选通,低电平有效 PPU 地址线PPU A61949PPU /A13翻转的 GA13,一般接 CIRAM /CE PPU A52050PPU A7PPU 地址线 PPU A42151PPU A8 PPU A32252PPU A9 PPU A22353PPU A10 PPU A12454PPU A11 PPU A02555PPU A12 PPU 数据线PPU D02656PPU A13 PPU D12757PPU D7PPU 数据线 PPU D22858PPU D6 PPU D32959PPU D5 电源+5V3060PPU D4 Mapper 表 粗体意味着该Mapper已受到本社团产品的支持。 过于复杂、资料不足或只有盗版/合卡使用的Mapper不会列入。 名称 寄存器 作用 寄存器 作用 000NROM 001MMC1 8000-9FFF(S)CPPMM(+/+)(P/P/H/L)(0/1/H/V)A000-BFFF(S)ccccc C000-DFFF(S)ccccc E000-FFFF(S)Rpppp(WRAMNCE) 002UNROM 8000-FFFF ….pppp(H) 003CNROM 8000-FFFF ….CCCC 004MMC3 8000-9FFE CP…RRR(R0..R5)(R6..R7=LL+LH+-2+-1/-2+LH+HL+-1) 8001-9FFF R0CCCCCCC.(LL/HL) 8001-9FFF R1CCCCCCC.(LH/HH) 8001-9FFF R2CCCCCCCC(HLL/LLL) 8001-9FFF R3CCCCCCCC(HLH/LLH) 8001-9FFF R4CCCCCCCC(HHL/LHL) 8001-9FFF R5CCCCCCCC(HHH/LHH) 8001-9FFF R6..PPPPPP(LL/HL) 8001-9FFF R7..PPPPPP(LH) A000-BFFE …….M(V/H) A001-BFFF RW……(WRAMPCE/WRAMNWE) C000-DFFE DDDDDDDD(PA12RISE:D–,D=0:IRQ)C001-DFFF ……..(*=IRQRELOAD) E000-FFFE ……..(*=IRQOFF) E001-FFFF ……..(*=IRQON) 007AxROM 8000-FFFF …MPPPP(0/1) 011Color Dreams8000-FFFF CCCCLLPP(LL=NES CIC defeat) 034BNROM 8000-FFFF ….PPPP 066GxROM 8000-FFFF ..PP..CC 094UN1ROM 8000-FFFF …ppp..(H) 180Crazy Climber8000-FFFF …..ppp(L) 218Magic Floor (0)(1K VRAM) 简写 含义 简写 含义 0 单屏幕,AAAA 1 单屏幕,BBBB H 水平滚动,垂直镜像,AABB V 垂直滚动,水平镜像,ABAB P/p/P#PRG BANK C/c/C#CHR BANK P/C 切换整个32K/8K 0H 切换高16K或高4K,低16K固定于首BANK L 切换低16K或低4K,高16K固定于首BANK H 切换高16K或高4K,低16K固定于末BANK S 移位寄存器,位0=数据,低位在前,共5位 zh/fc_资料.txt 最后更改: 20月前由 milowork