xchg-rax-rax
3 years agoxchg.S: More exercises. master
Mark Wooding [Mon, 19 Oct 2020 18:02:48 +0000 (19:02 +0100)]
xchg.S: More exercises.

3 years agoMakefile: Use single-colon `all' rule.
Mark Wooding [Mon, 19 Oct 2020 18:00:48 +0000 (19:00 +0100)]
Makefile: Use single-colon `all' rule.

Later GNU Make for some reason runs double-colon rule pieces
sequentially.

3 years agoxchg.S: Another couple of (easy) exercises.
Mark Wooding [Mon, 19 Oct 2020 04:35:37 +0000 (05:35 +0100)]
xchg.S: Another couple of (easy) exercises.

3 years agoSet and dump (almost) all of the ARM64 general registers.
Mark Wooding [Mon, 19 Oct 2020 04:34:05 +0000 (05:34 +0100)]
Set and dump (almost) all of the ARM64 general registers.

Omitting only: x18 (platform register), x30 (link register, needed for
procedure linkage), and x31 (stack pointer/zero register).

3 years agoxchg.S: Maintain correct sp alignment in ARM64 `call_example'.
Mark Wooding [Mon, 19 Oct 2020 04:31:14 +0000 (05:31 +0100)]
xchg.S: Maintain correct sp alignment in ARM64 `call_example'.

3 years agoxchg.S: Add missing `ret' in ARM64 version of `call_example'.
Mark Wooding [Mon, 19 Oct 2020 04:29:35 +0000 (05:29 +0100)]
xchg.S: Add missing `ret' in ARM64 version of `call_example'.

Actually it falls through into `nop', but that's kind of accidental.

3 years agoMultiple architectures, more solutions.
Mark Wooding [Mon, 19 Oct 2020 03:21:35 +0000 (04:21 +0100)]
Multiple architectures, more solutions.

3 years ago.gitignore: We should have one of these.
Mark Wooding [Tue, 13 Oct 2020 18:55:08 +0000 (19:55 +0100)]
.gitignore: We should have one of these.

3 years agoxchg.S: Oops. Disable stray debugging cruft.
Mark Wooding [Tue, 13 Oct 2020 18:54:00 +0000 (19:54 +0100)]
xchg.S: Oops.  Disable stray debugging cruft.

3 years agoInitial version. AMD64 only, and only as far as 0x16.
Mark Wooding [Tue, 13 Oct 2020 18:49:43 +0000 (19:49 +0100)]
Initial version.  AMD64 only, and only as far as 0x16.