knight-posix is now fully supported

This commit is contained in:
Jeremiah Orians 2019-03-09 15:25:29 -05:00
parent f01f805803
commit d5d64bb254
No known key found for this signature in database
GPG Key ID: 5410E91C14959E87
6 changed files with 44 additions and 36 deletions

View File

@ -26,7 +26,7 @@ Added support for octal and binary numbers
Added support for \0
Added support for GET_MACHINE_FLAGS in tests
Added --architecture flag
Added 23/24 working tests for knight-posix
Added 24/24 working tests for knight-posix
Added working HEAP/malloc to knight-posix
** Changed

View File

@ -169,9 +169,9 @@ void function_call(char* s, int bool)
if(KNIGHT_POSIX == Architecture)
{
emit_out("MOVE R14 R13\n");
emit_out("CALLI R15 @FUNCTION_");
emit_out("LOADR R0 4\nJUMP 4\n&FUNCTION_");
emit_out(s);
emit_out("\n");
emit_out("\nCALL R0 R15\n");
}
else if(X86 == Architecture)
{
@ -237,7 +237,7 @@ void function_load(struct token_list* a)
return;
}
if(KNIGHT_POSIX == Architecture) emit_out("LOADUI R0 $FUNCTION_");
if(KNIGHT_POSIX == Architecture) emit_out("LOADR R0 4\nJUMP 4\n&FUNCTION_");
else if(X86 == Architecture) emit_out("LOAD_IMMEDIATE_eax &FUNCTION_");
emit_out(a->s);
emit_out("\n");
@ -246,7 +246,7 @@ void function_load(struct token_list* a)
void global_load(struct token_list* a)
{
current_target = a->type;
if(KNIGHT_POSIX == Architecture) emit_out("LOADUI R0 $GLOBAL_");
if(KNIGHT_POSIX == Architecture) emit_out("LOADR R0 4\nJUMP 4\n&GLOBAL_");
else if(X86 == Architecture) emit_out("LOAD_IMMEDIATE_eax &GLOBAL_");
emit_out(a->s);
emit_out("\n");
@ -280,7 +280,7 @@ void primary_expr_string()
{
char* number_string = numerate_number(current_count);
current_count = current_count + 1;
if(KNIGHT_POSIX == Architecture) emit_out("LOADUI R0 $STRING_");
if(KNIGHT_POSIX == Architecture) emit_out("LOADR R0 4\nJUMP 4\n&STRING_");
else if(X86 == Architecture) emit_out("LOAD_IMMEDIATE_eax &STRING_");
uniqueID_out(function->s, number_string);

View File

@ -88,6 +88,7 @@ test: test00-knight-posix-binary \
test23-knight-posix-binary \
test24-knight-posix-binary \
test99-knight-posix-binary \
test100-knight-posix-binary \
test00-x86-binary \
test01-x86-binary \
test02-x86-binary \
@ -195,6 +196,9 @@ test24-knight-posix-binary: M2-Planet | results
test99-knight-posix-binary: M2-Planet | results
test/test99/hello-knight-posix.sh
test100-knight-posix-binary: M2-Planet | results
test/test100/hello-knight-posix.sh
test00-x86-binary: M2-Planet | results
test/test00/hello-x86.sh

View File

@ -24,11 +24,14 @@
SUBI R14 R15 16 ; Set our base pointer
;; Perform the main loop
CALLI R15 @FUNCTION_main
LOADR R0 4
JUMP 4
&FUNCTION_main
CALL R0 R15
;; Exit to kernel
EXIT ; Return what is in R0
;; Our default heap pointer
:HEAP
'00080000'
'00100000'

View File

@ -1,53 +1,54 @@
ecb6e61a22a91dbb16dd38c39d4e96e0fe2fe08618870e73de952eba8407fde8 test/results/test00-knight-posix-binary
64879eebceb475f21e54cb1f2e872996ca80e8c1fbb8b5895fb5fb6bac0c4384 test/results/test00-knight-posix-binary
c52562bd0aabb86ce8ca177f22f8d0455769b444df2d4d62894faab63b7151d8 test/results/test00-x86-binary
f9cd9d4163191ff823470ad9326d4781c9326df2ec30f67f3c4969b7ebd204d7 test/results/test01-knight-posix-binary
486ee05ccea796a9cfa9bfb23189b8e014b7ce8d14fea03b27d679d410fe17dd test/results/test01-knight-posix-binary
eae96857f2b6d8e8ba86ac06e72345ea572622b358b23978bb5f2db1baadf41c test/results/test01-x86-binary
c44f7bf03b04597407d7799240621cd2f8ab4c7f493d9b387457b9bcab474abe test/results/test02-knight-posix-binary
e6493845b9e94a617649638252f23502f9212de583fd00cba6cc07fffd296e32 test/results/test02-knight-posix-binary
8ead336d2f3f72d5874230492e0472edec61d355905e8636e3dfb2731695037c test/results/test02-x86-binary
029d1612a23dca14be326f1e59b799d7bb32146f93d429b3fe562485ef9d3e2b test/results/test03-knight-posix-binary
96849d5a9294799a9648c24db21b2dab1555dd5ba69d172d77df800622347226 test/results/test03-knight-posix-binary
2313cb3f1a2b9eb6bf15f8d43418e15d6c16f7f1b5c22700fdfc2b38beb59192 test/results/test03-x86-binary
34a3ab7245eb2b8b7d9ecb5c70910aab35f0251d92c83808d7bd351fcf3a1b53 test/results/test04-knight-posix-binary
df9ba08dfa69ac6cbb4483146dbbe079ef575d7de8318e2e52283151ebf24bd3 test/results/test04-knight-posix-binary
b7ddb37063c541c6a315809c4438aa235d6702f54bb64f4ffc88dbe78617de81 test/results/test04-x86-binary
37fc203ef5cceeb990269cc9f1b2fc2048242d602c5e602c70085cf083695ba5 test/results/test05-knight-posix-binary
5db3a2fbd84150dae41e1c778f2822d053a0539cbdf59bba56e5514222f46674 test/results/test05-knight-posix-binary
b5b76320ccda887a30b0bbefc2a5c302c8f2aa3c398d92ef3a79526690b25d6f test/results/test05-x86-binary
848c3a38b388ca6ac5365d479a4a2e38db66e352d325744a867883de3ef2b56b test/results/test06-knight-posix-binary
b177d769ae44c3509d9a08d0ee631ec69654dc5d723408bf0decdc67c42aae27 test/results/test06-knight-posix-binary
663fc6eefe965f237b6bf5a211398c8ae1210f97ff39b59603677e92462c68c7 test/results/test06-x86-binary
e2fd7b3828464283bd4047bc7b1fc0c293536901c8163f1ebabce5e7edc9cab3 test/results/test07-knight-posix-binary
9159c4ba8196b24ec78bc9ebfbc7066d510ddbf03461736e7795a48634134dc5 test/results/test07-knight-posix-binary
a9a3e332d13ded5f80d7431f8717f26527b3722b33ea57760a9a5723dffc099c test/results/test07-x86-binary
1846f5dc1b565f9193551b75539bfd15648e569ad3030ac349c5ff6a477fd2e5 test/results/test08-knight-posix-binary
b824859fd0e39f1417742a1b9a1cec18ade78afdd80ce2c64cb54cdf7683f53a test/results/test08-knight-posix-binary
f1c01feb865c4d552033186d9ce50dd39468a7e8aebf762886c13ad3e03b5011 test/results/test08-x86-binary
8d3a62bbec7b97712bf762279eca9a4cac19bc36856cf8bc2e71cfc4dae64c23 test/results/test09-knight-posix-binary
0feaacc13ad24c2b513fd9d46a58c38b1af57e77275c9a148cafb4a0d3cc7b7a test/results/test09-knight-posix-binary
3b39e72f3de90ed690adfaf6145af46157cef2ec5e72867ac577fa27a0229894 test/results/test09-x86-binary
4002710fb3ae948391cb9ad07615569ad66c9b3c725da50c9fbb213ca2ad365e test/results/test10-knight-posix-binary
c1b5a2a3cd46c5e95e5540e871c2a916e028684ca80f51c001ef489342e27625 test/results/test10-knight-posix-binary
020e86020819cc4963e6185b22e534fcf8306b6cb116f12643f254a24688ff0a test/results/test10-x86-binary
cfc679289c923122f70105359c458fc9c37223040f646402ba5596781f1b5392 test/results/test100-x86-binary
00e90d3873786cbd98ebf53e4497af74c3a5893a9155d101f01965b732c9fa73 test/results/test11-knight-posix-binary
36cff3352e2261db8d60ae939080c58407f86fea53e981e3dca786f129d25c27 test/results/test100-knight-posix-binary
81ac81971a4ad4bcc3c6e469c03472e5dca9d4cef8b110d76ca13cf7576a6ec1 test/results/test100-x86-binary
63fd5fbf389d1b19031026df193ec55e98d923b8568007125b80bc246c094496 test/results/test11-knight-posix-binary
3fd11bad4a426ce1ff8fd9c6d7d2b943effae9f3f5740b7376e426e9b0555851 test/results/test11-x86-binary
95d2b26308e9990770d051ab6329ff0271225de56bf48683dfc44ab819e93fb7 test/results/test12-knight-posix-binary
313536f9209d29d4c3b40f6ada898f81c1fb3b650ca1a84754f90b1db3b9e001 test/results/test12-knight-posix-binary
f98ab8e4bb35580e0dde96126d7a56aff66bda208d02c8d89390b40d6cff591c test/results/test12-x86-binary
396f41af4f2c7a1b5609bd14bafd22a97fb01bf1e617212cabfc2de80efa1ed2 test/results/test13-knight-posix-binary
e50c97ba330823cb5cbe938bb9d1575340b083e60fc42db8edefcfd95851daa2 test/results/test13-knight-posix-binary
5051ffca2615144419f8ec1a5d4999486ae81e7781428f59e47e866af97cef92 test/results/test13-x86-binary
ac5d4a515eaaa9613e680660dff1d1431e3bcf8364705733f937eead57cba3a2 test/results/test14-knight-posix-binary
156fa1e6b5814da94a542dfe742f77e155d52724b34f75f3513b9e8f6f2503dd test/results/test14-knight-posix-binary
a8218958b628066e2fda63d3933f1bf607c358d7bdfe84fc02596393698ea5f6 test/results/test14-x86-binary
fd2089fb70f04263db1c77850f01451ac62277fcf43396a26d77ab12f62778eb test/results/test15-knight-posix-binary
9f7c81e278248a3160d80a3f5ca0c39a5505ca9b45adc002e9b527db3e5f084a test/results/test15-knight-posix-binary
3adb4a5f3995583ba711151361728a26c3fbf0140864d13b4b042978ca45d683 test/results/test15-x86-binary
9535702c742f8cc1f080d6d73e74532e46b8c2b55ffceb45503353db861a470f test/results/test16-knight-posix-binary
84f5472ce5711b9cad28fcd4c177eea673047c2561ea010ccb6bf5f50d89c713 test/results/test16-knight-posix-binary
d70e072f4f1f077d10ff65e9216ca8b423b996e35d68d208025db7a78b062f50 test/results/test16-x86-binary
e59bc15dc72b2cc9ad5d7c32049bb8685d8ee3c479300d036aea79b5daae27c3 test/results/test17-knight-posix-binary
0323ae8fa9e79cae9a58eec89a80b2c354db276d76c6f50b3bf50840327d4950 test/results/test17-knight-posix-binary
9b4ba350b07cc1cf4e12dc77d0d960ded1511f13b887363b0eb33421e2f626de test/results/test17-x86-binary
1914f1ee41d8b93a674302cb74476750c2d5adb72b4f500d55d857e07350791d test/results/test18-knight-posix-binary
d0f0b1428c8db70806d6e2e5b81aca4b6752c4a581a3fa83da064317ceb605b0 test/results/test18-knight-posix-binary
8de7384c4633b1d5c60bbbb298d7f4b738e52fbc266ef4ef9a48b3cb995e3176 test/results/test18-x86-binary
0b7143f4b5acf033c2e4cfb92b3b33207cb6192a1aa93cf3fcc0f6cdad08ecf1 test/results/test19-knight-posix-binary
32ba6ae74a8756fe4b95c65a643513bdd785778f98a878b3ea5459b5aaccaa38 test/results/test19-knight-posix-binary
cefc5a53513abdb9069dc8bdb7b4529307420d5dd412a10112c3253bdcd29c46 test/results/test19-x86-binary
69431d7394bb562da4a1f52e1d99ddd76157adcf1d9cbbd8319f24d63cae1976 test/results/test20-knight-posix-binary
6a59795dbb4397d0efaf1ad613d646ec435eec62db30eb758bcf2499d651520e test/results/test20-knight-posix-binary
365c96fb8368710d620a76facd6bebcdeeb6f6d30ceaf0a6f1567fc3fcbe9b54 test/results/test20-x86-binary
610062cdfd9122450b52bb979ea867bb035be497ff6b1022bce71e289fa290de test/results/test21-knight-posix-binary
3c096914ca492c60bd53193fcc109549fae170052b347e3e62dabcbd9784691f test/results/test21-knight-posix-binary
3c7654eb26247e5f0460dad9e539220a68078cd8c56aae8457b5a97dc6eab892 test/results/test21-x86-binary
c813eb07c8b0d111b5be195341bead571f7a97341f63e08bfe07daeab40b28dc test/results/test22-knight-posix-binary
7ccc16255ce81a9b35934649b5446face10db899cadaf00008c582934eefaa37 test/results/test22-knight-posix-binary
3d0a08c9f38b995318f459884880dbcd309930fb9f51de05c83eb1fcc3fa1825 test/results/test22-x86-binary
6ff4275400660e7b14db53230da0be3e2106892af73cb5c99d39a18186dafe09 test/results/test23-knight-posix-binary
1b86c800067f64ffd6cfd4b39155b81e3b0fc7ffa6d43d1edd75852edd2d583f test/results/test23-knight-posix-binary
3060147b0d56e30c6d9a36ed4675feed306c398df365d2c1c9e2d1c88b40cf3e test/results/test23-x86-binary
7f5ef758eaafbc4b5364f7400332865c91c3224d60407cc4093eddfb09eddcb4 test/results/test24-knight-posix-binary
a1053415b79f08f8bcc9ebda8c9b096ed4e66c483504ba3d7d4dbebad2e3fabf test/results/test24-knight-posix-binary
ff810940f7e8a9df916b20bc95d7d83a7165c57853e343417826a9f5a607c2db test/results/test24-x86-binary
6ae47d659b0eefa641e361d4e6c57c89c121ec0618a0d0817b35b6887aa24a1a test/results/test99-knight-posix-binary
bea554c06c8ecdb9eaae2c586a2006487968625b9570cbe305f69959c0e680e7 test/results/test99-knight-posix-binary
140af7fb3ef89d84b21bd3fe69f0d3260650ec0467c0ffadf9268fad573a397f test/results/test99-x86-binary

View File

@ -1 +1 @@
8a1a2003dbe7e6f08b7501879d82212e19e0d8d54aecca9e744b627b2ebf079b test/test100/proof
6f141cc0c20068f7d88215201e3c8ae77eb547ecf84ee62f65586a55eac3b9f5 test/test100/proof