From b515f3b70417c502991e3c6443badf32cded6a20 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 30 Sep 2018 20:59:21 -0700 Subject: 4622 When I started SubX I imagined that being able to write machine code directly was a feature. Now it's just a hole I haven't bothered closing yet. --- subx/examples/ex1.1.subx | 20 -------------------- subx/examples/ex1.2.subx | 20 -------------------- subx/examples/ex1.subx | 20 ++++++++++++++++++++ 3 files changed, 20 insertions(+), 40 deletions(-) delete mode 100644 subx/examples/ex1.1.subx delete mode 100644 subx/examples/ex1.2.subx create mode 100644 subx/examples/ex1.subx (limited to 'subx/examples') diff --git a/subx/examples/ex1.1.subx b/subx/examples/ex1.1.subx deleted file mode 100644 index 56b54a10..00000000 --- a/subx/examples/ex1.1.subx +++ /dev/null @@ -1,20 +0,0 @@ -## first program: same as https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html -# Just return 42. -# -# To run: -# $ subx translate ex1.1.subx ex1 -# $ subx run ex1 -# Expected result: -# $ echo $? -# 42 - -== code -# opcode ModR/M SIB displacement immediate -# instruction mod, reg, Reg/Mem bits scale, index, base -# 1-3 bytes 0/1 byte 0/1 byte 0/1/2/4 bytes 0/1/2/4 bytes - bb 2a 00 00 00 # copy 0x2a (42) to EBX - # exit(EBX) - b8 01 00 00 00 # copy 1 to EAX - cd 80 # int 80h - -# vim:ft=subx diff --git a/subx/examples/ex1.2.subx b/subx/examples/ex1.2.subx deleted file mode 100644 index a355ef6b..00000000 --- a/subx/examples/ex1.2.subx +++ /dev/null @@ -1,20 +0,0 @@ -## first program: same as https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html -# Just return 42. -# -# To run: -# $ subx translate ex1.2.subx ex1 -# $ subx run ex1 -# Expected result: -# $ echo $? -# 42 - -== code -# instruction effective address operand displacement immediate -# op subop mod rm32 base index scale r32 -# 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes - bb/copy 2a/imm32 # copy 42 to EBX - # exit(EBX) - b8/copy 1/imm32 # copy 1 to EAX - cd/syscall 0x80/imm8 - -# vim:ft=subx diff --git a/subx/examples/ex1.subx b/subx/examples/ex1.subx new file mode 100644 index 00000000..a355ef6b --- /dev/null +++ b/subx/examples/ex1.subx @@ -0,0 +1,20 @@ +## first program: same as https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html +# Just return 42. +# +# To run: +# $ subx translate ex1.2.subx ex1 +# $ subx run ex1 +# Expected result: +# $ echo $? +# 42 + +== code +# instruction effective address operand displacement immediate +# op subop mod rm32 base index scale r32 +# 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes + bb/copy 2a/imm32 # copy 42 to EBX + # exit(EBX) + b8/copy 1/imm32 # copy 1 to EAX + cd/syscall 0x80/imm8 + +# vim:ft=subx -- cgit 1.4.1-2-gfad0