home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BURKS 2
/
BURKS_AUG97.ISO
/
BURKS
/
SOFTWARE
/
LIBS
/
PMC101.ZIP
/
LIBSRC.ZIP
/
SRMSTUB.ASM
(
.txt
)
< prev
next >
Wrap
Assembly Source File
|
1994-06-29
|
4KB
|
195 lines
.386p
locals
_TEXT segment byte public use32 'CODE'
_TEXT ends
_DATA segment dword public use32 'DATA'
_DATA ends
_BSS segment dword public use32 'BSS'
_BSS ends
DGROUP group _DATA, _BSS
assume cs:_TEXT, ds:DGROUP
extrn _rs:dword
extrn __DATAseg:word
extrn _rmcpmnoregs:dword
extrn _rmcpminoregs:dword
public SETRMSTUB
_TEXT segment byte public use32 'CODE'
assume cs:_TEXT, ds:DGROUP
SETRMSTUB:
push esi edi
cld
mov edi,[esp+4+8+08h]
mov ax,__DATAseg
mov rm0,ax
mov esi,offset nr
lea edx,[edi+NROFF0]
mov ecx,NRLEN
test byte ptr [esp+4+8+00h],4
jz short @@00
mov esi,offset r
lea edx,[edi+ROFF0]
mov ecx,RLEN
@@00:
mov al,cl
shr ecx,2
and al,3
rep movsd
mov cl,al
rep movsb
mov al,0cfh
test byte ptr [esp+4+8+00h],2
jz short @@01
mov al,0cbh
@@01:
mov [edi-1],al
mov eax,[esp+4+8+04h]
mov [edx+2],eax
mov eax,_rmcpminoregs
test byte ptr [esp+4+8+00h],1
jz short @@02
mov eax,_rmcpmnoregs
@@02:
mov [edx+7],eax
pop edi esi
ret 0ch
_TEXT ends
_DATA segment dword public use32 'DATA'
nr db 66h,60h
db 1eh
db 06h
db 0fh,0a0h
db 0fh,0a8h
NROFF0 = $ - nr
db 66h,0bdh
dd 2beaddedh
db 9ah
dd 2beaddedh
db 0fh,0a9h
db 0fh,0a1h
db 07h
db 1fh
db 66h,61h
db 2bh
NRLEN = $ - nr
r db 1eh
db 68h
rm0 dw 2beah
db 1fh
db 66h,0ffh,36h
dw _rs+22h
db 66h,0ffh,36h
dw _rs+2eh
db 66h,0ffh,36h
dw _rs+26h
db 66h,87h,3eh
dw _rs+00h
db 66h,87h,36h
dw _rs+04h
db 66h,87h,2eh
dw _rs+08h
db 66h,87h,1eh
dw _rs+10h
db 66h,87h,16h
dw _rs+14h
db 66h,87h,0eh
dw _rs+18h
db 66h,87h,06h
dw _rs+1ch
db 66h,60h
db 9ch
db 58h
db 87h,06h
dw _rs+20h
db 50h
db 8bh,0ech
db 8dh,46h,30h
db 0a3h
dw _rs+2eh
db 8ch,16h
dw _rs+30h
db 8ch,2eh
dw _rs+28h
db 8ch,26h
dw _rs+26h
db 8bh,46h,2eh
db 0a3h
dw _rs+24h
db 8ch,06h
dw _rs+22h
ROFF0 = $ - r
db 66h,0bdh
dd 2beaddedh
db 9ah
dd 2beaddedh
db 8bh,0ech
db 58h
db 87h,06h
dw _rs+20h
db 50h
db 9dh
db 66h,8bh,46h,2ah
db 66h,87h,06h
dw _rs+22h
db 66h,89h,46h,2ah
db 66h,61h
db 66h,87h,3eh
dw _rs+00h
db 66h,87h,36h
dw _rs+04h
db 66h,87h,2eh
dw _rs+08h
db 66h,87h,1eh
dw _rs+10h
db 66h,87h,16h
dw _rs+14h
db 66h,87h,0eh
dw _rs+18h
db 66h,87h,06h
dw _rs+1ch
db 8eh,26h
dw _rs+26h
db 8eh,2eh
dw _rs+28h
db 66h,8fh,06h
dw _rs+26h
db 66h,8fh,06h
dw _rs+2eh
db 07h
db 1fh
db 66h,67h,8dh,64h,24h,02h
db 2bh
RLEN = $ - r
_DATA ends
end