diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-09-01 09:39:36 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-09-01 09:39:36 -0700 |
commit | ea7f869856a614d14de31c680c8dd290de1cc113 (patch) | |
tree | 6cbbf70db886032a807bcc9e64d27412fbbe9cc3 /subx/examples/ex1.2.subx | |
parent | a413105a5dc4741ccd1c364cc82609d2aa25f6c5 (diff) | |
download | mu-ea7f869856a614d14de31c680c8dd290de1cc113.tar.gz |
4529 - move examples to a sub-directory
Diffstat (limited to 'subx/examples/ex1.2.subx')
-rw-r--r-- | subx/examples/ex1.2.subx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/subx/examples/ex1.2.subx b/subx/examples/ex1.2.subx new file mode 100644 index 00000000..2652037a --- /dev/null +++ b/subx/examples/ex1.2.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 + +== 0x08048054 # code segment, after leaving room for ELF header +# 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 # int 80h + +# vim:ft=subx |