summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/SVERIFY.ASM
blob: 97495edfd20a4751cfd3abc9424fcb074a4e17a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
page 80,132

title CP/DOS DosSetVerify mapper

dosxxx  segment byte public 'dos'
        assume  cs:dosxxx,ds:nothing,es:nothing,ss:nothing

;**********************************************************************
;*
;*   MODULE:   dossetverify       Set new verify switch value
;*
;*   FILE NAME: dos054.asm
;*
;*   CALLING SEQUENCE:
;*
;*       push      word     verify setting
;*       call      dossetverify
;*
;*   MODULES CALLED:  PC-DOS Int 21h, ah=2eh, get verify setting
;*
;*********************************************************************

            public   dossetverify
            .sall
            .xlist
            include  macros.inc
            .list

error_code  equ      0002h

str         struc
old_bp      dw       ?
return      dd       ?
verify      dw       ?      ; new verify settings value
str         ends

dossetverify proc    far
            Enter    dossetverify          ; push registers

            mov      ax,[bp].verify        ; check request
            cmp      al,1                  ; for validity
            jg       error

            mov      ah,2eh                ; setup new verify value
            int      21h

            sub      ax,ax                 ; set good return code
            jmp      short exit            ; return

error:      mov      ax,error_code         ; set error return code

exit:       Mexit                          ; pop registers
            ret      size str - 6          ; return

dossetverify endp

dosxxx      ends

            end