Subversion Repositories SvarDOS

Rev

Rev 350 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 350 Rev 353
Line 20... Line 20...
20
SIG4 dw 0x2019   ;  +6
20
SIG4 dw 0x2019   ;  +6
21
 
21
 
22
; environment segment - this is updated by SvarCOM at init time
22
; environment segment - this is updated by SvarCOM at init time
23
ENVSEG   dw 0    ;  +8
23
ENVSEG   dw 0    ;  +8
24
 
24
 
-
 
25
; exit code of last application
-
 
26
LEXCODE  dw 0    ; +0Ah
-
 
27
 
25
; input buffer used for the "previous command" history
28
; input buffer used for the "previous command" history
26
BUF000 db 128, 0 ; +0Ah
29
BUF000 db 128, 0 ; +0Ch
27
BUF064 db "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
30
BUF064 db "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
28
BUF128 db "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
31
BUF128 db "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
29
 
32
 
30
 
33
 
31
skipsig:         ; +8Ch
34
skipsig:         ; +8Eh
32
 
35
 
33
; set up CS=DS=SS and point SP to my private stack buffer
36
; set up CS=DS=SS and point SP to my private stack buffer
34
mov ax, cs
37
mov ax, cs
35
mov ds, ax
38
mov ds, ax
36
mov es, ax
39
mov es, ax
37
mov ss, ax
40
mov ss, ax
38
mov sp, STACKPTR
41
mov sp, STACKPTR
39
 
42
 
-
 
43
; collect the exit code of previous application
-
 
44
mov ah, 0x4D
-
 
45
int 0x21
-
 
46
xor ah, ah          ; clear out termination status, I only want the exit code
-
 
47
mov [LEXCODE], ax
-
 
48
 
40
; prepare the exec param block
49
; prepare the exec param block
41
mov ax, [ENVSEG]
50
mov ax, [ENVSEG]
42
mov [EXEC_PARAM_REC], ax
51
mov [EXEC_PARAM_REC], ax
43
mov ax, COMSPEC
52
mov ax, COMSPEC
44
mov [EXEC_PARAM_REC+2], ax
53
mov [EXEC_PARAM_REC+2], ax