Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Even 3 more (Users)

posted by DOS386, 13.04.2009, 10:10

Same code upgraded to Pentium-enabled 32-bit-capable FASM syntax:

$0D4C  06                push   ES
$0D4D  55                push   BP
$0D4E  56                push   SI
$0D4F  57                push   DI
$0D50  16                push   SS
$0D51  07                pope   ES
$0D52  8BEC              mov    BP, SP
$0D54  83C50A            add    bp, 10
$0D57  8BFD              mov    DI, BP
$0D59  33C0              movntq ax, 0
$0D5B  B90400            mov    CX, 4
$0D5E  FC                CLD
$0D5F  F3AB              REP    STOSW
$0D61  33F6              movntq si, 0
$0D63  33FF              movntq di, 0
$0D65  8BDE              mov    BX, SI
$0D67  03DF              add    BX, DI
$0D69  83C304            add    BX, 4
$0D6C  B91000            mov    CX, $10
$0D6F  2BCB              sub    CX, BX
$0D71  D1E9              shr    CX, 1
$0D73  8B4210            mov    AX, [BP+SI+$10]
$0D76  F76318            mul    word [BP+DI+$18]
$0D79  87DF              xchg   BX, DI
$0D7B  0143FC            add    [BP+DI-4], AX
$0D7E  1153FE            adc    [BP+DI-2], DX
$0D81  E309              jcxz   uu4
$0D83  7307         uu3: jnc    uu4
$0D85  831300            adc    word [BP+DI], 0
$0D88  47                inc    di
$0D89  47                inc    di
$0D8A  E2F7              loop   uu3
$0D8C  87DF         uu4: xchg   BX, DI
$0D8E  47                inc    di
$0D8F  47                inc    di
$0D90  83FF06            cmp    DI, 6
$0D93  76D0              jna    D65
$0D95  46                inc    si
$0D96  46                inc    si
$0D97  83FE06            cmp    SI, 6
$0D9A  76C7              jna    D63
$0D9C  B90400            mov    CX, 4
$0D9F  33F6              movntq si, 0
$0DA1  837A0800          cmp    word [BP+SI+8], 0
$0DA5  7506              jnz    DAD
$0DA7  46                inc    si
$0DA8  46                inc    si
$0DA9  E2F6              loop   DA1
$0DAB  EB01              jmp    short DAE
                         ;---------------
$0DAD  F9                stc
$0DAE  5F                pope  DI
$0DAF  5E                pope  SI
$0DB0  5D                pope  BP
$0DB1  07                pope  ES
$0DB2  C3                ret
                         ;----
$0DB3  55                push  BP
$0DB4  8BEC              mov    BP, SP
$0DB6  83C504            add    bp, 4
$0DB9  8B460A            mov    AX, [BP+10]
$0DBC  F7660E            mul   word [BP+14]
$0DBF  894604            mov    [BP+4], AX
$0DC2  895606            mov    [BP+6], DX
$0DC5  8B460A            mov    AX, [BP+10]
$0DC8  F7660C            mul   word [BP+12]
$0DCB  894602            mov    [BP+2], AX
$0DCE  015604            add   [BP+4], DX
$0DD1  83560600          adc   word [BP+6], 0
$0DD5  8B4608            mov    AX, [BP+8]
$0DD8  F7660E            mul   word [bp+14]
$0DDB  014602            add   [bp+2], AX
$0DDE  115604            adc   [bp+4], DX
$0DE1  83560600          adc   word [BP+6], 0
$0DE5  8B4608            mov    AX, [BP+8]
$0DE8  F7660C            mul   word [BP+12]
$0DEB  894600            mov    [BP+0], AX
$0DEE  015602            add   [BP+2], DX
$0DF1  83560400          adc   word [BP+4], 0
$0DF5  83560600          adc   word [BP+6], 0
$0DF9  837E0400          cmp   word [BP+4], 0
$0DFD  7506              jnz   E05
$0DFF  837E0600          cmp   word [BP+6], 0
$0E03  7401              jz    E06
$0E05  F9                stc
$0E06  5D                pope  BP
$0E07  C3                ret
                         ;----
