diff --git a/WEGA/contrib/lcc/lib/libc/u8k/gen/abs.s b/WEGA/contrib/lcc/lib/libc/u8k/gen/abs.s new file mode 100644 index 0000000..fd7a2bf --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/gen/abs.s @@ -0,0 +1,23 @@ +// Assembler program to implement the following C program +// int +// abs(arg) +// int arg; +// { +// return((arg < 0)? -arg: arg); +// } + + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_abs:: + { + ld r2,|_stkseg+4|(sp) + test r2 + ret pl + neg r2 + ret + }