Initial revision
authorceriel <none@none>
Wed, 28 Jan 1987 15:06:28 +0000 (15:06 +0000)
committerceriel <none@none>
Wed, 28 Jan 1987 15:06:28 +0000 (15:06 +0000)
mach/i80/libmon/compmodule [new file with mode: 0755]
mach/i80/libmon/head_em.s [new file with mode: 0644]

diff --git a/mach/i80/libmon/compmodule b/mach/i80/libmon/compmodule
new file mode 100755 (executable)
index 0000000..2e87032
--- /dev/null
@@ -0,0 +1,4 @@
+if i80 -c $1 1>&2
+then echo `basename $1 $2`.o
+else exit 1
+fi
diff --git a/mach/i80/libmon/head_em.s b/mach/i80/libmon/head_em.s
new file mode 100644 (file)
index 0000000..b4b3b2d
--- /dev/null
@@ -0,0 +1,53 @@
+.define hol0, argv, envp, begbss
+.define .ignmask,.reghp,.trapproc,.fra
+.define .retadr,.retadr1,.areg,.bcreg,.tmp1
+.define block1, block2, block3
+.define .stop
+.sect .text
+.sect .rom
+.sect .data
+.sect .bss
+.sect .text
+
+.sect .text
+       lxi h,0x1000            ! stack will grow from 0x1000 downwards
+       sphl
+       lxi h,begbss            ! clear bss
+       lxi d,endbss-begbss
+       mvi c,0
+
+2:     mov m,c
+       inx h
+       dcx d
+       mov a,e
+       ora d
+       jnz 2b
+
+       lxi h,envp              ! call main
+       push h
+       lxi h,argv
+       push h
+       lxi h,0
+       push h
+       call _m_a_i_n
+.stop: jmp 0xfb52
+       
+.sect .bss
+begbss:
+.trapproc:     .space  2
+.ignmask:      .space  2
+.sect .data
+hol0:          .space  8
+.reghp:                .data2  endbss
+argv:          .data2  0
+envp:          .data2  0
+.retadr:       .space  2               ! used to save return address
+.retadr1:      .space  2               ! reserve
+.bcreg:                .space  2               ! used to save localbase
+.areg:         .space  1
+.tmp1:         .space  2
+.fra:          .space  8               ! 8 bytes function return area
+block1:                .space  4               ! used by 32 bits divide and
+block2:                .space  4               ! multiply routines
+block3:                .space  4
+