+; void read_mouse_rel(int *xp, int *yp)
+ global read_mouse_rel_
+read_mouse_rel_:
+ pusha
+ mov esi, eax ; xp
+ mov edi, edx ; yp
+ mov ax, READREL
+ int 0x33
+ movsx eax, cx
+ mov [esi], eax
+ movsx eax, dx
+ mov [edi], eax
+ popa
+ ret
+
+ global _read_mouse_rel
+_read_mouse_rel:
+ push ebp
+ mov ebp, esp
+ push ebx
+ push esi
+ push edi
+ mov ax, READREL
+ int 0x33
+ mov ebx, [ebp + 8]
+ movsx eax, cx
+ mov [ebx], eax
+ mov ebx, [ebp + 12]
+ movsx eax, dx
+ mov [ebx], eax
+ pop edi
+ pop esi
+ pop ebx
+ pop ebp
+ ret
+