diff --git a/mach/i80/libem/aar2.s b/mach/i80/libem/aar2.s index 112075560..0453fa0ae 100644 --- a/mach/i80/libem/aar2.s +++ b/mach/i80/libem/aar2.s @@ -1,4 +1,9 @@ .define .aar2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Load address of array element, decriptor contains 2-bytes integers ! Expects on stack: pointer to array descriptor diff --git a/mach/i80/libem/adi4.s b/mach/i80/libem/adi4.s index 9dba4b577..3d4271a9e 100644 --- a/mach/i80/libem/adi4.s +++ b/mach/i80/libem/adi4.s @@ -1,4 +1,9 @@ .define .adi4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Add two 32 bits signed or unsigned integers ! Expects on stack: operands diff --git a/mach/i80/libem/and.s b/mach/i80/libem/and.s index eab8d8463..59a0253c6 100644 --- a/mach/i80/libem/and.s +++ b/mach/i80/libem/and.s @@ -1,4 +1,9 @@ .define .and +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Any size logical-'and'. ! Expects: size in de-registers diff --git a/mach/i80/libem/blm.s b/mach/i80/libem/blm.s index d7786f889..0ff5b91cd 100644 --- a/mach/i80/libem/blm.s +++ b/mach/i80/libem/blm.s @@ -1,4 +1,9 @@ .define .blm +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Block move ! Expects in de-reg: size of block diff --git a/mach/i80/libem/cii.s b/mach/i80/libem/cii.s index 64172b977..7d091da5e 100644 --- a/mach/i80/libem/cii.s +++ b/mach/i80/libem/cii.s @@ -1,4 +1,9 @@ .define .cii +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Convert integer to integer ! Expects in a-reg: 1 for signed integer to signed integer (cii) diff --git a/mach/i80/libem/cmi4.s b/mach/i80/libem/cmi4.s index 88166a2ad..84c7c7d7f 100644 --- a/mach/i80/libem/cmi4.s +++ b/mach/i80/libem/cmi4.s @@ -1,4 +1,9 @@ .define .cmi4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Compare 32 bits integers ! Expects: operands on stack diff --git a/mach/i80/libem/cms.s b/mach/i80/libem/cms.s index 78c691ff1..3e4c91d52 100644 --- a/mach/i80/libem/cms.s +++ b/mach/i80/libem/cms.s @@ -1,4 +1,9 @@ .define .cms +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Any size compare ! Expects: size in de-registers diff --git a/mach/i80/libem/com.s b/mach/i80/libem/com.s index 6ed460f8a..6f0a4f036 100644 --- a/mach/i80/libem/com.s +++ b/mach/i80/libem/com.s @@ -1,4 +1,9 @@ .define .com +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Complement bytes on top of stack. ! Expects in de-registers: number of bytes diff --git a/mach/i80/libem/csa.s b/mach/i80/libem/csa.s index 74bc9cf86..9470481db 100644 --- a/mach/i80/libem/csa.s +++ b/mach/i80/libem/csa.s @@ -1,4 +1,9 @@ .define .csa +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Case jump ! Expects on stack: address of case descriptor diff --git a/mach/i80/libem/csb.s b/mach/i80/libem/csb.s index 38be66f4f..7813c8b3c 100644 --- a/mach/i80/libem/csb.s +++ b/mach/i80/libem/csb.s @@ -1,4 +1,9 @@ .define .csb +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Table lookup jump ! Expects on stack: address of case descriptor diff --git a/mach/i80/libem/dup.s b/mach/i80/libem/dup.s index 0804ab487..50e0cc8cd 100644 --- a/mach/i80/libem/dup.s +++ b/mach/i80/libem/dup.s @@ -1,4 +1,9 @@ .define .dup +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Duplicate top bytes of stack ! Expects in de-registers: number of bytes to duplicate diff --git a/mach/i80/libem/dvi2.s b/mach/i80/libem/dvi2.s index 8c112950b..7498d98d8 100644 --- a/mach/i80/libem/dvi2.s +++ b/mach/i80/libem/dvi2.s @@ -1,5 +1,10 @@ - .define .dvi2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text + ! 16 bits signed and unsigned integer divide and remainder routine ! Bit 0 of a-reg is set iff quotient has to be delivered diff --git a/mach/i80/libem/dvi4.s b/mach/i80/libem/dvi4.s index 6dd1a4fd5..a25806d06 100644 --- a/mach/i80/libem/dvi4.s +++ b/mach/i80/libem/dvi4.s @@ -1,4 +1,9 @@ .define .dvi4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! 32 bits integer divide and remainder routine ! Bit 0 of a-reg is set iff quotient has to be delivered diff --git a/mach/i80/libem/exg.s b/mach/i80/libem/exg.s index 0f173112a..8a345b0f6 100644 --- a/mach/i80/libem/exg.s +++ b/mach/i80/libem/exg.s @@ -1,4 +1,9 @@ .define .exg +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Exchange top bytes of stack ! Expects in de-registers the number of bytes to be exchanged. diff --git a/mach/i80/libem/flp.s b/mach/i80/libem/flp.s index 45e8c1f12..404c8d128 100644 --- a/mach/i80/libem/flp.s +++ b/mach/i80/libem/flp.s @@ -3,6 +3,11 @@ .define .zrf4,.zrf8 .define .cfi,.cif,.cuf,.cff,.cfu .define .cmf4,.cmf8 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Floating point is not implemented diff --git a/mach/i80/libem/inn.s b/mach/i80/libem/inn.s index 22ff2e8e4..c39b87582 100644 --- a/mach/i80/libem/inn.s +++ b/mach/i80/libem/inn.s @@ -1,4 +1,9 @@ .define .inn +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Any size bit test on set. ! Expects in de-reg: size of set (in bytes) diff --git a/mach/i80/libem/ior.s b/mach/i80/libem/ior.s index f22f7abfa..cd7793bc1 100644 --- a/mach/i80/libem/ior.s +++ b/mach/i80/libem/ior.s @@ -1,4 +1,9 @@ .define .ior +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Any size inclusive-or. diff --git a/mach/i80/libem/lar2.s b/mach/i80/libem/lar2.s index bbe224867..82658ffbe 100644 --- a/mach/i80/libem/lar2.s +++ b/mach/i80/libem/lar2.s @@ -1,4 +1,9 @@ .define .lar2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Load array element, descriptor contains 2-bytes integers ! Expects on stack: pointer to array descriptor diff --git a/mach/i80/libem/loi.s b/mach/i80/libem/loi.s index 46ce47576..6eebb8704 100644 --- a/mach/i80/libem/loi.s +++ b/mach/i80/libem/loi.s @@ -1,4 +1,9 @@ .define .loi +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Load indirect ! Expects in de-registers: number of bytes to be loaded diff --git a/mach/i80/libem/mli2.s b/mach/i80/libem/mli2.s index 94680597f..64f71568d 100644 --- a/mach/i80/libem/mli2.s +++ b/mach/i80/libem/mli2.s @@ -1,4 +1,9 @@ .define .mli2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! 16 bits signed integer multiply ! the algorithm multiples A * B, where A = A0*2^8 + A1 and B = B0*2^8 + B1 diff --git a/mach/i80/libem/mli4.s b/mach/i80/libem/mli4.s index 4a5d0aa1d..eab29ddcd 100644 --- a/mach/i80/libem/mli4.s +++ b/mach/i80/libem/mli4.s @@ -1,4 +1,9 @@ .define .mli4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! 32 bits signed and unsigned integer multiply routine ! Expects operands on stack diff --git a/mach/i80/libem/mlu2.s b/mach/i80/libem/mlu2.s index 5f1bc5e91..4f4b700f7 100644 --- a/mach/i80/libem/mlu2.s +++ b/mach/i80/libem/mlu2.s @@ -1,4 +1,9 @@ .define .mlu2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! 16 bits unsigned multiply routine ! Expects operands on stack diff --git a/mach/i80/libem/ngi4.s b/mach/i80/libem/ngi4.s index 4a12accb2..18a8d2aec 100644 --- a/mach/i80/libem/ngi4.s +++ b/mach/i80/libem/ngi4.s @@ -1,4 +1,9 @@ .define .ngi4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Exchange 32 bits integer by its two's complement ! Expects operand on stack diff --git a/mach/i80/libem/nop.s b/mach/i80/libem/nop.s index e897bbe7d..c0d314842 100644 --- a/mach/i80/libem/nop.s +++ b/mach/i80/libem/nop.s @@ -1,4 +1,9 @@ .define .nop +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text .nop: push b lhld hol0+4 diff --git a/mach/i80/libem/rck.s b/mach/i80/libem/rck.s index 62bc68a0d..0bfc3265e 100644 --- a/mach/i80/libem/rck.s +++ b/mach/i80/libem/rck.s @@ -1,4 +1,9 @@ .define .rck +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Range check ! Expects on stack: address of range check descriptor diff --git a/mach/i80/libem/rol4.s b/mach/i80/libem/rol4.s index 8f4fcefd4..de26f073f 100644 --- a/mach/i80/libem/rol4.s +++ b/mach/i80/libem/rol4.s @@ -1,4 +1,9 @@ .define .rol4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Rotate 4 bytes left ! Expects in de-reg: number of rotates diff --git a/mach/i80/libem/ror4.s b/mach/i80/libem/ror4.s index c0712422f..83ac56cbf 100644 --- a/mach/i80/libem/ror4.s +++ b/mach/i80/libem/ror4.s @@ -1,4 +1,9 @@ .define .ror4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Rotate 4 bytes right ! Expects in de-reg: number of rotates diff --git a/mach/i80/libem/sar2.s b/mach/i80/libem/sar2.s index a1bde058b..6e1694ed3 100644 --- a/mach/i80/libem/sar2.s +++ b/mach/i80/libem/sar2.s @@ -1,4 +1,9 @@ .define .sar2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Store array element, descriptor contains 2-bytes integers ! Expects on stack: pointer to array descriptor diff --git a/mach/i80/libem/sbi4.s b/mach/i80/libem/sbi4.s index ed6354f67..7cf0e9c44 100644 --- a/mach/i80/libem/sbi4.s +++ b/mach/i80/libem/sbi4.s @@ -1,4 +1,9 @@ .define .sbi4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Subtract two 32 bits signed or unsigned integers. ! Expects operands on stack diff --git a/mach/i80/libem/set.s b/mach/i80/libem/set.s index df0242d9f..3f47829e5 100644 --- a/mach/i80/libem/set.s +++ b/mach/i80/libem/set.s @@ -1,4 +1,9 @@ .define .set +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Create set with one bit on ! Expects in de-reg: size of set to be created diff --git a/mach/i80/libem/set2.s b/mach/i80/libem/set2.s index 482008c5a..4ec1312f2 100644 --- a/mach/i80/libem/set2.s +++ b/mach/i80/libem/set2.s @@ -1,4 +1,9 @@ .define .set2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Create 16 bits set with one bit on ! Expects in de-reg: bit number diff --git a/mach/i80/libem/sli2.s b/mach/i80/libem/sli2.s index f7745fd8d..c8765d29a 100644 --- a/mach/i80/libem/sli2.s +++ b/mach/i80/libem/sli2.s @@ -1,4 +1,9 @@ .define .sli2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Shift 16 bits integer left ! Expects on stack: number of shifts diff --git a/mach/i80/libem/sli4.s b/mach/i80/libem/sli4.s index ec087cf67..b791aae9b 100644 --- a/mach/i80/libem/sli4.s +++ b/mach/i80/libem/sli4.s @@ -1,4 +1,9 @@ .define .sli4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Shift 32 bits integer left ! Expects on stack: number of shifts diff --git a/mach/i80/libem/sri2.s b/mach/i80/libem/sri2.s index fa93dfd39..011cd10fc 100644 --- a/mach/i80/libem/sri2.s +++ b/mach/i80/libem/sri2.s @@ -1,4 +1,9 @@ .define .sri2 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Shift 16 bits signed or unsigned integer right ! Expects in a-reg.: 1 if signed integer diff --git a/mach/i80/libem/sri4.s b/mach/i80/libem/sri4.s index 5205c58cb..e6edd589a 100644 --- a/mach/i80/libem/sri4.s +++ b/mach/i80/libem/sri4.s @@ -1,4 +1,9 @@ .define .sri4 +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Shift 32 bits signed or unsigned integer right ! Expects in a-reg.: 1 if signed integer diff --git a/mach/i80/libem/sti.s b/mach/i80/libem/sti.s index 7cd241861..bdaead579 100644 --- a/mach/i80/libem/sti.s +++ b/mach/i80/libem/sti.s @@ -1,4 +1,9 @@ .define .sti +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Store indirect ! Expects on stack: number of bytes to be stored diff --git a/mach/i80/libem/xor.s b/mach/i80/libem/xor.s index 143db954c..011e59078 100644 --- a/mach/i80/libem/xor.s +++ b/mach/i80/libem/xor.s @@ -1,4 +1,9 @@ .define .xor +.sect .text +.sect .rom +.sect .data +.sect .bss +.sect .text ! Any size exclusive-or.