* lib/arm-mes/arm.M1 (sub____$i8,%r0): New macro.
(sub____$i8,%r1): New macro.
* module/mescc/armv4/as.scm (armv4:call-label): Add comment.
(armv4:r-byte-mem-add): Subtract if value is negative.
(armv4:r-word-mem-add): Subtract if value is negative.
(armv4:local-ptr->r): Subtract if value is negative.
(armv4:r+value): Subtract if value is negative.
(armv4:r0+value): Subtract if value is negative.
* lib/arm-mes/arm.M1 (ldr____%r0,(%fp,+#$i8)): New macro.
(ldr____%r1,(%fp,+#$i8)): New macro.
(ldr____%r2,(%fp,+#$i8)): New macro.
(ldr____%r3,(%fp,+#$i8)): New macro.
(ldr____%r4,(%fp,+#$i8)): New macro.
(ldr____%r5,(%fp,+#$i8)): New macro.
(ldr____%r7,(%fp,+#$i8)): New macro.
(ldr____%fp,(%fp,+#$i8)): New macro.
(ldr____%sp,(%fp,+#$i8)): New macro.
(ldr____%r0,(%fp,-#$i8)): New macro.
(ldr____%r1,(%fp,-#$i8)): New macro.
(ldr____%r2,(%fp,-#$i8)): New macro.
(ldr____%r3,(%fp,-#$i8)): New macro.
(ldr____%r4,(%fp,-#$i8)): New macro.
(ldr____%r5,(%fp,-#$i8)): New macro.
(ldr____%r7,(%fp,-#$i8)): New macro.
(ldr____%fp,(%fp,-#$i8)): New macro.
(ldr____%sp,(%fp,-#$i8)): New macro.
(str____%r0,(%fp,+#$i8)): New macro.
(str____%r1,(%fp,+#$i8)): New macro.
(str____%r2,(%fp,+#$i8)): New macro.
(str____%r3,(%fp,+#$i8)): New macro.
(str____%r4,(%fp,+#$i8)): New macro.
(str____%r5,(%fp,+#$i8)): New macro.
(str____%r7,(%fp,+#$i8)): New macro.
(str____%fp,(%fp,+#$i8)): New macro.
(str____%sp,(%fp,+#$i8)): New macro.
(str____%r0,(%fp,-#$i8)): New macro.
(str____%r1,(%fp,-#$i8)): New macro.
(str____%r2,(%fp,-#$i8)): New macro.
(str____%r3,(%fp,-#$i8)): New macro.
(str____%r4,(%fp,-#$i8)): New macro.
(str____%r5,(%fp,-#$i8)): New macro.
(str____%r7,(%fp,-#$i8)): New macro.
(str____%fp,(%fp,-#$i8)): New macro.
(str____%sp,(%fp,-#$i8)): New macro.
(mov____%r0,0x8(%ebp)): Delete macro.
(mov____%r1,0x8(%ebp)): Delete macro.
(mov____%r2,0x8(%ebp)): Delete macro.
(mov____%r3,0x8(%ebp)): Delete macro.
(mov____%r4,0x8(%ebp)): Delete macro.
(mov____%r5,0x8(%ebp)): Delete macro.
(mov____%r7,0x8(%ebp)): Delete macro.
(mov____0x8(%ebp),%r0): Delete macro.
(mov____0x8(%ebp),%r1): Delete macro.
(mov____0x8(%ebp),%r2): Delete macro.
(mov____0x8(%ebp),%r3): Delete macro.
(mov____0x8(%ebp),%r4): Delete macro.
(mov____0x8(%ebp),%r5): Delete macro.
(mov____0x8(%ebp),%r7): Delete macro.
(mov____0x8(%ebp),%ebp): Delete macro.
(mov____0x8(%ebp),%esp): Delete macro.
* module/mescc/armv4/as.scm (armv4:local->r): Use them.
(armv4:r->local+n): Use them.
* lib/arm-mes/arm.M1 (mvn____%r0,$i8): New macro.
(mvn____%r1,$i8): New macro.
(mvn____%r7,$i8): New macro.
* module/mescc/armv4/as.scm (immediate->r0): Use it.
(armv4:value->r): Use it.
* include/linux/arm/syscall.h: New file.
* lib/arm-mes/arm.M1: New file.
* lib/arm-mes/elf-0footer.hex2: New file.
* lib/arm-mes/elf32-0header.hex2: New file.
* lib/arm-mes/elf32-body-exit-42.hex2: New file.
* lib/arm-mes/elf32-footer-single-main.hex2: New file.
* lib/arm-mes/elf32-header.hex2: New file.
* lib/arm-mes-mescc/exit-42.c: New file.
* lib/arm-mes-mescc/setjmp.c: New file.
* module/mescc/armv4/as.scm: New file.
* module/mescc/armv4/info.scm: New file.
* module/mescc/M1.scm (hex2:offset2): New procedure.
* module/mescc/mescc.scm: Include (mescc armv4 info).
(hex2:offset3): New procedure.
(info->M1): Use them.
* build-aux/build-guile.sh: Compile them.