Files
Ryujin/Diagrams/ryujinminivm.excalidraw
keowu 5e951b3ea6 feat: Adjust Ryujin Wiki Link on README.md, fixed Diagrams structure
- Adjusting the link of Ryujin Wiki on README.md.
- Organizing Ryujin Diagrams.
2025-11-06 21:31:13 -03:00

709 lines
18 KiB
Plaintext

{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "M8c9eQZB7X5MZItasDS9w",
"type": "rectangle",
"x": 391.20001220703125,
"y": 192.60000610351562,
"width": 344.79998779296875,
"height": 307.20001220703125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a0",
"roundness": {
"type": 3
},
"seed": 1615675767,
"version": 129,
"versionNonce": 2118539607,
"isDeleted": false,
"boundElements": [
{
"id": "c1iXEu4S5qWnIgYbjx1Zc",
"type": "arrow"
}
],
"updated": 1749686313933,
"link": null,
"locked": false
},
{
"id": "46FHFpNht2wlAuCrvcVyc",
"type": "text",
"x": 516,
"y": 154.1999969482422,
"width": 58.23994445800781,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a1",
"roundness": null,
"seed": 554549911,
"version": 55,
"versionNonce": 171168151,
"isDeleted": false,
"boundElements": [],
"updated": 1749685574176,
"link": null,
"locked": false,
"text": "Ryujin",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Ryujin",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "xdJ2irJYkaNC9r3QEIouH",
"type": "rectangle",
"x": 833.6000366210938,
"y": 205.40000915527344,
"width": 144.79998779296875,
"height": 121.59999084472656,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a2",
"roundness": {
"type": 3
},
"seed": 679450583,
"version": 45,
"versionNonce": 916855385,
"isDeleted": false,
"boundElements": [
{
"id": "GSUC-T1BCvyWszlmgyl-H",
"type": "arrow"
},
{
"id": "KVVsXm6d78Iek_N-4mTZ5",
"type": "arrow"
}
],
"updated": 1749686124093,
"link": null,
"locked": false
},
{
"id": "u0hyTPfKwpUasROfCYwNp",
"type": "text",
"x": 856,
"y": 235,
"width": 114.89994812011719,
"height": 75,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a3",
"roundness": null,
"seed": 994638937,
"version": 37,
"versionNonce": 1352983513,
"isDeleted": false,
"boundElements": [],
"updated": 1749685595466,
"link": null,
"locked": false,
"text": "mov rax, 10\nadd rbx, 20\nsub rcx, 30",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "mov rax, 10\nadd rbx, 20\nsub rcx, 30",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "GSUC-T1BCvyWszlmgyl-H",
"type": "arrow",
"x": 831.2000122070312,
"y": 271,
"width": 212.79998779296875,
"height": 3.20001220703125,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a4",
"roundness": {
"type": 2
},
"seed": 568230297,
"version": 79,
"versionNonce": 1291788375,
"isDeleted": false,
"boundElements": [],
"updated": 1749685606290,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-212.79998779296875,
3.20001220703125
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "xdJ2irJYkaNC9r3QEIouH",
"focus": -0.05938365959726409,
"gap": 2.4000244140625
},
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "kJtdz2klrATJ98T_MfkEO",
"type": "rectangle",
"x": 480.8000183105469,
"y": 244.60000610351562,
"width": 118.39999389648438,
"height": 68,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a5",
"roundness": {
"type": 3
},
"seed": 832654263,
"version": 38,
"versionNonce": 842147095,
"isDeleted": false,
"boundElements": [],
"updated": 1749685611598,
"link": null,
"locked": false
},
{
"id": "L_pSiLFD-D1qnLQGHAGoK",
"type": "text",
"x": 498.3999938964844,
"y": 256.6000061035156,
"width": 88.41993713378906,
"height": 50,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a6",
"roundness": null,
"seed": 1291545143,
"version": 17,
"versionNonce": 54828087,
"isDeleted": false,
"boundElements": [],
"updated": 1749685618526,
"link": null,
"locked": false,
"text": "custom\nbytecode",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "custom\nbytecode",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "KVVsXm6d78Iek_N-4mTZ5",
"type": "arrow",
"x": 578.4000244140625,
"y": 359,
"width": 198.4000244140625,
"height": 10.399993896484375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a7",
"roundness": {
"type": 2
},
"seed": 479607415,
"version": 100,
"versionNonce": 1093613177,
"isDeleted": false,
"boundElements": [],
"updated": 1749686207162,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
198.4000244140625,
10.399993896484375
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": {
"elementId": "NFjixAoh2CztYuP1DNIN-",
"focus": -0.4045620317282552,
"gap": 10.39996337890625
},
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "NFjixAoh2CztYuP1DNIN-",
"type": "text",
"x": 787.2000122070312,
"y": 363.8000183105469,
"width": 731.2396240234375,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a8",
"roundness": null,
"seed": 1290016793,
"version": 81,
"versionNonce": 318460471,
"isDeleted": false,
"boundElements": [
{
"id": "iFf2168HoefeSA26Qvyxp",
"type": "arrow"
},
{
"id": "KVVsXm6d78Iek_N-4mTZ5",
"type": "arrow"
}
],
"updated": 1749686206810,
"link": null,
"locked": false,
"text": "Insert a jump into the original code to vmentry(for execute the bytecode)",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "Insert a jump into the original code to vmentry(for execute the bytecode)",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "j5zq_Cm9IYKmHffzVgFTn",
"type": "rectangle",
"x": 1548.4000244140625,
"y": 304.6000061035156,
"width": 208,
"height": 180.00006103515625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "a9",
"roundness": {
"type": 3
},
"seed": 1910262775,
"version": 76,
"versionNonce": 1150487223,
"isDeleted": false,
"boundElements": [],
"updated": 1749686159293,
"link": null,
"locked": false
},
{
"id": "Bgo_NssAKTn1SdIHyYsMn",
"type": "text",
"x": 1576.4000244140625,
"y": 319,
"width": 205.4998779296875,
"height": 150,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aA",
"roundness": null,
"seed": 792391961,
"version": 88,
"versionNonce": 1848161657,
"isDeleted": false,
"boundElements": [
{
"id": "iFf2168HoefeSA26Qvyxp",
"type": "arrow"
}
],
"updated": 1749686197118,
"link": null,
"locked": false,
"text": "nop\nnop\npush rcx\nmov rcx, ptrbytecode\ncall vmentry\nmov rax...",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "nop\nnop\npush rcx\nmov rcx, ptrbytecode\ncall vmentry\nmov rax...",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "iFf2168HoefeSA26Qvyxp",
"type": "arrow",
"x": 1469.5999755859375,
"y": 383.8000183105469,
"width": 78.4000244140625,
"height": 21.5999755859375,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aB",
"roundness": {
"type": 2
},
"seed": 1319005721,
"version": 21,
"versionNonce": 1768435865,
"isDeleted": false,
"boundElements": [],
"updated": 1749686197118,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
78.4000244140625,
21.5999755859375
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "NFjixAoh2CztYuP1DNIN-",
"focus": -0.7045371306368834,
"gap": 5
},
"endBinding": {
"elementId": "Bgo_NssAKTn1SdIHyYsMn",
"focus": -0.4601077518323214,
"gap": 28.4000244140625
},
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "Az2n4_JQ_Rep62w0qbnpI",
"type": "arrow",
"x": 641.2000122070312,
"y": 364.20001220703125,
"width": 63.20001220703125,
"height": 49.600006103515625,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aC",
"roundness": {
"type": 2
},
"seed": 313306169,
"version": 38,
"versionNonce": 499366105,
"isDeleted": false,
"boundElements": [],
"updated": 1749686269123,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-63.20001220703125,
49.600006103515625
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "O5yT6LnxD7xhW31GADKYB",
"type": "text",
"x": 468.3999938964844,
"y": 432.20001220703125,
"width": 820.1596069335938,
"height": 50,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aD",
"roundness": null,
"seed": 137944663,
"version": 136,
"versionNonce": 1340294711,
"isDeleted": false,
"boundElements": [],
"updated": 1749686305048,
"link": null,
"locked": false,
"text": "ryujin will insert bytecode in some section\nthe vm will interpret it and return back with the full context to not broke the code",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "ryujin will insert bytecode in some section\nthe vm will interpret it and return back with the full context to not broke the code",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "c1iXEu4S5qWnIgYbjx1Zc",
"type": "arrow",
"x": 434.3999938964844,
"y": 503.20001220703125,
"width": 170.39999389648438,
"height": 156.79998779296875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aE",
"roundness": {
"type": 2
},
"seed": 1561486455,
"version": 28,
"versionNonce": 1291089975,
"isDeleted": false,
"boundElements": [],
"updated": 1749686313933,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
170.39999389648438,
156.79998779296875
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "M8c9eQZB7X5MZItasDS9w",
"focus": 0.8835765524851282,
"gap": 3.399993896484375
},
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "WLU2ZgAEJXhP7nLOkpjLn",
"type": "text",
"x": 663.2000122070312,
"y": 647.2000122070312,
"width": 690.9995727539062,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aF",
"roundness": null,
"seed": 870526871,
"version": 98,
"versionNonce": 999258681,
"isDeleted": false,
"boundElements": [],
"updated": 1749686340544,
"link": null,
"locked": false,
"text": "The vm will only allow some simple menemonic for multiplication(for now)",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "The vm will only allow some simple menemonic for multiplication(for now)",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "tLeEn07Up0otFbkxmXxyS",
"type": "text",
"x": 359.60003662109375,
"y": 86.39999389648438,
"width": 1619.8392333984375,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"index": "aG",
"roundness": null,
"seed": 1720073049,
"version": 213,
"versionNonce": 1953987225,
"isDeleted": false,
"boundElements": [],
"updated": 1749687328143,
"link": null,
"locked": false,
"text": "to not use too much space we already have padding with nop -> compile the instructions to vm bytecode with a maximum of 8 bytes and interpret eah one individually",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "to not use too much space we already have padding with nop -> compile the instructions to vm bytecode with a maximum of 8 bytes and interpret eah one individually",
"autoResize": true,
"lineHeight": 1.25
}
],
"appState": {
"gridSize": 20,
"gridStep": 5,
"gridModeEnabled": false,
"viewBackgroundColor": "#ffffff",
"lockedMultiSelections": {}
},
"files": {}
}