]> 4ch.mooo.com Git - plz.git/blobdiff - asmyt.asm
==== IT COMPILES WWWWWW ==
[plz.git] / asmyt.asm
index 7bef947eab8d12ac7270b73f0cb16b1d9e179d23..3fac23123f4f970685fd7369ca69d18dcc4a683a 100755 (executable)
--- a/asmyt.asm
+++ b/asmyt.asm
@@ -1,6 +1,6 @@
        IDEAL\r
        MODEL huge\r
-       p386\r
+8087\r
 \r
 EXTRN C l1:word, C l2:word, C l3:word, C l4:word, C k1:word, C k2:word, C k3:word, C k4:word\r
 EXTRN C m1:word, C m2:word, C m3:word, C m4:word, C n1:word, C n2:word, C n3:word, C n4:word\r
@@ -13,83 +13,102 @@ PUBLIC C plzline, C setplzparas, C psini, C lsini4, C lsini16
 \r
 LABEL psini BYTE\r
 INCLUDE 'psini.inc'\r
-;       db      16384 dup(?)\r
+;        db     16384 dup(?)\r
 \r
 LABEL lsini4 WORD\r
 INCLUDE 'lsini4.inc'\r
-;       db      16384 dup(?)\r
+;        db     16384 dup(?)\r
 \r
 LABEL lsini16 WORD\r
 INCLUDE 'lsini16.inc'\r
-;       db      16384 dup(?)\r
+;        db     16384 dup(?)\r
 \r
 PROC    C plzline\r
 \r
-        ARG     y1:word, vseg:word\r
+       ARG     y1:word, vseg:word\r
 \r
-        push    ds es si di\r
+       push    ds es si di\r
 \r
-        push    [vseg]\r
-        pop     es\r
-        push    cs\r
-        pop     ds\r
-        mov     si, [y1]\r
-;       and     si, 0fffeh\r
-        shl     si, 1d\r
-       mov     di, si\r
+       push    [vseg]\r
+       pop     es\r
+       push    cs\r
+       pop     ds\r
+       mov     si, [y1]\r
+;        and   si, 0fffeh\r
+       shl     si, 1d\r
+       mov     di, si\r
 \r
-        IRP ccc, <3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12,19,18,17,16,23,22,21,20,27,26,25,24,31,30,29,28,35,34,33,32,39,38,37,36,43,42,41,40,47,46,45,44,51,50,49,48,55,54,53,52,59,58,57,56,63,62,61,60,67,66,65,64,71,70,69,68,75,74,73,72,79,78,77,76,83,82,81,80>\r
+       IRP ccc, <3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12,19,18,17,16,23,22,21,20,27,26,25,24,31,30,29,28,35,34,33,32,39,38,37,36,43,42,41,40,47,46,45,44,51,50,49,48,55,54,53,52,59,58,57,56,63,62,61,60,67,66,65,64,71,70,69,68,75,74,73,72,79,78,77,76,83,82,81,80>\r
 \r
 IF (ccc AND 1) EQ 1\r
 \r
 lc2_&ccc=$+2\r
-        mov     bx, [ds:si+0c200h]\r
+       mov     bx, [ds:si+0c200h]\r
 lc1_&ccc=$+2\r
-        mov     ah, [ds:ccc*32 + bx + 0c100h]\r
+       ccc*32\r
+       mov     ah, [(ds:ccc) + bx + 0c100h]\r
 lc4_&ccc=$+2\r
-        mov     bx, [ds:ccc*64 + di + 0c400h]\r
+       ccc*64\r
+       mov     bx, [ds:ccc + di + 0c400h]\r
 lc3_&ccc=$+2\r
-        add     ah, [ds:bx + di + 0c300h]\r
+       add     ah, [ds:bx + di + 0c300h]\r
 ELSE\r
 lc2_&ccc=$+2\r
-        mov     bx, [ds:si+0c200h]\r
+       mov     bx, [ds:si+0c200h]\r
 lc1_&ccc=$+2\r
-        mov     al, [ds:ccc*32 + bx + 0c100h]\r
+       ccc*32\r
+       mov     al, [ds:ccc + bx + 0c100h]\r
 lc4_&ccc=$+2\r
-        mov     bx, [ds:ccc*64 + di + 0c400h]\r
+       ccc*64\r
+       mov     bx, [ds:ccc + di + 0c400h]\r
 lc3_&ccc=$+2\r
-        add     al, [ds:bx + di + 0c300h]\r
+       add     al, [ds:bx + di + 0c300h]\r
 ENDIF\r
 IF (ccc AND 3) EQ 2\r
-        shl     eax, 16d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
+       shl     ax, 1d\r
 ENDIF\r
 IF (ccc AND 3) EQ 0\r
-        mov     [es:ccc], eax\r
+       mov     [es:ccc], ax\r
 ENDIF\r
-        ENDM\r
-        pop     di si es ds\r
-        ret\r
+       ENDM\r
+       pop     di si es ds\r
+       ret\r
 ENDP\r
 \r
 PROC    C setplzparas\r
 \r
-        ARG     c1:word, c2:word, c3:word, c4:word\r
-\r
-        IRP ccc, <0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83>\r
-        mov     ax, [c1]\r
-       add     ax, OFFSET psini+ccc*8\r
-        mov     [word (cs:lc1_&ccc)], ax\r
-        mov     ax, [c2]\r
-       shl     ax, 1d\r
-       add     ax, OFFSET lsini16-ccc*8+80*8\r
-       mov     [word (cs:lc2_&ccc)], ax\r
-       mov     ax, [c3]\r
-       add     ax, OFFSET psini-ccc*4+80*4\r
-       mov     [word (cs:lc3_&ccc)], ax\r
-       mov     ax, [c4]\r
-       shl     ax, 1d\r
-       add     ax, OFFSET lsini4+ccc*32\r
-       mov     [word (cs:lc4_&ccc)], ax\r
+       arg     c1:word, c2:word, c3:word, c4:word\r
+\r
+       IRP ccc, <0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83>\r
+       mov     ax, [c1]\r
+       add     ax, OFFSET psini+ccc*8\r
+       mov     [word (cs:lc1_&ccc)], ax\r
+       mov     ax, [c2]\r
+       shl     ax, 1d\r
+       add     ax, OFFSET lsini16-ccc*8+80*8\r
+       mov     [word (cs:lc2_&ccc)], ax\r
+       mov     ax, [c3]\r
+       add     ax, OFFSET psini-ccc*4+80*4\r
+       mov     [word (cs:lc3_&ccc)], ax\r
+       mov     ax, [c4]\r
+       shl     ax, 1d\r
+       add     ax, OFFSET lsini4+ccc*32\r
+       mov     [word (cs:lc4_&ccc)], ax\r
        ENDM\r
        ret\r
 ENDP\r