📄 str6x8_16.s
字号:
#include "asmdefs.inc"CODE_SEG/******************************************************************************//* *//* RAINE 6x8 STRING PRINTING *//* *//******************************************************************************//*Transparent*/#define DEST_0 0#define DEST_1 2#define DEST_2 4#define DEST_3 6#define DEST_4 8#define DEST_5 10FUNC(draw_string_6x8_16) pushl %ebp pushl %edi pushl %esi pushl %ebx movl 20(%esp),%esi // source movl 28(%esp),%eax // y sall $2,%eax movl 0xDEADBEEF(%eax),%ediblin_00:// movl 32(%esp),%ecx // cmap movl $0x0000FFFF,%ecx // cmap addl 24(%esp),%edi // x addl 24(%esp),%edi // x6: xorl %ebx,%ebx movb (%esi),%bl subw $0x20,%bx jl 8f jz 7f shl $3,%bx pushl %edi addl $0xDEADBEEF,%ebxfont_00: movl $8,%ebp // Tile Height9: movb (%ebx),%al testb $0x80,%al jz 1f movw %cx,DEST_0(%edi)1: testb $0x40,%al jz 1f movw %cx,DEST_1(%edi)1: testb $0x20,%al jz 1f movw %cx,DEST_2(%edi)1: testb $0x10,%al jz 1f movw %cx,DEST_3(%edi)1: testb $0x08,%al jz 1f movw %cx,DEST_4(%edi)1: testb $0x04,%al jz 1f movw %cx,DEST_5(%edi)1: incl %ebx // Next Tile Line addl $0xDEADBEEF,%edi // Next Screen Linebitw_00: decl %ebp jne 9b popl %edi7: incl %esi addl $12,%edi jmp 6b8: popl %ebx popl %esi popl %edi popl %ebp retFUNC(init_str6x8asm_16) movl GLOBL(GameBitmap),%eax movl (%eax),%eax // Width addl %eax,%eax movl %eax,bitw_00-4 movl GLOBL(GameBitmap),%eax addl $64,%eax // Line 0 movl %eax,blin_00-4 movl GLOBL(ingame_font),%eax // Font movl %eax,font_00-4 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -