*** empty log message ***
This commit is contained in:
parent
d0444e3a04
commit
112211eb3b
1 changed files with 75 additions and 0 deletions
75
mach/i86/libsys/head_em.s
Normal file
75
mach/i86/libsys/head_em.s
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
.define begtext,begdata,begbss
|
||||||
|
.define hol0,.reghp,.limhp,.trppc,.ignmask
|
||||||
|
.define ERANGE,ESET,EHEAP,ECASE,EILLINS
|
||||||
|
|
||||||
|
ERANGE = 1
|
||||||
|
ESET = 2
|
||||||
|
EIDIVZ = 6
|
||||||
|
EHEAP = 17
|
||||||
|
EILLINS = 18
|
||||||
|
EODDZ = 19
|
||||||
|
ECASE = 20
|
||||||
|
|
||||||
|
base = 0x01C0
|
||||||
|
topmem = 0xFFF0
|
||||||
|
|
||||||
|
.org topmem-16
|
||||||
|
.extern __n_line
|
||||||
|
maxmem:
|
||||||
|
__n_line:
|
||||||
|
.space 16
|
||||||
|
.errnz __n_line-0xFFE0
|
||||||
|
|
||||||
|
.base base
|
||||||
|
|
||||||
|
.text
|
||||||
|
begtext:
|
||||||
|
cld
|
||||||
|
xor ax,ax
|
||||||
|
mov ss,ax
|
||||||
|
mov ds,ax
|
||||||
|
mov es,ax
|
||||||
|
mov (2),cs
|
||||||
|
mov (0),.diverr
|
||||||
|
mov sp,maxmem
|
||||||
|
mov di,begbss
|
||||||
|
mov cx,[[endbss-begbss]/2]&0x7FFF
|
||||||
|
! xor ax,ax ! ax still is 0
|
||||||
|
rep stos
|
||||||
|
mov ax,envp
|
||||||
|
push ax
|
||||||
|
mov ax,argv
|
||||||
|
push ax
|
||||||
|
mov ax,1
|
||||||
|
push ax
|
||||||
|
call _m_a_i_n
|
||||||
|
call .stop
|
||||||
|
.diverr:
|
||||||
|
push ax
|
||||||
|
mov ax,EIDIVZ
|
||||||
|
call .error
|
||||||
|
pop ax
|
||||||
|
iret
|
||||||
|
|
||||||
|
.data
|
||||||
|
begdata:
|
||||||
|
hol0:
|
||||||
|
.word 0,0
|
||||||
|
.word 0,0
|
||||||
|
argv:
|
||||||
|
.word 3f
|
||||||
|
envp:
|
||||||
|
.word 0
|
||||||
|
3:
|
||||||
|
.asciz "PROGRAM"
|
||||||
|
.reghp:
|
||||||
|
.word endbss
|
||||||
|
.limhp:
|
||||||
|
.word endbss
|
||||||
|
.ignmask:
|
||||||
|
.word 0
|
||||||
|
.trppc:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
.bss
|
||||||
|
begbss:
|
Loading…
Reference in a new issue