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

📄 spc700.s

📁 SFC游戏模拟器 snes9x 1.43 的原代码
💻 S
📖 第 1 页 / 共 5 页
字号:
	notw %ax	shrw $15,%ax	movb %al,APU_Carry	addl $2,%ecx	movb Int16,%al	movl %ecx,APUPC	movb %al,APU_Zero	retApuOp5E:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb %al,%dl	movb ApuY,%al	movb %dl,Work8	andl $255,%eax	andl $255,%edx	subl %edx,%eax	movw %ax,Int16	movl APUPC,%ecx	addl $4,%esp	notw %ax	addl $3,%ecx	movb Int16,%dl	shrw $15,%ax	movl %ecx,APUPC	movb %dl,APU_Zero	movb %al,APU_Carry	retApuOp7E:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	movb %al,%dl	movb ApuY,%al	movb %dl,Work8	andl $255,%eax	andl $255,%edx	subl %edx,%eax	movw %ax,Int16	notw %ax	shrw $15,%ax	movb %al,APU_Carry	movl APUPC,%eax	movb Int16,%cl	addl $2,%eax	addl $4,%esp	movb %cl,APU_Zero	movl %eax,APUPC	retApuOpAD:	movl APUPC,%ecx	movb 1(%ecx),%dl	movb ApuY,%al	movb %dl,Work8	andl $255,%eax	andl $255,%edx	subl %edx,%eax	movw %ax,Int16	notw %ax	addl $2,%ecx	movb Int16,%dl	shrw $15,%ax	movl %ecx,APUPC	movb %dl,APU_Zero	movb %al,APU_Carry	retApuOp1F:	pushl %ebx	movl APUPC,%eax	movw 1(%eax),%ax	movb ApuX,%dl	andl $65535,%eax	andl $255,%edx	movl %eax,APUAddress	addl %edx,%eax	pushl %eax	call S9xAPUGetByte__FUl	movb %al,%bl	movb ApuX,%al	movl APUAddress,%ecx	andl $255,%eax	addl %ecx,%eax	incl %eax	pushl %eax	call S9xAPUGetByte__FUl	xorl %edx,%edx	movb %bl,%dl	movl APURAM,%ecx	andl $255,%eax	addl %ecx,%edx	sall $8,%eax	addl $8,%esp	addl %eax,%edx	popl %ebx	movl %edx,APUPC	retApuOp5F:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl APURAM,%edx	movl %eax,APUAddress	addl %edx,%eax	movl %eax,APUPC	retApuOp20:	movb ApuP,%cl	movl APUPC,%edx	movl APURAM,%eax	andb $223,%cl	incl %edx	movl %eax,APUDirectPage	movb %cl,ApuP	movl %edx,APUPC	retApuOp60:	movl APUPC,%eax	xorl %ecx,%ecx	incl %eax	movb %cl,APU_Carry	movl %eax,APUPC	retApuOpE0:	movb ApuP,%dl	movl APUPC,%eax	xorl %ecx,%ecx	andb $247,%dl	incl %eax	movb %cl,APU_Overflow	movb %dl,ApuP	movl %eax,APUPC	retApuOp24:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	movb ApuA,%cl	movl APUPC,%edx	andb %cl,%al	addl $4,%esp	addl $2,%edx	movb %al,ApuA	movb %al,APU_Zero	movl %edx,APUPC	retApuOp25:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb ApuA,%cl	movl APUPC,%edx	andb %cl,%al	addl $4,%esp	addl $3,%edx	movb %al,ApuA	movb %al,APU_Zero	movl %edx,APUPC	retApuOp26:	movb ApuX,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	movb ApuA,%cl	movl APUPC,%edx	andb %cl,%al	addl $4,%esp	incl %edx	movb %al,ApuA	movb %al,APU_Zero	movl %edx,APUPC	retApuOp27:	movb ApuX,%al	movl APUPC,%edx	andl $255,%eax	movb 1(%edx),%cl	addb %cl,%al	xorl %edx,%edx	movb %al,%dl	movl APUDirectPage,%eax	movw (%edx,%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb ApuA,%dl	movl APUPC,%ecx	andb %dl,%al	addl $4,%esp	addl $2,%ecx	movb %al,ApuA	movb %al,APU_Zero	movl %ecx,APUPC	retApuOp28:	movl APUPC,%edx	movb ApuA,%al	movb 1(%edx),%cl	addl $2,%edx	andb %cl,%al	movl %edx,APUPC	movb %al,ApuA	movb %al,APU_Zero	retApuOp29:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	movb %al,Work8	movl APUPC,%eax	movb 2(%eax),%cl	xorl %eax,%eax	movb %cl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	movb Work8,%dl	andb %al,%dl	movb %dl,Work8	movl APUPC,%eax	movb 2(%eax),%cl	xorl %eax,%eax	movb %cl,%al	pushl %eax	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUSetByteZ__FUcUc	movl APUPC,%edx	movb Work8,%al	addl $3,%edx	addl $16,%esp	movb %al,APU_Zero	movl %edx,APUPC	retApuOp34:	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	movb ApuA,%dl	movl APUPC,%ecx	andb %dl,%al	addl $4,%esp	addl $2,%ecx	movb %al,ApuA	movb %al,APU_Zero	movl %ecx,APUPC	retApuOp35:	movl APUPC,%eax	movb ApuX,%dl	movw 1(%eax),%ax	andl $255,%edx	andl $65535,%eax	addl %edx,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb ApuA,%dl	movl APUPC,%ecx	andb %dl,%al	addl $4,%esp	addl $3,%ecx	movb %al,ApuA	movb %al,APU_Zero	movl %ecx,APUPC	retApuOp36:	movl APUPC,%eax	movb ApuY,%dl	movw 1(%eax),%ax	andl $255,%edx	andl $65535,%eax	addl %edx,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb ApuA,%dl	movl APUPC,%ecx	andb %dl,%al	addl $4,%esp	addl $3,%ecx	movb %al,ApuA	movb %al,APU_Zero	movl %ecx,APUPC	retApuOp37:	movl APUPC,%eax	movb 1(%eax),%dl	movl APUDirectPage,%eax	andl $255,%edx	movw (%edx,%eax),%ax	movb ApuY,%dl	andl $65535,%eax	andl $255,%edx	addl %edx,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb ApuA,%dl	movl APUPC,%ecx	andb %dl,%al	addl $4,%esp	addl $2,%ecx	movb %al,ApuA	movb %al,APU_Zero	movl %ecx,APUPC	retApuOp38:	movl APUPC,%edx	movb 1(%edx),%al	movb %al,Work8	movb 2(%edx),%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	movb Work8,%dl	andb %al,%dl	movb %dl,Work8	movl APUPC,%eax	movb 2(%eax),%cl	xorl %eax,%eax	movb %cl,%al	pushl %eax	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUSetByteZ__FUcUc	movl APUPC,%edx	movb Work8,%al	addl $3,%edx	addl $12,%esp	movb %al,APU_Zero	movl %edx,APUPC	retApuOp39:	pushl %ebx	movb ApuX,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	movb %al,%bl	movb ApuY,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	andb %bl,%al	movb %al,Work8	movb %al,APU_Zero	movb ApuX,%al	andl $255,%eax	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movl APUPC,%ecx	addl $16,%esp	incl %ecx	popl %ebx	movl %ecx,APUPC	retApuOp2B:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	movb %al,Work8	movb APU_Carry,%dl	andl $255,%eax	andl $255,%edx	addw %ax,%ax	orl %edx,%eax	movw %ax,Work16	cmpw $255,%ax	seta %al	movb %al,APU_Carry	movb Work16,%al	movl APUPC,%ecx	movb %al,Work8	movb %al,APU_Zero	movb 1(%ecx),%al	addl $4,%esp	andl $255,%eax	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movl APUPC,%eax	addl $2,%eax	addl $8,%esp	movl %eax,APUPC	retApuOp2C:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	movb %al,Work8	movb APU_Carry,%dl	andl $255,%eax	andl $255,%edx	addw %ax,%ax	orl %edx,%eax	movw %ax,Work16	cmpw $255,%ax	seta %al	movb %al,APU_Carry	movb Work16,%al	movb %al,Work8	movb %al,APU_Zero	addl $4,%esp	movl APUAddress,%edx	movb Work8,%al	pushl %edx	andl $255,%eax	pushl %eax	call S9xAPUSetByte__FUcUl	movl APUPC,%ecx	addl $3,%ecx	addl $8,%esp	movl %ecx,APUPC	retApuOp3B:	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	movb %al,Work8	movb APU_Carry,%dl	andl $255,%eax	andl $255,%edx	addw %ax,%ax	orl %edx,%eax	movw %ax,Work16	cmpw $255,%ax	seta %al	movb %al,APU_Carry	movb Work16,%al	movb %al,Work8	movb %al,APU_Zero	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	addl $4,%esp	andl $255,%eax	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movl APUPC,%eax	addl $2,%eax	addl $8,%esp	movl %eax,APUPC	retApuOp3C:	movb ApuA,%al	movb APU_Carry,%dl	andl $255,%eax	andl $255,%edx	addw %ax,%ax	orl %edx,%eax	movw %ax,Work16	cmpw $255,%ax	seta %al	movl APUPC,%edx	movb %al,APU_Carry	incl %edx	movb Work16,%al	movl %edx,APUPC	movb %al,ApuA	movb %al,APU_Zero	retApuOp2E:	movl APUPC,%eax	movb 1(%eax),%cl	movb %cl,Work8	movb 2(%eax),%dl	addl $3,%eax	movb %dl,Int8	subw APURAM,%ax	movsbw %dl,%dx	addl %edx,%eax	movw %ax,Int16	xorl %eax,%eax	movb %cl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	addl $4,%esp	movb ApuA,%cl	cmpb %cl,%al	je .L916	xorl %eax,%eax	movw Int16,%ax	movl APURAM,%edx	addl %edx,%eax	movl %eax,APUPC	movb Shutdown,%cl	testb %cl,%cl	je .L926	movl APUWaitAddress1,%edx	cmpl %edx,%eax	je .L918	movl APUWaitAddress2,%ecx	cmpl %ecx,%eax	jne .L926.L918:	movl APUWaitCounter,%eax	testl %eax,%eax	jne .L919	movb CPUExecuting,%dl	testb %dl,%dl	jne .L920	movl NextEvent,%eax	movl %eax,CYCLES	SAVE_CYCLES	ccall S9xUpdateAPUTimer		ret.L920:	movb %al,APUExecuting	ret.L919:	cmpl $1,%eax	jbe .L923	movl $1,%ecx	movl %ecx,APUWaitCounter	ret.L923:	decl %eax	movl %eax,APUWaitCounter	ret.L916:	movl APUPC,%eax	addl $3,%eax	movl %eax,APUPC.L926:	retApuOpDE:	movl APUPC,%ecx	movb ApuX,%al	movb 1(%ecx),%dl	andl $255,%eax	andl $255,%edx	addl %eax,%edx	movw %dx,Work16	movl APUPC,%eax	movb 2(%ecx),%dl	addl $3,%eax	movb %dl,Int8	subw APURAM,%ax	movsbw %dl,%dx	addl %edx,%eax	movw %ax,Int16	movb Work16,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	addl $4,%esp	movb ApuA,%dl	cmpb %dl,%al	je .L928	xorl %eax,%eax	movw Int16,%ax	movl APURAM,%ecx	addl %ecx,%eax	movl %eax,APUPC	movb Shutdown,%dl	testb %dl,%dl	je .L938	movl APUWaitAddress1,%ecx	cmpl %ecx,%eax	je .L930	movl APUWaitAddress2,%edx	cmpl %edx,%eax	jne .L938.L930:	movl APUWaitCounter,%eax	testl %eax,%eax	jne .L931	movb CPUExecuting,%cl	testb %cl,%cl	jne .L932	movl NextEvent,%eax	movl %eax,CYCLES	SAVE_CYCLES	ccall S9xUpdateAPUTimer		ret.L932:	movb %al,APUExecuting	ret.L931:	cmpl $1,%eax	jbe .L935	movl $1,%eax	movl %eax,APUWaitCounter	ret.L935:	decl %eax	movl %eax,APUWaitCounter	ret.L928:	movl APUPC,%edx	addl $3,%edx	movl %edx,APUPC.L938:	retApuOp3D:	movb ApuX,%al	incb %al	movb %al,ApuX	movb %al,APU_Zero	movl APUWaitCounter,%ecx	movl APUPC,%eax	incl %ecx	incl %eax	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOpFC:	movb ApuY,%al	movl APUWaitCounter,%edx	movl APUPC,%ecx	incb %al	incl %edx	incl %ecx	movb %al,ApuY	movb %al,APU_Zero	movl %edx,APUWaitCounter	movl %ecx,APUPC	retApuOp1D:	movb ApuX,%al	movl APUWaitCounter,%edx	movl APUPC,%ecx	decb %al	incl %edx	incl %ecx	movb %al,ApuX	movb %al,APU_Zero	movl %edx,APUWaitCounter	movl %ecx,APUPC	retApuOpDC:	movb ApuY,%al	movl APUWaitCounter,%edx	movl APUPC,%ecx	decb %al	incl %edx	incl %ecx	movb %al,ApuY	movb %al,APU_Zero	movl %edx,APUWaitCounter	movl %ecx,APUPC	retApuOpAB:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	incb %al	movb %al,Work8	movl APUPC,%eax	movb 1(%eax),%cl	xorl %eax,%eax	movb %cl,%al	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movb Work8,%dl	movl APUWaitCounter,%ecx	movl APUPC,%eax	addl $12,%esp	incl %ecx	addl $2,%eax	movb %dl,APU_Zero	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOpAC:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	incb %al	movl APUAddress,%edx	movb %al,Work8	pushl %edx	andl $255,%eax	pushl %eax	call S9xAPUSetByte__FUcUl	movb Work8,%al	movb %al,APU_Zero	movl APUWaitCounter,%ecx	movl APUPC,%eax	incl %ecx	addl $3,%eax	addl $12,%esp	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOpBB:	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	incb %al	movb %al,Work8	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movb Work8,%dl	movl APUWaitCounter,%ecx	movl APUPC,%eax	addl $12,%esp	incl %ecx	addl $2,%eax	movb %dl,APU_Zero	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOpBC:	movb ApuA,%al	movl APUWaitCounter,%edx	movl APUPC,%ecx	incb %al	incl %edx	incl %ecx	movb %al,ApuA	movb %al,APU_Zero	movl %edx,APUWaitCounter	movl %ecx,APUPC	retApuOp8B:	movl APUPC,%eax	movb 1(%eax),%dl	xorl %eax,%eax	movb %dl,%al	pushl %eax	call S9xAPUGetByteZ__FUc	decb %al	movb %al,Work8	movl APUPC,%eax	movb 1(%eax),%cl	xorl %eax,%eax	movb %cl,%al	pushl %eax	movb Work8,%al	andl $255,%eax	pushl %eax	call S9xAPUSetByteZ__FUcUc	movb Work8,%dl	movl APUWaitCounter,%ecx	movl APUPC,%eax	addl $12,%esp	incl %ecx	addl $2,%eax	movb %dl,APU_Zero	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOp8C:	movl APUPC,%eax	movw 1(%eax),%ax	andl $65535,%eax	movl %eax,APUAddress	pushl %eax	call S9xAPUGetByte__FUl	decb %al	movl APUAddress,%edx	movb %al,Work8	pushl %edx	andl $255,%eax	pushl %eax	call S9xAPUSetByte__FUcUl	movb Work8,%al	movb %al,APU_Zero	movl APUWaitCounter,%ecx	movl APUPC,%eax	incl %ecx	addl $3,%eax	addl $12,%esp	movl %ecx,APUWaitCounter	movl %eax,APUPC	retApuOp9B:	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	call S9xAPUGetByteZ__FUc	decb %al	movb %al,Work8	movl APUPC,%edx	movb ApuX,%al	movb 1(%edx),%cl	addb %cl,%al	andl $255,%eax	pushl %eax	mov

⌨️ 快捷键说明

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