From d3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 20 Jan 2018 15:41:49 +0100 Subject: rearranged the dir for github - removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes --- tools/OS/Math.vm | 408 ------------------------------------------------------- 1 file changed, 408 deletions(-) delete mode 100644 tools/OS/Math.vm (limited to 'tools/OS/Math.vm') diff --git a/tools/OS/Math.vm b/tools/OS/Math.vm deleted file mode 100644 index b660688..0000000 --- a/tools/OS/Math.vm +++ /dev/null @@ -1,408 +0,0 @@ -function Math.init 1 -push constant 16 -call Array.new 1 -pop static 1 -push constant 16 -call Array.new 1 -pop static 0 -push constant 0 -push static 0 -add -push constant 1 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -label WHILE_EXP0 -push local 0 -push constant 15 -lt -not -if-goto WHILE_END0 -push local 0 -push constant 1 -add -pop local 0 -push local 0 -push static 0 -add -push local 0 -push constant 1 -sub -push static 0 -add -pop pointer 1 -push that 0 -push local 0 -push constant 1 -sub -push static 0 -add -pop pointer 1 -push that 0 -add -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -goto WHILE_EXP0 -label WHILE_END0 -push constant 0 -return -function Math.abs 0 -push argument 0 -push constant 0 -lt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push argument 0 -neg -pop argument 0 -label IF_FALSE0 -push argument 0 -return -function Math.multiply 5 -push argument 0 -push constant 0 -lt -push argument 1 -push constant 0 -gt -and -push argument 0 -push constant 0 -gt -push argument 1 -push constant 0 -lt -and -or -pop local 4 -push argument 0 -call Math.abs 1 -pop argument 0 -push argument 1 -call Math.abs 1 -pop argument 1 -push argument 0 -push argument 1 -lt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push argument 0 -pop local 1 -push argument 1 -pop argument 0 -push local 1 -pop argument 1 -label IF_FALSE0 -label WHILE_EXP0 -push local 2 -push constant 1 -sub -push argument 1 -push constant 1 -sub -lt -not -if-goto WHILE_END0 -push local 3 -push static 0 -add -pop pointer 1 -push that 0 -push argument 1 -and -push constant 0 -eq -not -if-goto IF_TRUE1 -goto IF_FALSE1 -label IF_TRUE1 -push local 0 -push argument 0 -add -pop local 0 -push local 2 -push local 3 -push static 0 -add -pop pointer 1 -push that 0 -add -pop local 2 -label IF_FALSE1 -push argument 0 -push argument 0 -add -pop argument 0 -push local 3 -push constant 1 -add -pop local 3 -goto WHILE_EXP0 -label WHILE_END0 -push local 4 -if-goto IF_TRUE2 -goto IF_FALSE2 -label IF_TRUE2 -push local 0 -neg -pop local 0 -label IF_FALSE2 -push local 0 -return -function Math.divide 4 -push argument 1 -push constant 0 -eq -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push constant 3 -call Sys.error 1 -pop temp 0 -label IF_FALSE0 -push argument 0 -push constant 0 -lt -push argument 1 -push constant 0 -gt -and -push argument 0 -push constant 0 -gt -push argument 1 -push constant 0 -lt -and -or -pop local 2 -push constant 0 -push static 1 -add -push argument 1 -call Math.abs 1 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push argument 0 -call Math.abs 1 -pop argument 0 -label WHILE_EXP0 -push local 0 -push constant 15 -lt -push local 3 -not -and -not -if-goto WHILE_END0 -push constant 32767 -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -push constant 1 -sub -sub -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -push constant 1 -sub -lt -pop local 3 -push local 3 -not -if-goto IF_TRUE1 -goto IF_FALSE1 -label IF_TRUE1 -push local 0 -push constant 1 -add -push static 1 -add -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -add -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push local 0 -push constant 1 -add -push static 1 -add -pop pointer 1 -push that 0 -push constant 1 -sub -push argument 0 -push constant 1 -sub -gt -pop local 3 -push local 3 -not -if-goto IF_TRUE2 -goto IF_FALSE2 -label IF_TRUE2 -push local 0 -push constant 1 -add -pop local 0 -label IF_FALSE2 -label IF_FALSE1 -goto WHILE_EXP0 -label WHILE_END0 -label WHILE_EXP1 -push local 0 -push constant 1 -neg -gt -not -if-goto WHILE_END1 -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -push constant 1 -sub -push argument 0 -push constant 1 -sub -gt -not -if-goto IF_TRUE3 -goto IF_FALSE3 -label IF_TRUE3 -push local 1 -push local 0 -push static 0 -add -pop pointer 1 -push that 0 -add -pop local 1 -push argument 0 -push local 0 -push static 1 -add -pop pointer 1 -push that 0 -sub -pop argument 0 -label IF_FALSE3 -push local 0 -push constant 1 -sub -pop local 0 -goto WHILE_EXP1 -label WHILE_END1 -push local 2 -if-goto IF_TRUE4 -goto IF_FALSE4 -label IF_TRUE4 -push local 1 -neg -pop local 1 -label IF_FALSE4 -push local 1 -return -function Math.sqrt 4 -push argument 0 -push constant 0 -lt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push constant 4 -call Sys.error 1 -pop temp 0 -label IF_FALSE0 -push constant 7 -pop local 0 -label WHILE_EXP0 -push local 0 -push constant 1 -neg -gt -not -if-goto WHILE_END0 -push local 3 -push local 0 -push static 0 -add -pop pointer 1 -push that 0 -add -pop local 1 -push local 1 -push local 1 -call Math.multiply 2 -pop local 2 -push local 2 -push argument 0 -gt -not -push local 2 -push constant 0 -lt -not -and -if-goto IF_TRUE1 -goto IF_FALSE1 -label IF_TRUE1 -push local 1 -pop local 3 -label IF_FALSE1 -push local 0 -push constant 1 -sub -pop local 0 -goto WHILE_EXP0 -label WHILE_END0 -push local 3 -return -function Math.max 0 -push argument 0 -push argument 1 -gt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push argument 0 -pop argument 1 -label IF_FALSE0 -push argument 1 -return -function Math.min 0 -push argument 0 -push argument 1 -lt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push argument 0 -pop argument 1 -label IF_FALSE0 -push argument 1 -return -- cgit v1.2.3