From 58262eab40452b526302d8e8e607c46ae3dd20bd Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Fri, 6 Mar 2020 12:18:20 -0500 Subject: [PATCH] Move examples to libvm source base and add symlink to root directory Signed-off-by: Alek Ratzloff --- examples | 1 + {examples => src/libvm/examples}/deadbeef.asm | 19 +++++++++++++++++++ .../libvm/examples}/factorial.asm | 0 {examples => src/libvm/examples}/strings.asm | 0 4 files changed, 20 insertions(+) create mode 120000 examples rename {examples => src/libvm/examples}/deadbeef.asm (63%) rename {examples => src/libvm/examples}/factorial.asm (100%) rename {examples => src/libvm/examples}/strings.asm (100%) diff --git a/examples b/examples new file mode 120000 index 0000000..6a6bed1 --- /dev/null +++ b/examples @@ -0,0 +1 @@ +src/libvm/examples/ \ No newline at end of file diff --git a/examples/deadbeef.asm b/src/libvm/examples/deadbeef.asm similarity index 63% rename from examples/deadbeef.asm rename to src/libvm/examples/deadbeef.asm index 46e11ca..8f624ea 100644 --- a/examples/deadbeef.asm +++ b/src/libvm/examples/deadbeef.asm @@ -8,6 +8,8 @@ .section code $0x0 { main: + mov %ivt, ivt + or %flags, $0b100 mov %r0, $0xDEAD shl %r0, $16 ; move 32 bits at 'beef' to %r01 @@ -19,8 +21,25 @@ jnz end mov %status, $1 end: + div %r0, $0 halt .export main + +} + +.section iv $0x2800 { + dz: + mov %status, $255 + halt + + .export dz +} + +.section ivt $0x2000 .. $0x2800 { + ivt: + .interrupt $1, dz ; Divide by zero + + .export ivt } .meta { diff --git a/examples/factorial.asm b/src/libvm/examples/factorial.asm similarity index 100% rename from examples/factorial.asm rename to src/libvm/examples/factorial.asm diff --git a/examples/strings.asm b/src/libvm/examples/strings.asm similarity index 100% rename from examples/strings.asm rename to src/libvm/examples/strings.asm