wok-tiny annotate x86test/stuff/patch.S @ rev 181

x86test: add a patch for NMOS 8088
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Sep 20 13:53:13 2023 +0000 (8 months ago)
parents
children 34a0a4406539
rev   line source
pascal@181 1 .code16
pascal@181 2
pascal@181 3 .org 0xc3
pascal@181 4 str_8086: .string "8086 (16-bit NMOS)"
pascal@181 5 str_8088: .string "8088 (8-bit NMOS)"
pascal@181 6 str_80C86: .string "80C86 (16-bit CMOS)"
pascal@181 7 str_80C88: .string "80C88 (8-bit CMOS)"
pascal@181 8 str_80186: .string "80186 (16-bit)"
pascal@181 9 str_80188: .string "80188 (8-bit)"
pascal@181 10 str_80286: .string "80286"
pascal@181 11
pascal@181 12 test_width8_16:
pascal@181 13
pascal@181 14 .org 0x18a
pascal@181 15 test8086_88:
pascal@181 16 pushf
pascal@181 17 xorw %cx, %cx
pascal@181 18 movw %cx, %es
pascal@181 19 es movw 0x46c, %bx # BIOS tick count l.o. word
pascal@181 20 1: pushw %cx
pascal@181 21 sti
pascal@181 22 rep cs lodsb
pascal@181 23 cli
pascal@181 24 orw %cx, %cx
pascal@181 25 popw %cx
pascal@181 26 movw $str_8088, %ax
pascal@181 27 movw $str_8086, %si
pascal@181 28 jnz nmos_8086_88
pascal@181 29 movb $str_80C88, %al
pascal@181 30 movw $str_80C86, %si
pascal@181 31 es cmpw 0x046c, %bx
pascal@181 32 loope 1b
pascal@181 33 nmos_8086_88: popf
pascal@181 34 call test_width8_16
pascal@181 35 jz 1f
pascal@181 36 xchgw %ax, %si
pascal@181 37 1: ret
pascal@181 38
pascal@181 39 .org 0x1bb