📄 test-i386-code16.s
字号:
.code16 .globl code16_start .globl code16_endCS_SEG = 0xfcode16_start: .globl code16_func1 /* basic test */code16_func1 = . - code16_start mov $1, %eax data32 lret/* test push/pop in 16 bit mode */ .globl code16_func2code16_func2 = . - code16_start xor %eax, %eax mov $0x12345678, %ebx movl %esp, %ecx push %bx subl %esp, %ecx pop %ax data32 lret/* test various jmp opcodes */ .globl code16_func3code16_func3 = . - code16_start jmp 1f nop1: mov $4, %eax mov $0x12345678, %ebx xor %bx, %bx jz 2f add $2, %ax2: call myfunc lcall $CS_SEG, $(myfunc2 - code16_start) ljmp $CS_SEG, $(myjmp1 - code16_start)myjmp1_next: cs lcall myfunc2_addr - code16_start cs ljmp myjmp2_addr - code16_startmyjmp2_next: data32 lret myfunc2_addr: .short myfunc2 - code16_start .short CS_SEGmyjmp2_addr: .short myjmp2 - code16_start .short CS_SEGmyjmp1: add $8, %ax jmp myjmp1_nextmyjmp2: add $16, %ax jmp myjmp2_nextmyfunc: add $1, %ax retmyfunc2: add $4, %ax lretcode16_end:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -