From bf0ee1f16c0c2efdcb4c05b4cfd302d9a39bcb8e Mon Sep 17 00:00:00 2001 From: ceriel Date: Fri, 16 Oct 1987 17:57:09 +0000 Subject: [PATCH] some fixes --- mach/mantra/int/mloop0 | 5 ++++- mach/mantra/int/mloop9 | 6 ++++-- mach/mantra/int/mloopa | 5 +++-- mach/mantra/int/mloopb | 6 ++++-- mach/mantra/int/mloopc | 3 +-- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/mach/mantra/int/mloop0 b/mach/mantra/int/mloop0 index 9577cfecd..d5cec5fb7 100644 --- a/mach/mantra/int/mloop0 +++ b/mach/mantra/int/mloop0 @@ -23,7 +23,10 @@ !--------------------------------------------------------------------------- _m_a_i_n: - move.l sp,topstack + move.l sp,d0 + add.l #0x10000,d0 ! rough guess. What is the + ! real top ??? + move.l d0,topstack tst.l (sp)+ lea retarea,a5 !a5 POINTS AT RETURN AREA move.l nd,-(sp) !nd contains endbss diff --git a/mach/mantra/int/mloop9 b/mach/mantra/int/mloop9 index c0ee927c9..70bbc529b 100644 --- a/mach/mantra/int/mloop9 +++ b/mach/mantra/int/mloop9 @@ -152,8 +152,10 @@ gto_l: move.l d6,a0 ; move.b (a3)+,-(sp) move.l (a0),a2 jmp (a4) -lim_z: move.w ignmask,-(sp) ; jmp (a4) -sim_z: move.w (sp)+,ignmask ; jmp (a4) +lim_z: clr.l d0; move.w ignmask, d0 + mov d0,-(sp) ; jmp (a4) +sim_z: clr.l d0; mov (sp)+, d0 + move.w d0,ignmask ; jmp (a4) .sect .bss ignmask: .space 2 diff --git a/mach/mantra/int/mloopa b/mach/mantra/int/mloopa index 38ea8d800..725e9c92e 100644 --- a/mach/mantra/int/mloopa +++ b/mach/mantra/int/mloopa @@ -259,12 +259,13 @@ lhalt: bsr _Xwrite add.l wrd+4,sp bra 9f -2: move.l #7,-(sp) !announce new file name +2: move.l a1,-(sp) + move.l #7,-(sp) !announce new file name pea mess2 mov d6,-(sp) bsr _Xwrite add.l wrd+4,sp - lea lasttable,a1 + move.l (sp)+,a1 move.l (a1),d7 move.l d7,a0 !keep file pointer in d7 clr.l (a1)+ !this will stop the printing diff --git a/mach/mantra/int/mloopb b/mach/mantra/int/mloopb index 9a04e3411..80c66717a 100644 --- a/mach/mantra/int/mloopb +++ b/mach/mantra/int/mloopb @@ -15,11 +15,13 @@ _sigtrp: move.l (sp)+,d2 !save return address move.l d4,a0 add.l a0,a0 add.l a0,a0 - lea sig_trp-4(a0),a1 + move.l #sig_trp-4,a1 + add.l a0,a1 move.l (a1),d2 !previous trap number in d2 comp #256,d1 !-2 and -1 special bcc 1f - move.l sig_adr-4(a0),d3 !Get the pointer to the trap- + move.l #sig_adr-4,d3 + add.l a0,d3 !Get the pointer to the trap- bne 2f !procedure to give as argument to sig_bad: mov 22,-(sp) !_Xsignal. If pointer 0 trapping is mov 22,-(sp) !not legal diff --git a/mach/mantra/int/mloopc b/mach/mantra/int/mloopc index 01391d47c..47b7f4b15 100644 --- a/mach/mantra/int/mloopc +++ b/mach/mantra/int/mloopc @@ -342,9 +342,8 @@ _Xsignal: move.l (sp)+,.retaddr mov (sp)+,d4 extend d4 move.l d4,-(sp) - move.l .retaddr,-(sp) jsr _signal - lea 12(sp),sp !remove arguments + lea 8(sp),sp !remove arguments cmp.l #-1,d0 bne 1f move.l _errno,d0 -- 2.34.1