diff --git a/mach/i80/libem/aar2.s b/mach/i80/libem/aar2.s index 11207556..0453fa0a 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 9dba4b57..3d4271a9 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 eab8d846..59a0253c 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 d7786f88..0ff5b91c 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 64172b97..7d091da5 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 88166a2a..84c7c7d7 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 78c691ff..3e4c91d5 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 6ed460f8..6f0a4f03 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 74bc9cf8..9470481d 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 38be66f4..7813c8b3 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 0804ab48..50e0cc8c 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 8c112950..7498d98d 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 6dd1a4fd..a25806d0 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 0f173112..8a345b0f 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 45e8c1f1..404c8d12 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 22ff2e8e..c39b8758 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 f22f7abf..cd7793bc 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 bbe22486..82658ffb 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 46ce4757..6eebb870 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 94680597..64f71568 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 4a5d0aa1..eab29ddc 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 5f1bc5e9..4f4b700f 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 4a12accb..18a8d2ae 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 e897bbe7..c0d31484 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 62bc68a0..0bfc3265 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 8f4fcefd..de26f073 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 c0712422..83ac56cb 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 a1bde058..6e1694ed 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 ed6354f6..7cf0e9c4 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 df0242d9..3f47829e 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 482008c5..4ec1312f 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 f7745fd8..c8765d29 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 ec087cf6..b791aae9 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 fa93dfd3..011cd10f 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 5205c58c..e6edd589 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 7cd24186..bdaead57 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 143db954..011e5907 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.