]> 4ch.mooo.com Git - 16.git/blob - 16/xw__/mxit.asm
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / 16 / xw__ / mxit.asm
1 .387
2                 PUBLIC  MX_VIDEOSEGMENT
3                 PUBLIC  MX_CODESEGMENT
4                 PUBLIC  MXINIT
5                 PUBLIC  MXTERM
6 MX_TEXT         SEGMENT PARA PUBLIC USE16 'CODE'
7                 ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
8         dec             bp
9         dec             di
10         inc             sp
11         inc             bp
12         pop             ax
13         and             byte ptr 69H[si],ch
14         bound           si,word ptr 61H[bp+si]
15         jb              L$3
16         and             byte ptr [di],ch
17         and             byte ptr 6fH[bp+di],al
18         jo              L$5
19         jb              L$2
20         push            2074H
21         sub             byte ptr 29H[bp+di],ah
22         and             byte ptr [bx+di],dh
23         cmp             word ptr [bx+di],di
24         xor             ch,byte ptr [di]
25         xor             word ptr [bx+di],di
26         cmp             word ptr [si],si
27         and             byte ptr 6cH[bx+di],al
28         ; The label referred to here is an undefined location
29         jae             0a0H
30         popa
31         outsb
32         ; The label referred to here is an undefined location
33         jb              0a1H
34         and             byte ptr 63H[bp+di],dl
35         outsw
36         ; The label referred to here is an undefined location
37         je              0acH
38     DB  69H
39 MX_VIDEOSEGMENT:
40     DB  0, 0a0H
41 MX_CODESEGMENT:
42     DW  MX_TEXT
43 MXINIT:
44         push            bp
45         mov             bp,sp
46         sub             sp,6
47         push            ds
48         push            si
49         push            es
50         push            di
51         mov             word ptr -2[bp],0ffffH
52         mov             word ptr -4[bp],0a000H
53         mov             word ptr -6[bp],cs
54         mov             ax,1686H
55         int             2fH
56         or              ax,ax
57         jne             L$1
58         mov             ax,0aH
59         mov             bx,cs
60         int             31H
61         jb              L$4
62         mov             word ptr -6[bp],ax
63         mov             ax,2
64         mov             bx,0a000H
65         int             31H
66         jb              L$4
67         mov             word ptr -4[bp],ax
68 L$1:
69         mov             ds,word ptr -6[bp]
70         mov             word ptr MX_CODESEGMENT,ds
71     DB  8bH, 46H
72 L$2:
73         cld
74         mov             word ptr MX_VIDEOSEGMENT,ax
75     DB  0c7H, 46H, 0feH
76 L$3:
77         add             byte ptr [bx+si],al
78 L$4:
79         mov             ax,word ptr -2[bp]
80         pop             di
81         pop             es
82 L$5:
83         pop             si
84         pop             ds
85         mov             sp,bp
86         pop             bp
87         retf
88 MXTERM:
89         xor             ax,ax
90         retf
91 MX_TEXT         ENDS
92                 END