home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
magazine
/
progjour
/
1991
/
02
/
watcom
/
min.dat
< prev
next >
Wrap
Text File
|
1990-12-21
|
7KB
|
180 lines
module min.obj
extrn MINWNDPROC
extrn LOADCURSOR
extrn LOADICON
extrn REGISTERCLASS
extrn CREATEWINDOW
extrn SHOWWINDOW
extrn GETMESSAGE
extrn TRANSLATEMESSAGE
extrn DISPATCHMESSAGE
extrn DEFWINDOWPROC
extrn POSTQUITMESSAGE
extrn _big_code_
segment CONST(DATA,00048H) (*segment length = 0001FH*)
$0:
db 04DH,049H,04EH,03AH,04DH,041H,049H,04EH
db 000H
$1:
db 068H,061H,06EH,064H,000H
$2:
db 073H,06EH,061H,070H,073H,068H,06FH,074H
db 000H
$3:
db 04DH,069H,06EH,069H,06DH,075H,06DH,000H
segment _DATA(DATA,00048H) (*segment length = 00000H*)
segment _BSS(BSS,00048H) (*segment length = 00002H*)
public PLOCALHEAP:
org 00002H
segment min_TEXT(CODE,00028H) (*segment length = 0012FH*)
public WINMAIN:
(*0000 1E*) push ds
(*0001 58*) pop ax
(*0002 90*) nop
(*0003 45*) inc bp
(*0004 55*) push bp
(*0005 89 E5*) mov bp,sp
(*0007 1E*) push ds
(*0008 8E D8*) mov ds,ax
(*000A 56*) push si
(*000B 83 EC 2C*) sub sp,2CH
(*000E 8B 76 0E*) mov si,[bp][0EH]
(*0011 83 7E 0C 00*) cmp word [bp][0CH],0
(*0015 75 5F*) jne $4
(*0017 8C 5E E8*) mov [bp][-18H],ds
(*001A C7 46 E6 00 00*) mov word [bp][-1AH],$0
(*001F 89 76 DA*) mov [bp][-26H],si
(*0022 C7 46 D4 00 00*) mov word [bp][-2CH],seg MINWNDPROC
(*0027 C7 46 D2 00 00*) mov word [bp][-2EH],MINWNDPROC
(*002C 56*) push si
(*002D 8C D8*) mov ax,ds
(*002F BA 09 00*) mov dx,$1
(*0032 50*) push ax
(*0033 52*) push dx
(*0034 9A 00 00 00 00*) call far LOADCURSOR
(*0039 89 46 DE*) mov [bp][-22H],ax
(*003C 56*) push si
(*003D 8C D8*) mov ax,ds
(*003F BA 0E 00*) mov dx,$2
(*0042 50*) push ax
(*0043 52*) push dx
(*0044 9A 00 00 00 00*) call far LOADICON
(*0049 89 46 DC*) mov [bp][-24H],ax
(*004C C7 46 E2 00 00*) mov word [bp][-1EH],0
(*0051 C7 46 E4 00 00*) mov word [bp][-1CH],0
(*0056 C7 46 E0 06 00*) mov word [bp][-20H],6
(*005B C7 46 D0 00 00*) mov word [bp][-30H],0
(*0060 C7 46 D6 00 00*) mov word [bp][-2AH],0
(*0065 C7 46 D8 00 00*) mov word [bp][-28H],0
(*006A 8C D0*) mov ax,ss
(*006C 8D 56 D0*) lea dx,[bp][-30H]
(*006F 50*) push ax
(*0070 52*) push dx
(*0071 9A 00 00 00 00*) call far REGISTERCLASS
$4:
(*0076 8C D8*) mov ax,ds
(*0078 BA 00 00*) mov dx,$0
(*007B 50*) push ax
(*007C 52*) push dx
(*007D 8C D8*) mov ax,ds
(*007F BA 17 00*) mov dx,$3
(*0082 50*) push ax
(*0083 52*) push dx
(*0084 B8 CF 00*) mov ax,0CFH
(*0087 50*) push ax
(*0088 31 C0*) xor ax,ax
(*008A 50*) push ax
(*008B B8 00 80*) mov ax,-8000H
(*008E 50*) push ax
(*008F 31 C0*) xor ax,ax
(*0091 50*) push ax
(*0092 B8 00 80*) mov ax,-8000H
(*0095 50*) push ax
(*0096 31 C0*) xor ax,ax
(*0098 50*) push ax
(*0099 31 C0*) xor ax,ax
(*009B 50*) push ax
(*009C 31 C0*) xor ax,ax
(*009E 50*) push ax
(*009F 56*) push si
(*00A0 31 C0*) xor ax,ax
(*00A2 50*) push ax
(*00A3 31 C0*) xor ax,ax
(*00A5 50*) push ax
(*00A6 9A 00 00 00 00*) call far CREATEWINDOW
(*00AB 50*) push ax
(*00AC FF 76 06*) push word [bp][6]
(*00AF 9A 00 00 00 00*) call far SHOWWINDOW
$5:
(*00B4 8C D0*) mov ax,ss
(*00B6 8D 56 EA*) lea dx,[bp][-16H]
(*00B9 50*) push ax
(*00BA 52*) push dx
(*00BB 31 C0*) xor ax,ax
(*00BD 50*) push ax
(*00BE 31 C0*) xor ax,ax
(*00C0 50*) push ax
(*00C1 31 C0*) xor ax,ax
(*00C3 50*) push ax
(*00C4 9A 00 00 00 00*) call far GETMESSAGE
(*00C9 85 C0*) test ax,ax
(*00CB 74 1A*) je $6
(*00CD 8C D0*) mov ax,ss
(*00CF 8D 56 EA*) lea dx,[bp][-16H]
(*00D2 50*) push ax
(*00D3 52*) push dx
(*00D4 9A 00 00 00 00*) call far TRANSLATEMESSAGE
(*00D9 8C D0*) mov ax,ss
(*00DB 8D 56 EA*) lea dx,[bp][-16H]
(*00DE 50*) push ax
(*00DF 52*) push dx
(*00E0 9A 00 00 00 00*) call far DISPATCHMESSAGE
(*00E5 EB CD*) jmp $5
$6:
(*00E7 31 C0*) xor ax,ax
(*00E9 8D 66 FC*) lea sp,[bp][-4]
(*00EC 5E*) pop si
(*00ED 1F*) pop ds
(*00EE 5D*) pop bp
(*00EF 4D*) dec bp
(*00F0 CA 0A 00*) ret far 0AH
public MINWNDPROC:
(*00F3 1E*) push ds
(*00F4 58*) pop ax
(*00F5 90*) nop
(*00F6 45*) inc bp
(*00F7 55*) push bp
(*00F8 89 E5*) mov bp,sp
(*00FA 1E*) push ds
(*00FB 8E D8*) mov ds,ax
(*00FD 8B 56 0C*) mov dx,[bp][0CH]
(*0100 89 D0*) mov ax,dx
(*0102 83 E8 02*) sub ax,2
(*0105 85 C0*) test ax,ax
(*0107 74 14*) je $7
(*0109 FF 76 0E*) push word [bp][0EH]
(*010C 52*) push dx
(*010D FF 76 0A*) push word [bp][0AH]
(*0110 FF 76 08*) push word [bp][8]
(*0113 FF 76 06*) push word [bp][6]
(*0116 9A 00 00 00 00*) call far DEFWINDOWPROC
(*011B EB 0C*) jmp $8
$7:
(*011D 31 C0*) xor ax,ax
(*011F 50*) push ax
(*0120 9A 00 00 00 00*) call far POSTQUITMESSAGE
(*0125 31 C0*) xor ax,ax
(*0127 31 D2*) xor dx,dx
$8:
(*0129 1F*) pop ds
(*012A 5D*) pop bp
(*012B 4D*) dec bp
(*012C CA 0A 00*) ret far 0AH
end