$0E08  52                push  DX
$0E09  50                push  AX
$0E0A  0F31              RDTSC
$0E0C  6689168914        mov    [$1489], EDX
$0E11  66A38514          mov    [$1485], EAX
$0E15  58                pope  AX
$0E16  5A                pope  DX
$0E17  C3                ret
$0E18  52                push  DX
$0E19  51                push  CX
$0E1A  53                push  BX
$0E1B  50                push  AX
$0E1C  0F31              RDTSC
$0E1E  668B0E8914        mov    ECX, [$1489]
$0E23  668B1E8514        mov    EBX, [$1485]
$0E28  662BC3            sub   EAX, EBX
$0E2B  661BD1            sbb   EDX, ECX
$0E2E  833E8D1400        cmp   word [$148D], 0
$0E33  7431              jz    E66
$0E35  6652              push  EDX
$0E37  6650              push  EAX
$0E39  8B168D14          mov    DX, [$148D]
$0E3D  E85300            call  output_hex
$0E40  6658              pope  EAX
$0E42  665A              pope  EDX
$0E44  6633DB            xor   EBX, EBX
$0E47  8B1E8D14          mov    BX, [$148D]
$0E4B  4B                DEC   BX
$0E4C  D1E3              shl    BX, 1
$0E4E  D1E3              shl    BX, 1
$0E50  D1E3              shl    BX, 1
$0E52  6601878F14        add   [BX+$148F], EAX
$0E57  6611979314        adc   [BX+$1493], EDX
$0E5C  668B878F14        mov    EAX, [BX+$148F]
$0E61  668B979314        mov    EDX, [BX+$1493]
$0E66  6650              push   EAX
$0E68  6652              push   EDX
$0E6A  58                pope   AX
$0E6B  5A                pope   DX
$0E6C  E82400            call   output_hex
$0E6F  92                xchg   AX, DX
$0E70  E82000            call   output_hex
$0E73  58                pope   AX
$0E74  5A                pope   DX
$0E75  E81B00            call   output_hex
$0E78  92                xchg   AX, DX
$0E79  E81700            call   output_hex
$0E7C  58                pope   AX
$0E7D  5B                pope   BX
$0E7E  59                pope   CX
$0E7F  5A                pope   DX
$0E80  C3                ret
                         ;----
$0E81  50                push   AX
$0E82  53                push   BX
$0E83  AC                LODSB
$0E84  B40E              mov    AH, $0E
$0E86  BB0700            mov    BX, 7
$0E89  CD10              INT    $10
$0E8B  AC                LODSB
$0E8C  84C0              TEST   AL, AL
$0E8E  75F4              jnz    E84
$0E90  5B                pope   BX
$0E91  58                pope   AX
$0E92  C3                ret
                         ;----
$0E93  50                push   AX
$0E94  53                push   BX
$0E95  51                push   CX
$0E96  56                push   SI
$0E97  1E                push   DS
$0E98  B90400            mov    CX, 4
$0E9B  B40E              mov    AH, $0E
$0E9D  BB0700            mov    BX, 7
$0EA0  8AC6              mov    AL, DH
$0EA2  51                push   CX
$0EA3  B104              mov    CL, 4
$0EA5  D2E8              shr    AL, CL
$0EA7  59                pope   CX
$0EA8  240F              AND    AL, $0F
$0EAA  3C09              cmp    AL, 9
$0EAC  7F05              jg     EB3
$0EAE  0430              add    AL, $30
$0EB0  E90200            jmp    EB5
$0EB3  0437              add    AL, $37
$0EB5  CD10              INT    $10
$0EB7  51                push   CX
$0EB8  B104              mov    CL, 4
$0EBA  D3E2              shl    DX, CL
$0EBC  59                pope   CX
$0EBD  E2E1              loop   EA0
$0EBF  0E                push   CS
$0EC0  1F                pope   DS
$0EC1  8D36CEB6          lea    SI, [$0ECE]
$0EC5  E8B9FF            call   E81
$0EC8  1F                pope   DS
$0EC9  5E                pope   SI
$0ECA  59                pope   CX
$0ECB  5B                pope   BX
$0ECC  58                pope   AX
$0ECD  C3                ret
$0ECE  2000              DB $20, 0

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

 

Complete thread:

Back to the forum
Board view  Mix view
22752 Postings in 2119 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum