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
\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