]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/SCURPOS.ASM
4 title CP
/DOS VioSetCurPos mapper
6 vioxxx
segment byte public 'vio'
7 assume
cs:vioxxx
,ds:nothing
,es:nothing
,ss:nothing
9 ; ************************************************************************* *
11 ; * MODULE: viosetcurpos
13 ; * FILE NAME: scurpos.asm
17 ; * push word row value
18 ; * push word column value
19 ; * push word vio handle
23 ; * MODULES CALLED: BIOS Int 10h
25 ; *************************************************************************
33 error_bvs_parameter equ
0002h
38 handle dw ?
; vio handle
39 column dw ?
; column value
44 Enter viosetcurpos
; push registers
47 mov ax,[bp].row
; get column number
48 cmp al,25 ; compare with maximum size allowed
49 jg error
; branch if illegal size
50 mov dh,al ; load row in dh
52 mov ax,[bp].column
; get column number
53 cmp al,80 ; check for upper boundry
54 jg error
; branch if illegal size
55 mov dl,al ; load column in dl
57 mov ah,02 ; set BIOS function code
58 pushal
; Save registers in case int 10h
60 int 10h
; set cursor position
63 sub ax,ax ; set good return code
66 error: mov ax,error_bvs_parameter
; set error return code
67 exit: Mexit
; pop registers
68 ret size
str - 6 ; return