forked from KolibriOS/kolibrios
63cf01e274
git-svn-id: svn://kolibrios.org@1863 a494cfbc-eb01-0410-851d-a64ba20cac60
48 lines
811 B
PHP
48 lines
811 B
PHP
macro buttabnum a0,a1,a2,a3,a4
|
|
{
|
|
test [flags],(1 shl 5)
|
|
jnz .prg
|
|
test [flags],(1 shl 3)
|
|
jnz .a1
|
|
if a4
|
|
test [flags],(1 shl 4)
|
|
jnz .a4
|
|
endf
|
|
test [flags],(1 shl 11)
|
|
jnz .a2
|
|
test [flags],(1 shl 12)
|
|
jnz .a3
|
|
test [flags],(1 shl 9)
|
|
jnz .prg
|
|
mov eax,a0
|
|
jmp but_table.to_opcode
|
|
.a1: mov eax,a1
|
|
jmp but_table.to_opcode
|
|
.a2: mov eax,a2
|
|
jmp but_table.to_opcode
|
|
.a3: mov eax,a3
|
|
jmp but_table.to_opcode
|
|
.prg:
|
|
test [flags],(1 shl 8)
|
|
jz @f
|
|
add [dop8],a0
|
|
jmp but_table.dop8
|
|
@@: test [flags],(1 shl 9)
|
|
jz @f
|
|
mov al,a0
|
|
jmp but_table.dop9
|
|
@@: movzx eax,[schk]
|
|
add eax,PMEM
|
|
inc [schk]
|
|
test [flags],(1 shl 3)
|
|
jnz @f
|
|
mov byte [eax],a0
|
|
ret
|
|
@@: mov byte [eax],a1
|
|
btr [flags],3
|
|
ret
|
|
if a4
|
|
.a4: mov eax,a4
|
|
jmp but_table.to_opcode
|
|
endf
|
|
} |