mirror of
https://github.com/creeperlv/SVM.git
synced 2026-01-10 20:39:54 +00:00
Added a sample program.
Change: JAL -> JMP, JALF -> JIF.
This commit is contained in:
18
examples/hello.s
Normal file
18
examples/hello.s
Normal file
@@ -0,0 +1,18 @@
|
||||
.data:
|
||||
text0 "Hello, World!\n"
|
||||
file_name "example.txt"
|
||||
.code:
|
||||
sd.int32 $4 123
|
||||
write_file:
|
||||
sd.int32 $20 -4
|
||||
sd.int32 $10 file_name
|
||||
sd.int32 $11 11
|
||||
sd.int32 $12 1
|
||||
sys 5
|
||||
sd.int32 $11 text0
|
||||
sd.int32 $12 14
|
||||
sys 4
|
||||
return
|
||||
sd.int32 $10 100
|
||||
sys 1
|
||||
bmath add Int32 $4 $5 $6
|
||||
@@ -130,6 +130,7 @@
|
||||
<InstructionDefinition Id="return" PrimaryInstruction="Return" InstructionCount="1">
|
||||
<Aliases>
|
||||
<Alias Name="return"/>
|
||||
<Alias Name="ret"/>
|
||||
</Aliases>
|
||||
<Parameters>
|
||||
<InstructionParameter>
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
SD,
|
||||
|
||||
// 0 1
|
||||
// JAL RD
|
||||
// JMP RD
|
||||
// [I]Address (int32)
|
||||
JAL,
|
||||
JMP,
|
||||
// Jump And Link If Conditional Register is set.
|
||||
// JALF RD FlagID
|
||||
// JIF RD FlagID
|
||||
// [I]Address (int32)
|
||||
JALF,
|
||||
JIF,
|
||||
// 0 1 2 3
|
||||
// Load [R]Address [I]Len [R]T
|
||||
Load,
|
||||
|
||||
@@ -217,9 +217,9 @@ namespace SVM.Core
|
||||
//Console.WriteLine($"SVM:SD:{data} form PC={PC}");
|
||||
}
|
||||
break;
|
||||
case PrimaryInstruction.JAL:
|
||||
case PrimaryInstruction.JMP:
|
||||
break;
|
||||
case PrimaryInstruction.JALF:
|
||||
case PrimaryInstruction.JIF:
|
||||
break;
|
||||
case PrimaryInstruction.Load:
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user