📄 spr16x16_8.s
字号:
addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx movl %eax,8(%edi) movl %ebx,12(%edi) popl %ebx popl %esi popl %edi retFUNC(Draw16x16_FlipXY) pushl %edi pushl %esi pushl %ebx movl 16(%esp),%esi // source movl 24(%esp),%ebx // y movl 28(%esp),%eax // cmap sall $2,%ebx movb %al,%ah // cmap movl 0xDEADBEEF(%ebx),%ediblin_11: mov %ax,%cx // cmap addl 20(%esp),%edi // x shll $16,%ecx // cmap movl $0xDEADBEEF,%edx // screen widthbitw_11: mov %ax,%cx // cmap movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) addl $16,%esi subl %edx,%edi movl 12(%esi),%eax movl 8(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,(%edi) movl %ebx,4(%edi) movl 4(%esi),%eax movl (%esi),%ebx orl %ecx,%eax orl %ecx,%ebx bswap %eax bswap %ebx movl %eax,8(%edi) movl %ebx,12(%edi) popl %ebx popl %esi popl %edi retFUNC(Draw16x16_Trans) pushl %edi pushl %esi pushl %ebx movl 16(%esp),%esi // source movl 24(%esp),%ebx // y movl 28(%esp),%eax // cmap sall $2,%ebx movb %al,%ah // cmap movl 0xDEADBEEF(%ebx),%ediblin_12: mov %ax,%cx // cmap addl 20(%esp),%edi // x shll $16,%ecx // cmap movl $16,%edx // tile height mov %ax,%cx // cmap9: movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,(%edi)7: cmpb %ch,%bl je 7f movb %bl,4(%edi)7: cmpb %ch,%ah je 7f movb %ah,1(%edi)7: cmpb %ch,%bh je 7f movb %bh,5(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,2(%edi)7: cmpb %ch,%bl je 7f movb %bl,6(%edi)7: cmpb %ch,%ah je 7f movb %ah,3(%edi)7: cmpb %ch,%bh je 7f movb %bh,7(%edi)7: movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,8(%edi)7: cmpb %ch,%bl je 7f movb %bl,12(%edi)7: cmpb %ch,%ah je 7f movb %ah,9(%edi)7: cmpb %ch,%bh je 7f movb %bh,13(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,10(%edi)7: cmpb %ch,%bl je 7f movb %bl,14(%edi)7: cmpb %ch,%ah je 7f movb %ah,11(%edi)7: cmpb %ch,%bh je 7f movb %bh,15(%edi)7: addl $16,%esi // Next Tile Line addl $0xDEADBEEF,%edi // Next Screen Linebitw_12: decl %edx jne 9b popl %ebx popl %esi popl %edi retFUNC(Draw16x16_Trans_FlipY) pushl %edi pushl %esi pushl %ebx movl 16(%esp),%esi // source movl 24(%esp),%ebx // y movl 28(%esp),%eax // cmap sall $2,%ebx movb %al,%ah // cmap movl 0xDEADBEEF(%ebx),%ediblin_13: mov %ax,%cx // cmap addl 20(%esp),%edi // x shll $16,%ecx // cmap movl $16,%edx // tile height mov %ax,%cx // cmap9: movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,15(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-4(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-1(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-5(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,15-2(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-6(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-3(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-7(%edi)7: movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,15-8(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-12(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-9(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-13(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,15-10(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-14(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-11(%edi)7: cmpb %ch,%bh je 7f movb %bh,(%edi)7: addl $16,%esi // Next Tile Line addl $0xDEADBEEF,%edi // Next Screen Linebitw_13: decl %edx jne 9b popl %ebx popl %esi popl %edi retFUNC(Draw16x16_Trans_FlipX) pushl %edi pushl %esi pushl %ebx movl 16(%esp),%esi // source movl 24(%esp),%ebx // y movl 28(%esp),%eax // cmap sall $2,%ebx movb %al,%ah // cmap movl 0xDEADBEEF(%ebx),%ediblin_14: mov %ax,%cx // cmap addl 20(%esp),%edi // x shll $16,%ecx // cmap movl $16,%edx // tile height mov %ax,%cx // cmap9: movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,(%edi)7: cmpb %ch,%bl je 7f movb %bl,4(%edi)7: cmpb %ch,%ah je 7f movb %ah,1(%edi)7: cmpb %ch,%bh je 7f movb %bh,5(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,2(%edi)7: cmpb %ch,%bl je 7f movb %bl,6(%edi)7: cmpb %ch,%ah je 7f movb %ah,3(%edi)7: cmpb %ch,%bh je 7f movb %bh,7(%edi)7: movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,8(%edi)7: cmpb %ch,%bl je 7f movb %bl,12(%edi)7: cmpb %ch,%ah je 7f movb %ah,9(%edi)7: cmpb %ch,%bh je 7f movb %bh,13(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,10(%edi)7: cmpb %ch,%bl je 7f movb %bl,14(%edi)7: cmpb %ch,%ah je 7f movb %ah,11(%edi)7: cmpb %ch,%bh je 7f movb %bh,15(%edi)7: addl $16,%esi // Next Tile Line subl $0xDEADBEEF,%edi // Next Screen Linebitw_14: decl %edx jne 9b popl %ebx popl %esi popl %edi retFUNC(Draw16x16_Trans_FlipXY) pushl %edi pushl %esi pushl %ebx movl 16(%esp),%esi // source movl 24(%esp),%ebx // y movl 28(%esp),%eax // cmap sall $2,%ebx movb %al,%ah // cmap movl 0xDEADBEEF(%ebx),%ediblin_15: mov %ax,%cx // cmap addl 20(%esp),%edi // x shll $16,%ecx // cmap movl $16,%edx // tile height mov %ax,%cx // cmap9: movl (%esi),%eax movl 4(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,15(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-4(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-1(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-5(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,15-2(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-6(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-3(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-7(%edi)7: movl 8(%esi),%eax movl 12(%esi),%ebx orl %ecx,%eax orl %ecx,%ebx cmpb %ch,%al je 7f movb %al,15-8(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-12(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-9(%edi)7: cmpb %ch,%bh je 7f movb %bh,15-13(%edi)7: shr $16,%eax shr $16,%ebx cmpb %ch,%al je 7f movb %al,15-10(%edi)7: cmpb %ch,%bl je 7f movb %bl,15-14(%edi)7: cmpb %ch,%ah je 7f movb %ah,15-11(%edi)7: cmpb %ch,%bh je 7f movb %bh,(%edi)7: addl $16,%esi // Next Tile Line subl $0xDEADBEEF,%edi // Next Screen Linebitw_15: decl %edx jne 9b popl %ebx popl %esi popl %edi retFUNC(init_spr16x16asm) movl GLOBL(GameBitmap),%eax movl (%eax),%eax // Width movl %eax,bitw_00-4 movl %eax,bitw_01-4 movl %eax,bitw_02-4 movl %eax,bitw_03-4 movl %eax,bitw_04-4 movl %eax,bitw_05-4 movl %eax,bitw_06-4 movl %eax,bitw_07-4 movl %eax,bitw_08-4 movl %eax,bitw_09-4 movl %eax,bitw_10-4 movl %eax,bitw_11-4 movl %eax,bitw_12-4 movl %eax,bitw_13-4 movl %eax,bitw_14-4 movl %eax,bitw_15-4 movl GLOBL(GameBitmap),%eax addl $64,%eax // Line 0 movl %eax,blin_00-4 movl %eax,blin_01-4 movl %eax,blin_04-4 movl %eax,blin_05-4 movl %eax,blin_08-4 movl %eax,blin_09-4 movl %eax,blin_12-4 movl %eax,blin_13-4 addl $15*4,%eax // Line 15 movl %eax,blin_02-4 movl %eax,blin_03-4 movl %eax,blin_06-4 movl %eax,blin_07-4 movl %eax,blin_10-4 movl %eax,blin_11-4 movl %eax,blin_14-4 movl %eax,blin_15-4 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -