]> 4ch.mooo.com Git - 16.git/blobdiff - 16/xw__/mxcc.asm
refresh wwww
[16.git] / 16 / xw__ / mxcc.asm
diff --git a/16/xw__/mxcc.asm b/16/xw__/mxcc.asm
new file mode 100755 (executable)
index 0000000..f59177f
--- /dev/null
@@ -0,0 +1,629 @@
+.387
+               PUBLIC  XSUBCLIPLINE
+               EXTRN   MX_CLIPY1:BYTE
+               EXTRN   MX_CLIPY2:BYTE
+               EXTRN   MX_CLIPX2:BYTE
+               EXTRN   MX_CLIPX1:BYTE
+               EXTRN   MX_VIDEOSEGMENT:BYTE
+               EXTRN   MX_BYTESPERLINE:BYTE
+MX_TEXT                SEGMENT PARA PUBLIC USE16 'CODE'
+               ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
+L$1:
+       or              al,byte ptr [bx+si]
+L$2:
+    DW offset L$3
+       or              al,byte ptr [bx+si]
+    DW offset L$4
+       or              word ptr [bx+si],ax
+    DW offset L$5
+       ????
+       inc             word ptr [bx+si]
+       add             byte ptr [bp+si],cl
+       add             byte ptr 0a00H[bx+si],al
+       add             byte ptr 900H[bp],dl
+       add             byte ptr -100H[si],ch
+       inc             word ptr [bx+si]
+       add             byte ptr ds:[0c000H],al
+       add             byte ptr ds:[0ce00H],al
+       add             byte ptr [di],al
+       add             ah,bl
+       add             bh,bh
+       inc             word ptr [bx+si]
+       add             bh,bh
+       inc             word ptr [bx+si]
+       add             bh,bh
+       inc             word ptr [bx+si]
+       add             bh,bh
+       inc             word ptr [bx+si]
+       add             bh,bh
+       inc             word ptr [bx+si]
+    DB 0
+L$3:
+    DW offset MX_TEXT+0ecH
+    DW offset MX_TEXT+0eeH
+    DW offset MX_TEXT+0f1H
+    DW offset MX_TEXT+0eaH
+    DW offset MX_TEXT+0f4H
+    DW offset MX_TEXT+0f7H
+    DW offset MX_TEXT+104H
+    DW offset MX_TEXT+0eaH
+    DW offset MX_TEXT+111H
+    DW offset MX_TEXT+114H
+    DW offset MX_TEXT+121H
+L$4:
+    DW offset MX_TEXT+132H
+    DW offset MX_TEXT+0eaH
+    DW offset MX_TEXT+135H
+    DW offset MX_TEXT+0eaH
+    DW offset MX_TEXT+13bH
+    DW offset MX_TEXT+0eaH
+    DW offset MX_TEXT+148H
+    DW offset L$7
+    DW offset L$10
+    DW offset L$7
+    DW offset L$11
+L$5:
+    DW offset L$14
+    DW offset L$15
+    DW offset L$7
+    DW offset L$7
+    DW offset L$16
+    DW offset L$17
+    DW offset L$7
+    DW offset L$7
+    DW offset L$18
+    DW offset L$19
+    DW offset L$22
+    DW offset L$23
+    DW offset L$24
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$25
+    DW offset L$26
+    DW offset L$27
+    DW offset L$30
+    DW offset L$7
+    DW offset L$31
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$32
+    DW offset L$7
+    DW offset L$33
+    DW offset L$36
+    DW offset L$37
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$7
+    DW offset L$38
+    DW offset L$39
+    DW offset L$43
+    DW offset L$44
+    DW offset L$45
+    DW offset L$7
+    DW offset L$46
+    DW offset L$47
+    DW offset L$48
+    DW offset L$51
+    DW offset L$7
+    DW offset L$52
+    DW offset L$7
+    DW offset L$53
+    DW offset L$7
+    DW offset L$54
+    DW offset L$58
+    DW offset L$59
+    DW offset L$7
+    DW offset L$7
+    DW offset L$60
+    DW offset L$61
+L$6:
+       clc
+       ret
+L$7:
+       stc
+       ret
+       clc
+       ret
+       jmp             near ptr L$67
+       jmp             near ptr L$68
+       jmp             near ptr L$70
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$6
+       jmp             near ptr L$70
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$6
+       jmp             near ptr L$70
+       jmp             near ptr L$69
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$6
+       jmp             near ptr L$69
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$6
+       jmp             near ptr L$69
+L$8:
+       stc
+       ret
+L$9:
+       clc
+       ret
+       jmp             near ptr L$63
+       call            near ptr L$63
+       jmp             near ptr L$68
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$8
+       jmp             near ptr L$70
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$8
+       call            near ptr L$70
+       cmp             cx,word ptr cs:MX_CLIPX2
+       jle             L$9
+       jmp             near ptr L$68
+L$10:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$8
+       jmp             near ptr L$69
+L$11:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$8
+       call            near ptr L$69
+       cmp             cx,word ptr cs:MX_CLIPX2
+       jle             L$9
+       jmp             near ptr L$68
+L$12:
+       clc
+       ret
+L$13:
+       stc
+       ret
+L$14:
+       jmp             near ptr L$64
+L$15:
+       call            near ptr L$64
+       jmp             near ptr L$67
+L$16:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$13
+       jmp             near ptr L$70
+L$17:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$13
+       call            near ptr L$70
+       cmp             cx,word ptr cs:MX_CLIPX1
+       jge             L$12
+       jmp             near ptr L$67
+L$18:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$13
+       jmp             near ptr L$69
+L$19:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$13
+       call            near ptr L$69
+       cmp             cx,word ptr cs:MX_CLIPX1
+       jge             L$12
+       jmp             near ptr L$67
+L$20:
+       clc
+       ret
+L$21:
+       stc
+       ret
+L$22:
+       jmp             near ptr L$66
+L$23:
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX1
+       jl              L$21
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$20
+       jmp             near ptr L$70
+L$24:
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX2
+       jg              L$21
+       jmp             near ptr L$68
+L$25:
+       call            near ptr L$66
+       jmp             near ptr L$69
+L$26:
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX1
+       jl              L$21
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$20
+       jmp             near ptr L$69
+L$27:
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX2
+       jg              L$21
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$20
+       jmp             near ptr L$69
+L$28:
+       clc
+       ret
+L$29:
+       stc
+       ret
+L$30:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jge             L$28
+       jmp             near ptr L$66
+L$31:
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY1
+       jl              L$29
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX1
+       jge             L$28
+       jmp             near ptr L$63
+L$32:
+       call            near ptr L$69
+       cmp             cx,word ptr cs:MX_CLIPX1
+       jl              L$29
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX1
+       jge             L$28
+       jmp             near ptr L$63
+L$33:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$29
+       call            near ptr L$68
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$29
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$28
+       jmp             near ptr L$69
+L$34:
+       clc
+       ret
+L$35:
+       stc
+       ret
+L$36:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jge             L$34
+       jmp             near ptr L$66
+L$37:
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY2
+       jl              L$35
+       call            near ptr L$66
+       cmp             di,word ptr cs:MX_CLIPX2
+       jle             L$34
+       jmp             near ptr L$64
+L$38:
+       call            near ptr L$69
+       cmp             cx,word ptr cs:MX_CLIPX2
+       jg              L$35
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jge             L$34
+       jmp             near ptr L$66
+L$39:
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY1
+       jl              L$35
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jg              L$35
+       cmp             si,word ptr cs:MX_CLIPY2
+       jle             L$40
+       call            near ptr L$69
+L$40:
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jge             L$34
+       jmp             near ptr L$66
+L$41:
+       clc
+       ret
+L$42:
+       stc
+       ret
+L$43:
+       jmp             near ptr L$65
+L$44:
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX1
+       jl              L$42
+       jmp             near ptr L$67
+L$45:
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX2
+       jg              L$42
+       jmp             near ptr L$68
+L$46:
+       call            near ptr L$65
+       jmp             near ptr L$70
+L$47:
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX1
+       jl              L$42
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$42
+       jmp             near ptr L$70
+L$48:
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX2
+       jg              L$42
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$41
+       jmp             near ptr L$70
+L$49:
+       clc
+       ret
+L$50:
+       stc
+       ret
+L$51:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$49
+       jmp             near ptr L$65
+L$52:
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY2
+       jg              L$50
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX1
+       jge             L$49
+       jmp             near ptr L$63
+L$53:
+       call            near ptr L$70
+       cmp             cx,word ptr cs:MX_CLIPX1
+       jl              L$50
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$49
+       jmp             near ptr L$65
+L$54:
+       call            near ptr L$63
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$50
+       call            near ptr L$68
+       cmp             si,word ptr cs:MX_CLIPY2
+       jg              L$50
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$55
+       call            near ptr L$65
+L$55:
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$49
+       jmp             near ptr L$70
+L$56:
+       clc
+       ret
+L$57:
+       stc
+       ret
+L$58:
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$56
+       jmp             near ptr L$65
+L$59:
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY2
+       jg              L$57
+       call            near ptr L$65
+       cmp             di,word ptr cs:MX_CLIPX2
+       jle             L$56
+       jmp             L$64
+L$60:
+       call            near ptr L$70
+       cmp             cx,word ptr cs:MX_CLIPX2
+       jg              L$57
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$56
+       jmp             L$65
+L$61:
+       call            near ptr L$67
+       cmp             si,word ptr cs:MX_CLIPY2
+       jg              L$57
+       call            near ptr L$64
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jl              L$57
+       cmp             si,word ptr cs:MX_CLIPY1
+       jge             L$62
+       call            near ptr L$70
+L$62:
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$56
+       jmp             L$65
+L$63:
+       mov             ax,si
+       sub             ax,bx
+       mov             dx,word ptr cs:MX_CLIPX1
+       sub             dx,di
+       imul            dx
+       mov             bp,cx
+       sub             bp,di
+       idiv            bp
+       add             bx,ax
+       mov             di,word ptr cs:MX_CLIPX1
+       clc
+       ret
+L$64:
+       mov             ax,si
+       sub             ax,bx
+       mov             dx,word ptr cs:MX_CLIPX2
+       sub             dx,di
+       imul            dx
+       mov             bp,cx
+       sub             bp,di
+       idiv            bp
+       add             bx,ax
+       mov             di,word ptr cs:MX_CLIPX2
+       clc
+       ret
+L$65:
+       mov             ax,cx
+       sub             ax,di
+       mov             dx,word ptr cs:MX_CLIPY2
+       sub             dx,bx
+       imul            dx
+       mov             bp,si
+       sub             bp,bx
+       idiv            bp
+       add             di,ax
+       mov             bx,word ptr cs:MX_CLIPY2
+       clc
+       ret
+L$66:
+       mov             ax,cx
+       sub             ax,di
+       mov             dx,word ptr cs:MX_CLIPY1
+       sub             dx,bx
+       imul            dx
+       mov             bp,si
+       sub             bp,bx
+       idiv            bp
+       add             di,ax
+       mov             bx,word ptr cs:MX_CLIPY1
+       clc
+       ret
+L$67:
+       mov             ax,bx
+       sub             ax,si
+       mov             dx,word ptr cs:MX_CLIPX1
+       sub             dx,cx
+       imul            dx
+       mov             bp,di
+       sub             bp,cx
+       idiv            bp
+       add             si,ax
+       mov             cx,word ptr cs:MX_CLIPX1
+       clc
+       ret
+L$68:
+       mov             ax,bx
+       sub             ax,si
+       mov             dx,word ptr cs:MX_CLIPX2
+       sub             dx,cx
+       imul            dx
+       mov             bp,di
+       sub             bp,cx
+       idiv            bp
+       add             si,ax
+       mov             cx,word ptr cs:MX_CLIPX2
+       clc
+       ret
+L$69:
+       mov             ax,di
+       sub             ax,cx
+       mov             dx,word ptr cs:MX_CLIPY2
+       sub             dx,si
+       imul            dx
+       mov             bp,bx
+       sub             bp,si
+       idiv            bp
+       add             cx,ax
+       mov             si,word ptr cs:MX_CLIPY2
+       clc
+       ret
+L$70:
+       mov             ax,di
+       sub             ax,cx
+       mov             dx,word ptr cs:MX_CLIPY1
+       sub             dx,si
+       imul            dx
+       mov             bp,bx
+       sub             bp,si
+       idiv            bp
+       add             cx,ax
+       mov             si,word ptr cs:MX_CLIPY1
+       clc
+       ret
+XSUBCLIPLINE:
+       push            bp
+       xor             si,si
+       cmp             dx,word ptr cs:MX_CLIPY2
+       jle             L$71
+       or              si,8
+       jmp             L$72
+L$71:
+       cmp             dx,word ptr cs:MX_CLIPY1
+       jge             L$72
+       or              si,4
+L$72:
+       cmp             cx,word ptr cs:MX_CLIPX2
+       jle             L$73
+       or              si,2
+       jmp             L$74
+L$73:
+       cmp             cx,word ptr cs:MX_CLIPX1
+       jge             L$74
+       or              si,1
+L$74:
+       cmp             bx,word ptr cs:MX_CLIPY2
+       jle             L$75
+       or              si,80H
+       jmp             L$76
+L$75:
+       cmp             bx,word ptr cs:MX_CLIPY1
+       jge             L$76
+       or              si,40H
+L$76:
+       cmp             ax,word ptr cs:MX_CLIPX2
+       jle             L$77
+       or              si,20H
+       jmp             L$78
+L$77:
+       cmp             ax,word ptr cs:MX_CLIPX1
+       jge             L$78
+       or              si,10H
+L$78:
+       mov             di,si
+       and             di,0fH
+       and             si,0f0H
+       shr             si,1
+       shr             si,1
+       cmp             di,word ptr cs:L$1[si]
+       jg              L$79
+       mov             si,word ptr cs:L$2[si]
+       shl             di,1
+       add             si,di
+       mov             di,ax
+       mov             si,word ptr cs:[si]
+       xchg            si,dx
+       call            dx
+       mov             ax,di
+       mov             dx,si
+       pop             bp
+       ret
+L$79:
+       pop             bp
+       stc
+       ret
+MX_TEXT                ENDS
+               END