📄 spc700.s
字号:
ret.L672: decl %eax movl %eax,APUWaitCounter ret.L665: addl $2,%ecx movl %ecx,APUPC.L675: retApuOpF0: movl APUPC,%ecx movl %ecx,%edx movb 1(%ecx),%al addl $2,%edx movb %al,Int8 subw APURAM,%dx cbtw addl %eax,%edx movw %dx,Int16 movb APU_Zero,%al testb %al,%al jne .L677 xorl %eax,%eax movw %dx,%ax movl APURAM,%ecx addl %ecx,%eax movl %eax,APUPC movb Shutdown,%dl testb %dl,%dl je .L687 movl APUWaitAddress1,%ecx cmpl %ecx,%eax je .L679 movl APUWaitAddress2,%edx cmpl %edx,%eax jne .L687.L679: movl APUWaitCounter,%eax testl %eax,%eax jne .L680 movb CPUExecuting,%cl testb %cl,%cl jne .L681 movl NextEvent,%eax movl %eax,CYCLES SAVE_CYCLES ccall S9xUpdateAPUTimer ret.L681: movb %al,APUExecuting ret.L680: cmpl $1,%eax jbe .L684 movl $1,%eax movl %eax,APUWaitCounter ret.L684: decl %eax movl %eax,APUWaitCounter ret.L677: addl $2,%ecx movl %ecx,APUPC.L687: retApuOp50: movl APUPC,%ecx movl %ecx,%edx movb 1(%ecx),%al addl $2,%edx movb %al,Int8 subw APURAM,%dx cbtw addl %eax,%edx movw %dx,Int16 movb APU_Overflow,%al testb %al,%al jne .L693 xorl %eax,%eax movw %dx,%ax movl APURAM,%ecx addl %ecx,%eax movl %eax,APUPC ret.L693: addl $2,%ecx movl %ecx,APUPC retApuOp70: movl APUPC,%ecx movl %ecx,%edx movb 1(%ecx),%al addl $2,%edx movb %al,Int8 subw APURAM,%dx cbtw addl %eax,%edx movw %dx,Int16 movb APU_Overflow,%al testb %al,%al je .L701 xorl %eax,%eax movw %dx,%ax movl APURAM,%ecx addl %ecx,%eax movl %eax,APUPC ret.L701: addl $2,%ecx movl %ecx,APUPC retApuOp2F: movl APUPC,%eax movb 1(%eax),%dl addl $2,%eax movb %dl,Int8 subw APURAM,%ax movsbw %dl,%dx addl %edx,%eax movw %ax,Int16 movl APURAM,%edx andl $65535,%eax addl %edx,%eax movl %eax,APUPC retApuOp80: movl APUPC,%eax movl $1,%ecx incl %eax movb %cl,APU_Carry movl %eax,APUPC retApuOpED: movb APU_Carry,%dl movl APUPC,%ecx xorb $1,%dl incl %ecx movb %dl,APU_Carry movl %ecx,APUPC retApuOp40: movb ApuP,%dl movl APURAM,%eax movl APUPC,%ecx orb $32,%dl addl $256,%eax incl %ecx movb %dl,ApuP movl %eax,APUDirectPage movl %ecx,APUPC retApuOp1A: pushl %ebx movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%bl movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl xorl %eax,%eax movb %bl,%al salw $8,%dx addl %edx,%eax decl %eax movl APUPC,%edx movw %ax,Work16 movb 1(%edx),%al andl $255,%eax pushl %eax movb Work16,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax movb Work16+1,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movb Work16+1,%al addl $24,%esp andl $255,%eax cmpw $0,Work16 je .L724 orb $1,%al.L724: movl APUPC,%edx addl $2,%edx movb %al,APU_Zero popl %ebx movl %edx,APUPC retApuOp5A: pushl %ebx movl APUPC,%eax movb 1(%eax),%cl xorl %eax,%eax movb %cl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%bl movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc xorl %edx,%edx movb %bl,%dl salw $8,%ax addl %eax,%edx movw %dx,Work16 xorl %eax,%eax movw ApuA,%ax andl $65535,%edx subl %edx,%eax movl %eax,Int32 notl %eax shrl $31,%eax movb %al,APU_Carry movb Int32+1,%al addl $8,%esp andl $255,%eax cmpw $0,Int32 je .L730 orb $1,%al.L730: movl APUPC,%ecx addl $2,%ecx movb %al,APU_Zero popl %ebx movl %ecx,APUPC retApuOp3A: pushl %ebx movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%bl movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl xorl %eax,%eax movb %bl,%al salw $8,%dx addl %edx,%eax incl %eax movl APUPC,%edx movw %ax,Work16 movb 1(%edx),%al andl $255,%eax pushl %eax movb Work16,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax movb Work16+1,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movb Work16+1,%al addl $24,%esp andl $255,%eax cmpw $0,Work16 je .L736 orb $1,%al.L736: movl APUPC,%edx addl $2,%edx movb %al,APU_Zero popl %ebx movl %edx,APUPC retApuOp7A: pushl %ebx movl APUPC,%eax movb 1(%eax),%cl xorl %eax,%eax movb %cl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%bl movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc xorl %edx,%edx movb %bl,%dl salw $8,%ax xorl %ecx,%ecx addl %eax,%edx movw ApuA,%cx xorl %eax,%eax movw %dx,%ax addl %eax,%ecx movb ApuP,%al andb $247,%al movb %al,ApuP cmpl $65535,%ecx seta %al movb %al,APU_Carry movw ApuA,%ax movw %dx,Work16 xorl %edx,%eax xorl %ecx,%edx notw %ax andl %edx,%eax addl $8,%esp movl %ecx,Work32 andl $-32768,%eax testw %ax,%ax je .L739 movl $1,%edx movb %dl,APU_Overflow jmp .L740.L739: movb %al,APU_Overflow.L740: movw Work32,%ax movl %eax,%edx shrw $8,%dx movw %ax,ApuA andl $65535,%edx testw %ax,%ax je .L741 orl $1,%edx.L741: movl APUPC,%ecx addl $2,%ecx movb %dl,APU_Zero popl %ebx movl %ecx,APUPC retApuOp9A: pushl %ebx movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%bl movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc xorl %ecx,%ecx movb %bl,%cl salw $8,%ax xorl %edx,%edx addl %eax,%ecx xorl %eax,%eax movw ApuA,%ax movw %cx,%dx subl %edx,%eax movb ApuP,%dl movl %eax,Int32 andb $247,%dl notl %eax movb %dl,ApuP shrl $31,%eax movw ApuA,%dx movb %al,APU_Carry movl %edx,%eax movw %cx,Work16 xorl %ecx,%eax addl $8,%esp testw %ax,%ax jge .L744 movl %edx,%eax xorw Int32,%ax jns .L744 movl $1,%ecx movb %cl,APU_Overflow jmp .L745.L744: xorl %eax,%eax movb %al,APU_Overflow.L745: movb ApuA,%dl movb Work16,%cl movb %dl,%al xorb %cl,%al jns .L746 movb %dl,%al movb Int32,%cl xorb %cl,%al jns .L746 movb ApuP,%al orb $8,%al movb %al,ApuP.L746: movw Int32,%ax movl %eax,%edx shrw $8,%dx movw %ax,ApuA andl $65535,%edx testw %ax,%ax je .L747 orl $1,%edx.L747: movl APUPC,%ecx addl $2,%ecx movb %dl,APU_Zero popl %ebx movl %ecx,APUPC retApuOpBA: movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,ApuA movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,ApuY addl $8,%esp andl $255,%eax cmpw $0,ApuA je .L753 orb $1,%al.L753: movl APUPC,%edx addl $2,%edx movb %al,APU_Zero movl %edx,APUPC retApuOpDA: movl APUPC,%eax movb 1(%eax),%cl xorl %eax,%eax movb %cl,%al pushl %eax movb ApuA,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movl APUPC,%eax movb 1(%eax),%al incb %al andl $255,%eax pushl %eax movb ApuY,%al andl $255,%eax pushl %eax call S9xAPUSetByteZ__FUcUc movl APUPC,%ecx addl $2,%ecx addl $16,%esp movl %ecx,APUPC retApuOp64: movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl movb ApuA,%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 retApuOp65: movl APUPC,%eax movw 1(%eax),%ax andl $65535,%eax movl %eax,APUAddress pushl %eax call S9xAPUGetByte__FUl movb %al,%dl movb ApuA,%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 retApuOp66: movb ApuX,%al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl movb ApuA,%al movb %dl,Work8 andl $255,%eax andl $255,%edx subl %edx,%eax movw %ax,Int16 notw %ax shrw $15,%ax movl APUPC,%edx movb %al,APU_Carry incl %edx movb Int16,%al addl $4,%esp movl %edx,APUPC movb %al,APU_Zero retApuOp67: 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 %al,%dl movb ApuA,%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 $2,%ecx movb Int16,%dl shrw $15,%ax movl %ecx,APUPC movb %dl,APU_Zero movb %al,APU_Carry retApuOp68: movl APUPC,%ecx movb 1(%ecx),%dl movb ApuA,%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 addl $2,%ecx movb Int16,%al movl %ecx,APUPC movb %al,APU_Zero retApuOp69: movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,W1 movl APUPC,%eax movb 2(%eax),%cl xorl %eax,%eax movb %cl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,Work8 movb W1,%dl andl $255,%eax andl $255,%edx subl %edx,%eax movw %ax,Int16 notw %ax shrw $15,%ax movl APUPC,%edx movb %al,APU_Carry addl $3,%edx movb Int16,%al addl $8,%esp movl %edx,APUPC movb %al,APU_Zero retApuOp74: movl APUPC,%edx movb ApuX,%al movb 1(%edx),%cl addb %cl,%al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl movb ApuA,%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 $2,%ecx movb Int16,%dl shrw $15,%ax movl %ecx,APUPC movb %dl,APU_Zero movb %al,APU_Carry retApuOp75: 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 %al,%dl movb ApuA,%al movb %dl,Work8 andl $255,%eax andl $255,%edx subl %edx,%eax movw %ax,Int16 notw %ax shrw $15,%ax movl APUPC,%edx movb %al,APU_Carry addl $3,%edx movb Int16,%al addl $4,%esp movl %edx,APUPC movb %al,APU_Zero retApuOp76: 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 %al,%dl movb ApuA,%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 $3,%eax addl $4,%esp movb %cl,APU_Zero movl %eax,APUPC retApuOp77: 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 %al,%dl movb ApuA,%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 $2,%ecx movb Int16,%dl shrw $15,%ax movl %ecx,APUPC movb %dl,APU_Zero movb %al,APU_Carry retApuOp78: movl APUPC,%edx movb 1(%edx),%al movb %al,Work8 movb 2(%edx),%al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,W1 movb Work8,%dl andl $255,%eax andl $255,%edx subl %edx,%eax movw %ax,Int16 notw %ax shrw $15,%ax movl APUPC,%edx movb %al,APU_Carry addl $3,%edx movb Int16,%al addl $4,%esp movl %edx,APUPC movb %al,APU_Zero retApuOp79: movb ApuX,%al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,W1 movb ApuY,%al andl $255,%eax pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl movb W1,%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 incl %eax addl $8,%esp movb %cl,APU_Zero movl %eax,APUPC retApuOp1E: movl APUPC,%eax movw 1(%eax),%ax andl $65535,%eax movl %eax,APUAddress pushl %eax call S9xAPUGetByte__FUl movb %al,%dl movb ApuX,%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 retApuOp3E: movl APUPC,%eax movb 1(%eax),%dl xorl %eax,%eax movb %dl,%al pushl %eax call S9xAPUGetByteZ__FUc movb %al,%dl movb ApuX,%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 retApuOpC8: movl APUPC,%ecx movb ApuX,%al movb 1(%ecx),%dl andl $255,%eax andl $255,%edx subl %edx,%eax movw %ax,Int16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -