.387 PUBLIC MXGETPIXEL PUBLIC MXPUTPIXEL EXTRN MX_CLIPX1:BYTE EXTRN MX_CLIPX2:BYTE EXTRN MX_CLIPY1:BYTE EXTRN MX_CLIPY2:BYTE EXTRN MX_VIDEOSEGMENT:BYTE EXTRN MX_BYTESPERLINE:BYTE MX_TEXT SEGMENT PARA PUBLIC USE16 'CODE' ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP MXGETPIXEL: push bp mov bp,sp sub sp,0 push ds push si xor ax,ax mov si,word ptr 8[bp] cmp si,word ptr cs:MX_CLIPX1 jl L$1 cmp si,word ptr cs:MX_CLIPX2 jg L$1 mov bx,word ptr 6[bp] cmp bx,word ptr cs:MX_CLIPY1 jl L$1 cmp bx,word ptr cs:MX_CLIPY2 jg L$1 mov al,4 mov ah,byte ptr 8[bp] and ah,3 mov dx,3ceH out dx,ax mov ds,word ptr cs:MX_VIDEOSEGMENT mov ax,bx mul word ptr cs:MX_BYTESPERLINE shr si,1 shr si,1 add si,ax mov al,byte ptr [si] xor ah,ah L$1: pop si pop ds mov sp,bp pop bp retf 4 MXPUTPIXEL: push bp mov bp,sp sub sp,0 push ds push si mov si,word ptr 0aH[bp] cmp si,word ptr cs:MX_CLIPX1 jl L$2 cmp si,word ptr cs:MX_CLIPX2 jg L$2 mov ax,word ptr 8[bp] cmp ax,word ptr cs:MX_CLIPY1 jl L$2 cmp ax,word ptr cs:MX_CLIPY2 jg L$2 mov ds,word ptr cs:MX_VIDEOSEGMENT mul word ptr cs:MX_BYTESPERLINE shr si,1 shr si,1 add si,ax mov cl,byte ptr 0aH[bp] and cl,3 mov ax,102H shl ah,cl mov dx,3c4H out dx,ax mov al,byte ptr 6[bp] mov byte ptr [si],al L$2: xor ax,ax pop si pop ds mov sp,bp pop bp retf 6 MX_TEXT ENDS END