Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:15
CP/DOS VioSetCurPos mapper                                  Page     1-1


				;
				page 60,132
				;
				title CP/DOS VioSetCurPos mapper
				;
 0000				vioxxx  segment byte public 'vio'
				        assume  cs:vioxxx,ds:nothing,es:nothing,ss:nothing
				;
				; ************************************************************************* *
				; *
				; *      MODULE:  viosetcurpos
				; *
				; *      FILE NAME:  scurpos.asm
				; *
				; *      CALLING SEQUENCE:
				; *
				; *             push    word    row value
				; *             push    word    column value
				; *             push    word    vio handle
				; *             call    viosetcurpos
				; *
				; *
				; *      MODULES CALLED:  BIOS Int 10h
				; *
				; *************************************************************************
				
				        public  viosetcurpos
				        .sall
				        .list
				
 = 0002				error_bvs_parameter equ    0002h
				
				str     struc
 0000  0000			old_bp  dw      ?
 0002  00000000			return  dd      ?
 0006  0000			handle  dw      ?           ; vio handle
 0008  0000			column  dw      ?           ; column value
 000A  0000			row     dw      ?           ; row value
 000C				str     ends
				
 0000				viosetcurpos proc   far
				        Enter   viosetcurpos            ; push registers
				
 000C  B7 00			        mov     bh,0
 000E  8B 46 0A			        mov     ax,[bp].row             ; get column number
 0011  3C 19			        cmp     al,25                   ; compare with maximum size allowed
 0013  7F 26			        jg      error                   ; branch if illegal size
 0015  8A F0			        mov     dh,al                   ; load row in dh
				
 0017  8B 46 08			        mov     ax,[bp].column          ; get column number
 001A  3C 50			        cmp     al,80                   ; check for upper boundry
 001C  7F 1D			        jg      error                   ; branch if illegal size
 001E  8A D0			        mov     dl,al                   ; load column in dl
				
 0020  B4 02			        mov     ah,02                   ; set BIOS function  code
				        pushal                          ; Save registers in case int 10h
Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:15
CP/DOS VioSetCurPos mapper                                  Page     1-2


				                                        ;   messes them up
 002B  CD 10			        int     10h                     ; set cursor position
				        popal
				
 0036  2B C0			        sub     ax,ax                   ; set good return code
 0038  EB 04 90			        jmp     exit                    ; return
				
 003B  B8 0002			error:  mov     ax,error_bvs_parameter  ; set error return code
 003E				exit:   Mexit                           ; pop registers
 004A  CA 0006			        ret     size str - 6            ; return
				
 004D				viosetcurpos endp
 004D				vioxxx  ends
				        end

Microsoft (R) Macro Assembler Version 5.10                  5/16/24 23:40:15
CP/DOS VioSetCurPos mapper                                  Symbols-1


Macros:

		N a m e			Lines

ENTER  . . . . . . . . . . . . .  	   3
MEXIT  . . . . . . . . . . . . .  	   3
POPAL  . . . . . . . . . . . . .  	   9
PUSHAL . . . . . . . . . . . . .  	   9

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

STR  . . . . . . . . . . . . . .  	000C	0005
  OLD_BP . . . . . . . . . . . .  	0000
  RETURN . . . . . . . . . . . .  	0002
  HANDLE . . . . . . . . . . . .  	0006
  COLUMN . . . . . . . . . . . .  	0008
  ROW  . . . . . . . . . . . . .  	000A

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

VIOXXX . . . . . . . . . . . . .  	004D	BYTE	PUBLIC	'VIO'

Symbols:            

                N a m e         	Type	 Value	 Attr

ERROR  . . . . . . . . . . . . .  	L NEAR	003B	VIOXXX
ERROR_BVS_PARAMETER  . . . . . .  	NUMBER	0002	
EXIT . . . . . . . . . . . . . .  	L NEAR	003E	VIOXXX

viosetcurpos . . . . . . . . . .  	F PROC	0000	VIOXXX	Global	Length = 004D

@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  scurpos		
@VERSION . . . . . . . . . . . .  	TEXT  510		


    118 Source  Lines
    160 Total   Lines
     21 Symbols

  47526 + 282629 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
