From dbc78b92ced638578c5f98cfb2f4e673d082e2ca Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Tue, 15 Jun 2021 20:43:12 +0000 Subject: [PATCH] Oberon07: update by akron1 git-svn-id: svn://kolibrios.org@8863 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/oberon07/Compiler.kex | Bin 270605 -> 73874 bytes programs/develop/oberon07/tools/RVM32I.ob07 | 575 ----------------- programs/develop/oberon07/tools/RVMxI.ob07 | 668 -------------------- programs/develop/oberon07/tools/RVMxI.txt | 270 -------- 4 files changed, 1513 deletions(-) delete mode 100644 programs/develop/oberon07/tools/RVM32I.ob07 delete mode 100644 programs/develop/oberon07/tools/RVMxI.ob07 delete mode 100644 programs/develop/oberon07/tools/RVMxI.txt diff --git a/programs/develop/oberon07/Compiler.kex b/programs/develop/oberon07/Compiler.kex index fa02e0eccc492c9afddc63043132cde637246a24..6c3abc76778ad28afd4e371f2e304562167027e3 100644 GIT binary patch literal 73874 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
DAP+=Nyv{1!A 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 -run [program parameters] - RVM32I.exe -dis -*) - -MODULE RVM32I; - -IMPORT SYSTEM, File, Args, Out, API, HOST, RTL; - - -CONST - - opSTOP = 0; opRET = 1; opENTER = 2; opNEG = 3; opNOT = 4; opABS = 5; - opXCHG = 6; opLDR8 = 7; opLDR16 = 8; opLDR32 = 9; opPUSH = 10; opPUSHC = 11; - opPOP = 12; opJGZ = 13; opJZ = 14; opJNZ = 15; opLLA = 16; opJGA = 17; - opJLA = 18; opJMP = 19; opCALL = 20; opCALLI = 21; - - opMOV = 22; opMUL = 24; opADD = 26; opSUB = 28; opDIV = 30; opMOD = 32; - opSTR8 = 34; opSTR16 = 36; opSTR32 = 38; opINCL = 40; opEXCL = 42; - opIN = 44; opAND = 46; opOR = 48; opXOR = 50; opASR = 52; opLSR = 54; - opLSL = 56; opROR = 58; opMIN = 60; opMAX = 62; opEQ = 64; opNE = 66; - opLT = 68; opLE = 70; opGT = 72; opGE = 74; opBT = 76; - - opMOVC = 23; opMULC = 25; opADDC = 27; opSUBC = 29; opDIVC = 31; opMODC = 33; - opSTR8C = 35; opSTR16C = 37; opSTR32C = 39; opINCLC = 41; opEXCLC = 43; - opINC = 45; opANDC = 47; opORC = 49; opXORC = 51; opASRC = 53; opLSRC = 55; - opLSLC = 57; opRORC = 59; opMINC = 61; opMAXC = 63; opEQC = 65; opNEC = 67; - opLTC = 69; opLEC = 71; opGTC = 73; opGEC = 75; opBTC = 77; - - opLEA = 78; opLABEL = 79; opSYSCALL = 80; - - - ACC = 0; BP = 3; SP = 4; - - Types = 0; - Strings = 1; - Global = 2; - Heap = 3; - Stack = 4; - - -TYPE - - COMMAND = POINTER TO RECORD - - op, param1, param2: INTEGER; - next: COMMAND - - END; - - -VAR - - R: ARRAY 32 OF INTEGER; - - Sections: ARRAY 5 OF RECORD address: INTEGER; name: ARRAY 16 OF CHAR END; - - first, last: COMMAND; - - Labels: ARRAY 30000 OF COMMAND; - - F: INTEGER; buf: ARRAY 65536 OF BYTE; cnt: INTEGER; - - -PROCEDURE syscall (ptr: INTEGER); -VAR - fn, p1, p2, p3, p4, r: INTEGER; - - proc2: PROCEDURE (a, b: INTEGER): INTEGER; - proc3: PROCEDURE (a, b, c: INTEGER): INTEGER; - proc4: PROCEDURE (a, b, c, d: INTEGER): INTEGER; - -BEGIN - SYSTEM.GET(ptr, fn); - SYSTEM.GET(ptr + 4, p1); - SYSTEM.GET(ptr + 8, p2); - SYSTEM.GET(ptr + 12, p3); - SYSTEM.GET(ptr + 16, p4); - CASE fn OF - | 0: HOST.ExitProcess(p1) - | 1: SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.GetCurrentDirectory)); - r := proc2(p1, p2) - | 2: SYSTEM.PUT(SYSTEM.ADR(proc3), SYSTEM.ADR(HOST.GetArg)); - r := proc3(p1 + 2, p2, p3) - | 3: SYSTEM.PUT(SYSTEM.ADR(proc4), SYSTEM.ADR(HOST.FileRead)); - SYSTEM.PUT(ptr, proc4(p1, p2, p3, p4)) - | 4: SYSTEM.PUT(SYSTEM.ADR(proc4), SYSTEM.ADR(HOST.FileWrite)); - SYSTEM.PUT(ptr, proc4(p1, p2, p3, p4)) - | 5: SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.FileCreate)); - SYSTEM.PUT(ptr, proc2(p1, p2)) - | 6: HOST.FileClose(p1) - | 7: SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.FileOpen)); - SYSTEM.PUT(ptr, proc2(p1, p2)) - | 8: HOST.OutChar(CHR(p1)) - | 9: SYSTEM.PUT(ptr, HOST.GetTickCount()) - |10: SYSTEM.PUT(ptr, HOST.UnixTime()) - |11: SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.isRelative)); - SYSTEM.PUT(ptr, proc2(p1, p2)) - |12: SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.chmod)); - r := proc2(p1, p2) - END -END syscall; - - -PROCEDURE exec; -VAR - cmd: COMMAND; - param1, param2: INTEGER; - temp: INTEGER; - -BEGIN - cmd := first; - WHILE cmd # NIL DO - param1 := cmd.param1; - param2 := cmd.param2; - CASE cmd.op OF - |opSTOP: cmd := last - |opRET: SYSTEM.MOVE(R[SP], SYSTEM.ADR(cmd), 4); INC(R[SP], 4) - |opENTER: DEC(R[SP], 4); SYSTEM.PUT32(R[SP], R[BP]); R[BP] := R[SP]; WHILE param1 > 0 DO DEC(R[SP], 4); SYSTEM.PUT32(R[SP], 0); DEC(param1) END - |opPOP: SYSTEM.GET32(R[SP], R[param1]); INC(R[SP], 4) - |opNEG: R[param1] := -R[param1] - |opNOT: R[param1] := ORD(-BITS(R[param1])) - |opABS: R[param1] := ABS(R[param1]) - |opXCHG: temp := R[param1]; R[param1] := R[param2]; R[param2] := temp - |opLDR8: SYSTEM.GET8(R[param2], R[param1]); R[param1] := R[param1] MOD 256; - |opLDR16: SYSTEM.GET16(R[param2], R[param1]); R[param1] := R[param1] MOD 65536; - |opLDR32: SYSTEM.GET32(R[param2], R[param1]) - |opPUSH: DEC(R[SP], 4); SYSTEM.PUT32(R[SP], R[param1]) - |opPUSHC: DEC(R[SP], 4); SYSTEM.PUT32(R[SP], param1) - |opJGZ: IF R[param1] > 0 THEN cmd := Labels[cmd.param2] END - |opJZ: IF R[param1] = 0 THEN cmd := Labels[cmd.param2] END - |opJNZ: IF R[param1] # 0 THEN cmd := Labels[cmd.param2] END - |opLLA: SYSTEM.MOVE(SYSTEM.ADR(Labels[cmd.param2]), SYSTEM.ADR(R[param1]), 4) - |opJGA: IF R[ACC] > param1 THEN cmd := Labels[cmd.param2] END - |opJLA: IF R[ACC] < param1 THEN cmd := Labels[cmd.param2] END - |opJMP: cmd := Labels[cmd.param1] - |opCALL: DEC(R[SP], 4); SYSTEM.MOVE(SYSTEM.ADR(cmd), R[SP], 4); cmd := Labels[cmd.param1] - |opCALLI: DEC(R[SP], 4); SYSTEM.MOVE(SYSTEM.ADR(cmd), R[SP], 4); SYSTEM.MOVE(SYSTEM.ADR(R[param1]), SYSTEM.ADR(cmd), 4) - |opMOV: R[param1] := R[param2] - |opMOVC: R[param1] := param2 - |opMUL: R[param1] := R[param1] * R[param2] - |opMULC: R[param1] := R[param1] * param2 - |opADD: INC(R[param1], R[param2]) - |opADDC: INC(R[param1], param2) - |opSUB: DEC(R[param1], R[param2]) - |opSUBC: DEC(R[param1], param2) - |opDIV: R[param1] := R[param1] DIV R[param2] - |opDIVC: R[param1] := R[param1] DIV param2 - |opMOD: R[param1] := R[param1] MOD R[param2] - |opMODC: R[param1] := R[param1] MOD param2 - |opSTR8: SYSTEM.PUT8(R[param1], R[param2]) - |opSTR8C: SYSTEM.PUT8(R[param1], param2) - |opSTR16: SYSTEM.PUT16(R[param1], R[param2]) - |opSTR16C: SYSTEM.PUT16(R[param1], param2) - |opSTR32: SYSTEM.PUT32(R[param1], R[param2]) - |opSTR32C: SYSTEM.PUT32(R[param1], param2) - |opINCL: SYSTEM.GET32(R[param1], temp); SYSTEM.PUT32(R[param1], ORD(BITS(temp) + {R[param2]})) - |opINCLC: SYSTEM.GET32(R[param1], temp); SYSTEM.PUT32(R[param1], ORD(BITS(temp) + {param2})) - |opEXCL: SYSTEM.GET32(R[param1], temp); SYSTEM.PUT32(R[param1], ORD(BITS(temp) - {R[param2]})) - |opEXCLC: SYSTEM.GET32(R[param1], temp); SYSTEM.PUT32(R[param1], ORD(BITS(temp) - {param2})) - |opIN: R[param1] := ORD(R[param1] IN BITS(R[param2])) - |opINC: R[param1] := ORD(R[param1] IN BITS(param2)) - |opAND: R[param1] := ORD(BITS(R[param1]) * BITS(R[param2])) - |opANDC: R[param1] := ORD(BITS(R[param1]) * BITS(param2)) - |opOR: R[param1] := ORD(BITS(R[param1]) + BITS(R[param2])) - |opORC: R[param1] := ORD(BITS(R[param1]) + BITS(param2)) - |opXOR: R[param1] := ORD(BITS(R[param1]) / BITS(R[param2])) - |opXORC: R[param1] := ORD(BITS(R[param1]) / BITS(param2)) - |opASR: R[param1] := ASR(R[param1], R[param2]) - |opASRC: R[param1] := ASR(R[param1], param2) - |opLSR: R[param1] := LSR(R[param1], R[param2]) - |opLSRC: R[param1] := LSR(R[param1], param2) - |opLSL: R[param1] := LSL(R[param1], R[param2]) - |opLSLC: R[param1] := LSL(R[param1], param2) - |opROR: R[param1] := ROR(R[param1], R[param2]) - |opRORC: R[param1] := ROR(R[param1], param2) - |opMIN: R[param1] := MIN(R[param1], R[param2]) - |opMINC: R[param1] := MIN(R[param1], param2) - |opMAX: R[param1] := MAX(R[param1], R[param2]) - |opMAXC: R[param1] := MAX(R[param1], param2) - |opEQ: R[param1] := ORD(R[param1] = R[param2]) - |opEQC: R[param1] := ORD(R[param1] = param2) - |opNE: R[param1] := ORD(R[param1] # R[param2]) - |opNEC: R[param1] := ORD(R[param1] # param2) - |opLT: R[param1] := ORD(R[param1] < R[param2]) - |opLTC: R[param1] := ORD(R[param1] < param2) - |opLE: R[param1] := ORD(R[param1] <= R[param2]) - |opLEC: R[param1] := ORD(R[param1] <= param2) - |opGT: R[param1] := ORD(R[param1] > R[param2]) - |opGTC: R[param1] := ORD(R[param1] > param2) - |opGE: R[param1] := ORD(R[param1] >= R[param2]) - |opGEC: R[param1] := ORD(R[param1] >= param2) - |opBT: R[param1] := ORD((R[param1] < R[param2]) & (R[param1] >= 0)) - |opBTC: R[param1] := ORD((R[param1] < param2) & (R[param1] >= 0)) - |opLEA: R[param1 MOD 256] := Sections[param1 DIV 256].address + param2 - |opLABEL: - |opSYSCALL: syscall(R[param1]) - END; - cmd := cmd.next - END -END exec; - - -PROCEDURE disasm (name: ARRAY OF CHAR; t_count, c_count, glob, heap: INTEGER); -VAR - cmd: COMMAND; - param1, param2, i, t, ptr: INTEGER; - b: BYTE; - - - PROCEDURE String (s: ARRAY OF CHAR); - VAR - n: INTEGER; - - BEGIN - n := LENGTH(s); - IF n > LEN(buf) - cnt THEN - ASSERT(File.Write(F, SYSTEM.ADR(buf[0]), cnt) = cnt); - cnt := 0 - END; - SYSTEM.MOVE(SYSTEM.ADR(s[0]), SYSTEM.ADR(buf[0]) + cnt, n); - INC(cnt, n) - END String; - - - PROCEDURE Ln; - BEGIN - String(0DX + 0AX) - END Ln; - - - PROCEDURE hexdgt (n: INTEGER): CHAR; - BEGIN - IF n < 10 THEN - INC(n, ORD("0")) - ELSE - INC(n, ORD("A") - 10) - END - - RETURN CHR(n) - END hexdgt; - - - PROCEDURE Hex (x: INTEGER); - VAR - str: ARRAY 11 OF CHAR; - n: INTEGER; - - BEGIN - n := 10; - str[10] := 0X; - WHILE n > 2 DO - str[n - 1] := hexdgt(x MOD 16); - x := x DIV 16; - DEC(n) - END; - str[1] := "x"; - str[0] := "0"; - String(str) - END Hex; - - - PROCEDURE Byte (x: BYTE); - VAR - str: ARRAY 5 OF CHAR; - - BEGIN - str[4] := 0X; - str[3] := hexdgt(x MOD 16); - str[2] := hexdgt(x DIV 16); - str[1] := "x"; - str[0] := "0"; - String(str) - END Byte; - - - PROCEDURE Reg (n: INTEGER); - VAR - s: ARRAY 2 OF CHAR; - BEGIN - IF n = BP THEN - String("BP") - ELSIF n = SP THEN - String("SP") - ELSE - String("R"); - s[1] := 0X; - IF n >= 10 THEN - s[0] := CHR(n DIV 10 + ORD("0")); - String(s) - END; - s[0] := CHR(n MOD 10 + ORD("0")); - String(s) - END - END Reg; - - - PROCEDURE Reg2 (r1, r2: INTEGER); - BEGIN - Reg(r1); String(", "); Reg(r2) - END Reg2; - - - PROCEDURE RegC (r, c: INTEGER); - BEGIN - Reg(r); String(", "); Hex(c) - END RegC; - - - PROCEDURE RegL (r, label: INTEGER); - BEGIN - Reg(r); String(", L"); Hex(label) - END RegL; - - -BEGIN - Sections[Types].name := "TYPES"; - Sections[Strings].name := "STRINGS"; - Sections[Global].name := "GLOBAL"; - Sections[Heap].name := "HEAP"; - Sections[Stack].name := "STACK"; - - F := File.Create(name); - ASSERT(F > 0); - cnt := 0; - String("CODE:"); Ln; - cmd := first; - WHILE cmd # NIL DO - param1 := cmd.param1; - param2 := cmd.param2; - CASE cmd.op OF - |opSTOP: String("STOP") - |opRET: String("RET") - |opENTER: String("ENTER "); Hex(param1) - |opPOP: String("POP "); Reg(param1) - |opNEG: String("NEG "); Reg(param1) - |opNOT: String("NOT "); Reg(param1) - |opABS: String("ABS "); Reg(param1) - |opXCHG: String("XCHG "); Reg2(param1, param2) - |opLDR8: String("LDR8 "); Reg2(param1, param2) - |opLDR16: String("LDR16 "); Reg2(param1, param2) - |opLDR32: String("LDR32 "); Reg2(param1, param2) - |opPUSH: String("PUSH "); Reg(param1) - |opPUSHC: String("PUSH "); Hex(param1) - |opJGZ: String("JGZ "); RegL(param1, param2) - |opJZ: String("JZ "); RegL(param1, param2) - |opJNZ: String("JNZ "); RegL(param1, param2) - |opLLA: String("LLA "); RegL(param1, param2) - |opJGA: String("JGA "); Hex(param1); String(", L"); Hex(param2) - |opJLA: String("JLA "); Hex(param1); String(", L"); Hex(param2) - |opJMP: String("JMP L"); Hex(param1) - |opCALL: String("CALL L"); Hex(param1) - |opCALLI: String("CALL "); Reg(param1) - |opMOV: String("MOV "); Reg2(param1, param2) - |opMOVC: String("MOV "); RegC(param1, param2) - |opMUL: String("MUL "); Reg2(param1, param2) - |opMULC: String("MUL "); RegC(param1, param2) - |opADD: String("ADD "); Reg2(param1, param2) - |opADDC: String("ADD "); RegC(param1, param2) - |opSUB: String("SUB "); Reg2(param1, param2) - |opSUBC: String("SUB "); RegC(param1, param2) - |opDIV: String("DIV "); Reg2(param1, param2) - |opDIVC: String("DIV "); RegC(param1, param2) - |opMOD: String("MOD "); Reg2(param1, param2) - |opMODC: String("MOD "); RegC(param1, param2) - |opSTR8: String("STR8 "); Reg2(param1, param2) - |opSTR8C: String("STR8 "); RegC(param1, param2) - |opSTR16: String("STR16 "); Reg2(param1, param2) - |opSTR16C: String("STR16 "); RegC(param1, param2) - |opSTR32: String("STR32 "); Reg2(param1, param2) - |opSTR32C: String("STR32 "); RegC(param1, param2) - |opINCL: String("INCL "); Reg2(param1, param2) - |opINCLC: String("INCL "); RegC(param1, param2) - |opEXCL: String("EXCL "); Reg2(param1, param2) - |opEXCLC: String("EXCL "); RegC(param1, param2) - |opIN: String("IN "); Reg2(param1, param2) - |opINC: String("IN "); RegC(param1, param2) - |opAND: String("AND "); Reg2(param1, param2) - |opANDC: String("AND "); RegC(param1, param2) - |opOR: String("OR "); Reg2(param1, param2) - |opORC: String("OR "); RegC(param1, param2) - |opXOR: String("XOR "); Reg2(param1, param2) - |opXORC: String("XOR "); RegC(param1, param2) - |opASR: String("ASR "); Reg2(param1, param2) - |opASRC: String("ASR "); RegC(param1, param2) - |opLSR: String("LSR "); Reg2(param1, param2) - |opLSRC: String("LSR "); RegC(param1, param2) - |opLSL: String("LSL "); Reg2(param1, param2) - |opLSLC: String("LSL "); RegC(param1, param2) - |opROR: String("ROR "); Reg2(param1, param2) - |opRORC: String("ROR "); RegC(param1, param2) - |opMIN: String("MIN "); Reg2(param1, param2) - |opMINC: String("MIN "); RegC(param1, param2) - |opMAX: String("MAX "); Reg2(param1, param2) - |opMAXC: String("MAX "); RegC(param1, param2) - |opEQ: String("EQ "); Reg2(param1, param2) - |opEQC: String("EQ "); RegC(param1, param2) - |opNE: String("NE "); Reg2(param1, param2) - |opNEC: String("NE "); RegC(param1, param2) - |opLT: String("LT "); Reg2(param1, param2) - |opLTC: String("LT "); RegC(param1, param2) - |opLE: String("LE "); Reg2(param1, param2) - |opLEC: String("LE "); RegC(param1, param2) - |opGT: String("GT "); Reg2(param1, param2) - |opGTC: String("GT "); RegC(param1, param2) - |opGE: String("GE "); Reg2(param1, param2) - |opGEC: String("GE "); RegC(param1, param2) - |opBT: String("BT "); Reg2(param1, param2) - |opBTC: String("BT "); RegC(param1, param2) - |opLEA: String("LEA "); Reg(param1 MOD 256); String(", "); String(Sections[param1 DIV 256].name); String(" + "); Hex(param2) - |opLABEL: String("L"); Hex(param1); String(":") - |opSYSCALL: String("SYSCALL "); Reg(param1) - END; - Ln; - cmd := cmd.next - END; - - String("TYPES:"); - ptr := Sections[Types].address; - FOR i := 0 TO t_count - 1 DO - IF i MOD 4 = 0 THEN - Ln; String("WORD ") - ELSE - String(", ") - END; - SYSTEM.GET32(ptr, t); INC(ptr, 4); - Hex(t) - END; - Ln; - - String("STRINGS:"); - ptr := Sections[Strings].address; - FOR i := 0 TO c_count - 1 DO - IF i MOD 8 = 0 THEN - Ln; String("BYTE ") - ELSE - String(", ") - END; - SYSTEM.GET8(ptr, b); INC(ptr); - Byte(b) - END; - Ln; - - String("GLOBAL:"); Ln; - String("WORDS "); Hex(glob); Ln; - String("HEAP:"); Ln; - String("WORDS "); Hex(heap); Ln; - String("STACK:"); Ln; - String("WORDS 8"); Ln; - - ASSERT(File.Write(F, SYSTEM.ADR(buf[0]), cnt) = cnt); - File.Close(F) -END disasm; - - -PROCEDURE GetCommand (adr: INTEGER): COMMAND; -VAR - op, param1, param2: INTEGER; - res: COMMAND; - -BEGIN - op := 0; param1 := 0; param2 := 0; - SYSTEM.GET32(adr, op); - SYSTEM.GET32(adr + 4, param1); - SYSTEM.GET32(adr + 8, param2); - NEW(res); - res.op := op; - res.param1 := param1; - res.param2 := param2; - res.next := NIL - - RETURN res -END GetCommand; - - -PROCEDURE main; -VAR - name, param: ARRAY 1024 OF CHAR; - cmd: COMMAND; - file, fsize, n: INTEGER; - - descr: ARRAY 12 OF INTEGER; - - offTypes, offStrings, GlobalSize, HeapStackSize, DescrSize: INTEGER; - -BEGIN - Out.Open; - Args.GetArg(1, name); - F := File.Open(name, File.OPEN_R); - IF F > 0 THEN - DescrSize := LEN(descr) * SYSTEM.SIZE(INTEGER); - fsize := File.Seek(F, 0, File.SEEK_END); - ASSERT(fsize > DescrSize); - file := API._NEW(fsize); - ASSERT(file # 0); - n := File.Seek(F, 0, File.SEEK_BEG); - ASSERT(fsize = File.Read(F, file, fsize)); - File.Close(F); - - SYSTEM.MOVE(file + fsize - DescrSize, SYSTEM.ADR(descr[0]), DescrSize); - offTypes := descr[0]; - ASSERT(offTypes < fsize - DescrSize); - ASSERT(offTypes > 0); - ASSERT(offTypes MOD 12 = 0); - offStrings := descr[1]; - ASSERT(offStrings < fsize - DescrSize); - ASSERT(offStrings > 0); - ASSERT(offStrings MOD 4 = 0); - ASSERT(offStrings > offTypes); - GlobalSize := descr[2]; - ASSERT(GlobalSize > 0); - HeapStackSize := descr[3]; - ASSERT(HeapStackSize > 0); - - Sections[Types].address := API._NEW(offStrings - offTypes); - ASSERT(Sections[Types].address # 0); - SYSTEM.MOVE(file + offTypes, Sections[Types].address, offStrings - offTypes); - - Sections[Strings].address := API._NEW(fsize - offStrings - DescrSize); - ASSERT(Sections[Strings].address # 0); - SYSTEM.MOVE(file + offStrings, Sections[Strings].address, fsize - offStrings - DescrSize); - - Sections[Global].address := API._NEW(GlobalSize * 4); - ASSERT(Sections[Global].address # 0); - - Sections[Heap].address := API._NEW(HeapStackSize * 4); - ASSERT(Sections[Heap].address # 0); - - Sections[Stack].address := Sections[Heap].address + HeapStackSize * 4 - 32; - - n := offTypes DIV 12; - first := GetCommand(file + offTypes - n * 12); - last := first; - DEC(n); - WHILE n > 0 DO - cmd := GetCommand(file + offTypes - n * 12); - IF cmd.op = opLABEL THEN - Labels[cmd.param1] := cmd - END; - last.next := cmd; - last := cmd; - DEC(n) - END; - file := API._DISPOSE(file); - Args.GetArg(2, param); - IF param = "-dis" THEN - Args.GetArg(3, name); - IF name # "" THEN - disasm(name, (offStrings - offTypes) DIV 4, fsize - offStrings - DescrSize, GlobalSize, HeapStackSize) - END - ELSIF param = "-run" THEN - exec - END - ELSE - Out.String("file not found"); Out.Ln - END -END main; - - -BEGIN - ASSERT(RTL.bit_depth = 32); - main -END RVM32I. \ No newline at end of file diff --git a/programs/develop/oberon07/tools/RVMxI.ob07 b/programs/develop/oberon07/tools/RVMxI.ob07 deleted file mode 100644 index af40b4481a..0000000000 --- a/programs/develop/oberon07/tools/RVMxI.ob07 +++ /dev/null @@ -1,668 +0,0 @@ -(* - BSD 2-Clause License - - Copyright (c) 2020-2021, Anton Krotov - All rights reserved. -*) - -(* - RVMxI executor and disassembler - - Usage: - RVMxI.exe -run [program parameters] - RVMxI.exe -dis -*) - -MODULE RVMxI; - -IMPORT SYSTEM, File, Args, Out, API, HOST; - - -CONST - - szWORD = HOST.bit_depth DIV 8; - - opSTOP = 0; opRET = 1; opENTER = 2; opNEG = 3; opNOT = 4; opNOP = 5; - opXCHG = 6; opLDB = 7; opLDH = 8; opLDW = 9; opPUSH = 10; opPUSHC = 11; - opPOP = 12; opLABEL = 13; opLEA = 14; opLLA = 15; - opLDD = 16; (* 17, 18 *) - opJMP = 19; opCALL = 20; opCALLI = 21; - - opMOV = 22; opMUL = 24; opADD = 26; opSUB = 28; opDIV = 30; opMOD = 32; - opSTB = 34; opSTH = 36; opSTW = 38; opSTD = 40; (* 42, 44 *) - opAND = 46; opOR = 48; opXOR = 50; opASR = 52; opLSR = 54; - opLSL = 56; opROR = 58; (* 60, 62 *) opCMP = 64; - - opMOVC = 23; opMULC = 25; opADDC = 27; opSUBC = 29; opDIVC = 31; opMODC = 33; - opSTBC = 35; opSTHC = 37; opSTWC = 39; opSTDC = 41; (* 43, 45 *) - opANDC = 47; opORC = 49; opXORC = 51; opASRC = 53; opLSRC = 55; - opLSLC = 57; opRORC = 59; (* 61, 63 *) opCMPC = 65; - - opBIT = 66; opSYSCALL = 67; opJBT = 68; opADDRC = 69; - - opJEQ = 70; opJNE = 71; opJLT = 72; opJGE = 73; opJGT = 74; opJLE = 75; - opSEQ = 76; opSNE = 77; opSLT = 78; opSGE = 79; opSGT = 80; opSLE = 81; - - - nREG = 16; - ACC = 0; BP = 3; SP = 4; - - Types = 0; - Strings = 1; - Global = 2; - Heap = 3; - Stack = 4; - - -TYPE - - COMMAND = POINTER TO RECORD - - op, param1, param2: INTEGER; - next, prev: COMMAND - - END; - - LABELS = ARRAY 30000 OF COMMAND; - - SECTIONS = ARRAY 5 OF INTEGER; - - -VAR - - Sections: SECTIONS; - - first, last: COMMAND; - - Labels: LABELS; - - F: INTEGER; buf: ARRAY 65536 OF BYTE; cnt: INTEGER; - - -PROCEDURE syscall (ptr: INTEGER); -VAR - fn, r, n: INTEGER; - - proc2: PROCEDURE (a, b: INTEGER): INTEGER; - proc3: PROCEDURE (a, b, c: INTEGER): INTEGER; - proc4: PROCEDURE (a, b, c, d: INTEGER): INTEGER; - - r1, r2: REAL; - - - PROCEDURE GetInt (ptr, n: INTEGER): INTEGER; - BEGIN - SYSTEM.GET(ptr + SYSTEM.SIZE(INTEGER) * n, n) - RETURN n - END GetInt; - - - PROCEDURE GetReal (ptr, n: INTEGER): REAL; - VAR - r: REAL; - - BEGIN - SYSTEM.GET(ptr + SYSTEM.SIZE(INTEGER) * n, r) - RETURN r - END GetReal; - - -BEGIN - fn := GetInt(ptr, 0); - CASE fn OF - | 0: - HOST.ExitProcess(GetInt(ptr, 1)) - - | 1: - SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.GetCurrentDirectory)); - r := proc2(GetInt(ptr, 1), GetInt(ptr, 2)) - - | 2: - n := GetInt(ptr, 1); - SYSTEM.PUT(SYSTEM.ADR(proc3), SYSTEM.ADR(HOST.GetArg)); - r := proc3(n - ORD(n = 0) + 2, GetInt(ptr, 2), GetInt(ptr, 3)) - - | 3: - SYSTEM.PUT(SYSTEM.ADR(proc4), SYSTEM.ADR(HOST.FileRead)); - SYSTEM.PUT(ptr, proc4(GetInt(ptr, 1), GetInt(ptr, 2), GetInt(ptr, 3), GetInt(ptr, 4))) - - | 4: - SYSTEM.PUT(SYSTEM.ADR(proc4), SYSTEM.ADR(HOST.FileWrite)); - SYSTEM.PUT(ptr, proc4(GetInt(ptr, 1), GetInt(ptr, 2), GetInt(ptr, 3), GetInt(ptr, 4))) - - | 5: - SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.FileCreate)); - SYSTEM.PUT(ptr, proc2(GetInt(ptr, 1), GetInt(ptr, 2))) - - | 6: - HOST.FileClose(GetInt(ptr, 1)) - - | 7: - SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.FileOpen)); - SYSTEM.PUT(ptr, proc2(GetInt(ptr, 1), GetInt(ptr, 2))) - - | 8: - HOST.OutChar(CHR(GetInt(ptr, 1))) - - | 9: - SYSTEM.PUT(ptr, HOST.GetTickCount()) - - |10: - SYSTEM.PUT(ptr, HOST.UnixTime()) - - |11: - SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.isRelative)); - SYSTEM.PUT(ptr, proc2(GetInt(ptr, 1), GetInt(ptr, 2))) - - |12: - SYSTEM.PUT(SYSTEM.ADR(proc2), SYSTEM.ADR(HOST.chmod)); - r := proc2(GetInt(ptr, 1), GetInt(ptr, 2)) - - |100..103: - r1 := GetReal(ptr, 1); - r2 := GetReal(ptr, 2); - CASE fn OF - |100: SYSTEM.PUT(ptr, r2 * r1) - |101: SYSTEM.PUT(ptr, r2 / r1) - |102: SYSTEM.PUT(ptr, r2 + r1) - |103: SYSTEM.PUT(ptr, r2 - r1) - END - - |104: - r1 := GetReal(ptr, 2); - r2 := GetReal(ptr, 3); - CASE GetInt(ptr, 1) OF - |0: SYSTEM.PUT(ptr, ORD(r2 = r1)) - |1: SYSTEM.PUT(ptr, ORD(r2 # r1)) - |2: SYSTEM.PUT(ptr, ORD(r2 < r1)) - |3: SYSTEM.PUT(ptr, ORD(r2 <= r1)) - |4: SYSTEM.PUT(ptr, ORD(r2 > r1)) - |5: SYSTEM.PUT(ptr, ORD(r2 >= r1)) - END - - |105: - SYSTEM.PUT(ptr, FLOOR(GetReal(ptr, 1))) - - |106: - SYSTEM.PUT(ptr, FLT(GetInt(ptr, 1))) - - END -END syscall; - - -PROCEDURE exec (VAR Labels: LABELS; first, last: COMMAND; Sections: SECTIONS); -VAR - cmd: COMMAND; - param1, param2, i: INTEGER; - R: ARRAY nREG OF INTEGER; - - fe, fl, fb: BOOLEAN; - -BEGIN - FOR i := 0 TO LEN(Labels) - 1 DO - cmd := Labels[i]; - IF cmd # NIL THEN - REPEAT - cmd := cmd.next - UNTIL cmd.op # opLABEL; - Labels[i] := cmd - END - END; - - cmd := first; - WHILE cmd # NIL DO - IF cmd.op = opLABEL THEN - cmd.prev.next := cmd.next; - cmd.next.prev := cmd.prev - END; - cmd := cmd.next - END; - - FOR i := 0 TO LEN(Labels) - 1 DO - IF Labels[i] # NIL THEN - Labels[i] := Labels[i].prev - END - END; - - cmd := first; - WHILE cmd # NIL DO - param1 := cmd.param1; - param2 := cmd.param2; - - CASE cmd.op OF - |opSTOP: cmd := last - |opRET: SYSTEM.GET(R[SP], cmd); INC(R[SP], szWORD) - |opENTER: DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], R[BP]); R[BP] := R[SP]; - WHILE param1 > 0 DO DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], 0); DEC(param1) END - |opPOP: SYSTEM.GET(R[SP], R[param1]); INC(R[SP], szWORD) - |opPUSH: DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], R[param1]) - |opPUSHC: DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], param1) - |opCALL: DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], cmd); cmd := Labels[param1] - |opCALLI: DEC(R[SP], szWORD); SYSTEM.PUT(R[SP], cmd); SYSTEM.GET(SYSTEM.ADR(R[param1]), cmd) - |opNEG: R[param1] := -R[param1] - |opNOT: R[param1] := ORD(-BITS(R[param1])) - |opNOP: - |opXCHG: i := R[param1]; R[param1] := R[param2]; R[param2] := i - |opLDB: i := param1 MOD 256; SYSTEM.GET8(R[param1 DIV 256] + param2, R[i]); R[i] := R[i] MOD 256 - |opLDH: i := param1 MOD 256; SYSTEM.GET16(R[param1 DIV 256] + param2, R[i]); R[i] := R[i] MOD 65536 - |opLDW: SYSTEM.GET32(R[param1 DIV 256] + param2, R[param1 MOD 256]); - $IF (CPU_X8664) - R[param1 MOD 256] := R[param1 MOD 256] MOD 100000000H - $END - |opLDD: SYSTEM.GET(R[param1 DIV 256] + param2, R[param1 MOD 256]) - |opLLA: SYSTEM.GET(SYSTEM.ADR(Labels[param2]), R[param1]) - |opJMP: cmd := Labels[param1] - |opMOV: R[param1] := R[param2] - |opMOVC: R[param1] := param2 - |opMUL: R[param1] := R[param1] * R[param2] - |opMULC: R[param1] := R[param1] * param2 - |opADD: INC(R[param1], R[param2]) - |opADDC: INC(R[param1], param2) - |opSUB: DEC(R[param1], R[param2]) - |opSUBC: DEC(R[param1], param2) - |opDIV: R[param1] := R[param1] DIV R[param2] - |opDIVC: R[param1] := R[param1] DIV param2 - |opMOD: R[param1] := R[param1] MOD R[param2] - |opMODC: R[param1] := R[param1] MOD param2 - |opSTB: SYSTEM.PUT8(R[param1 DIV 256] + param2, R[param1 MOD 256]) - |opSTH: SYSTEM.PUT16(R[param1 DIV 256] + param2, R[param1 MOD 256]) - |opSTW: SYSTEM.PUT32(R[param1 DIV 256] + param2, R[param1 MOD 256]) - |opSTD: SYSTEM.PUT(R[param1 DIV 256] + param2, R[param1 MOD 256]) - |opSTBC: SYSTEM.PUT8(R[param1], param2) - |opSTHC: SYSTEM.PUT16(R[param1], param2) - |opSTWC: SYSTEM.PUT32(R[param1], param2) - |opSTDC: SYSTEM.PUT(R[param1], param2) - |opAND: R[param1] := ORD(BITS(R[param1]) * BITS(R[param2])) - |opANDC: R[param1] := ORD(BITS(R[param1]) * BITS(param2)) - |opOR: R[param1] := ORD(BITS(R[param1]) + BITS(R[param2])) - |opORC: R[param1] := ORD(BITS(R[param1]) + BITS(param2)) - |opXOR: R[param1] := ORD(BITS(R[param1]) / BITS(R[param2])) - |opXORC: R[param1] := ORD(BITS(R[param1]) / BITS(param2)) - |opASR: R[param1] := ASR(R[param1], R[param2]) - |opASRC: R[param1] := ASR(R[param1], param2) - |opLSR: R[param1] := LSR(R[param1], R[param2]) - |opLSRC: R[param1] := LSR(R[param1], param2) - |opLSL: R[param1] := LSL(R[param1], R[param2]) - |opLSLC: R[param1] := LSL(R[param1], param2) - |opROR: R[param1] := ROR(R[param1], R[param2]) - |opRORC: R[param1] := ROR(R[param1], param2) - |opLEA: R[param1 MOD 256] := Sections[param1 DIV 256] + param2 - (*|opLABEL:*) - |opSYSCALL: syscall(R[param1]) - |opADDRC: R[param1 MOD 256] := R[param1 DIV 256] + param2 - |opCMP: fl := R[param1] < R[param2]; fe := R[param1] = R[param2]; fb := fl & (R[param1] >= 0) - |opCMPC: fl := R[param1] < param2; fe := R[param1] = param2; fb := fl & (R[param1] >= 0) - |opJEQ: IF fe THEN cmd := Labels[param1] END - |opJNE: IF ~fe THEN cmd := Labels[param1] END - |opJLT: IF fl THEN cmd := Labels[param1] END - |opJLE: IF fl OR fe THEN cmd := Labels[param1] END - |opJGT: IF ~fl & ~fe THEN cmd := Labels[param1] END - |opJGE: IF ~fl THEN cmd := Labels[param1] END - |opSEQ: R[param1] := ORD(fe) - |opSNE: R[param1] := ORD(~fe) - |opSLT: R[param1] := ORD(fl) - |opSLE: R[param1] := ORD(fl OR fe) - |opSGT: R[param1] := ORD(~fl & ~fe) - |opSGE: R[param1] := ORD(~fl) - |opJBT: IF fb THEN cmd := Labels[param1] END - |opBIT: R[param1] := ORD({R[param2]}) - END; - cmd := cmd.next - END -END exec; - - -PROCEDURE disasm (name: ARRAY OF CHAR; t_count, c_count, glob, heap: INTEGER); -VAR - cmd: COMMAND; - param1, param2, i, t, ptr: INTEGER; - b: BYTE; - Names: ARRAY 5, 16 OF CHAR; - - - PROCEDURE String (s: ARRAY OF CHAR); - VAR - n: INTEGER; - - BEGIN - n := LENGTH(s); - IF n > LEN(buf) - cnt THEN - ASSERT(File.Write(F, SYSTEM.ADR(buf[0]), cnt) = cnt); - cnt := 0 - END; - SYSTEM.MOVE(SYSTEM.ADR(s[0]), SYSTEM.ADR(buf[0]) + cnt, n); - INC(cnt, n) - END String; - - - PROCEDURE Ln; - BEGIN - String(0DX + 0AX) - END Ln; - - - PROCEDURE hexdgt (n: INTEGER): CHAR; - BEGIN - IF n < 10 THEN - INC(n, ORD("0")) - ELSE - INC(n, ORD("A") - 10) - END - - RETURN CHR(n) - END hexdgt; - - - PROCEDURE Hex (x: INTEGER); - VAR - str: ARRAY 19 OF CHAR; - n: INTEGER; - - BEGIN - n := szWORD * 2 + 2; - str[n] := 0X; - WHILE n > 2 DO - str[n - 1] := hexdgt(x MOD 16); - x := x DIV 16; - DEC(n) - END; - str[1] := "x"; - str[0] := "0"; - String(str) - END Hex; - - - PROCEDURE Byte (x: BYTE); - VAR - str: ARRAY 5 OF CHAR; - - BEGIN - str[4] := 0X; - str[3] := hexdgt(x MOD 16); - str[2] := hexdgt(x DIV 16); - str[1] := "x"; - str[0] := "0"; - String(str) - END Byte; - - - PROCEDURE Reg (n: INTEGER); - VAR - s: ARRAY 2 OF CHAR; - BEGIN - IF n = BP THEN - String("BP") - ELSIF n = SP THEN - String("SP") - ELSE - String("R"); - s[1] := 0X; - IF n >= 10 THEN - s[0] := CHR(n DIV 10 + ORD("0")); - String(s) - END; - s[0] := CHR(n MOD 10 + ORD("0")); - String(s) - END - END Reg; - - - PROCEDURE Reg2 (r1, r2: INTEGER); - BEGIN - Reg(r1); String(", "); Reg(r2) - END Reg2; - - - PROCEDURE RegC (r, c: INTEGER); - BEGIN - Reg(r); String(", "); Hex(c) - END RegC; - - - PROCEDURE RegL (r, label: INTEGER); - BEGIN - Reg(r); String(", L"); Hex(label) - END RegL; - - -BEGIN - Names[Types] := "TYPES"; - Names[Strings] := "STRINGS"; - Names[Global] := "GLOBAL"; - Names[Heap] := "HEAP"; - Names[Stack] := "STACK"; - - F := File.Create(name); - ASSERT(F > 0); - cnt := 0; - String("CODE:"); Ln; - cmd := first; - WHILE cmd # NIL DO - param1 := cmd.param1; - param2 := cmd.param2; - CASE cmd.op OF - |opSTOP: String("STOP") - |opRET: String("RET") - |opENTER: String("ENTER "); Hex(param1) - |opPOP: String("POP "); Reg(param1) - |opNEG: String("NEG "); Reg(param1) - |opNOT: String("NOT "); Reg(param1) - |opNOP: String("NOP") - |opXCHG: String("XCHG "); Reg2(param1, param2) - |opLDB: String("LDB "); Reg(param1 MOD 256); String(", ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("]") - |opLDH: String("LDH "); Reg(param1 MOD 256); String(", ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("]") - |opLDW: String("LDW "); Reg(param1 MOD 256); String(", ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("]") - |opLDD: String("LDD "); Reg(param1 MOD 256); String(", ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("]") - |opPUSH: String("PUSH "); Reg(param1) - |opPUSHC: String("PUSH "); Hex(param1) - |opLLA: String("LLA "); RegL(param1, param2) - |opJMP: String("JMP L"); Hex(param1) - |opCALL: String("CALL L"); Hex(param1) - |opCALLI: String("CALL "); Reg(param1) - |opMOV: String("MOV "); Reg2(param1, param2) - |opMOVC: String("MOV "); RegC(param1, param2) - |opMUL: String("MUL "); Reg2(param1, param2) - |opMULC: String("MUL "); RegC(param1, param2) - |opADD: String("ADD "); Reg2(param1, param2) - |opADDC: String("ADD "); RegC(param1, param2) - |opSUB: String("SUB "); Reg2(param1, param2) - |opSUBC: String("SUB "); RegC(param1, param2) - |opDIV: String("DIV "); Reg2(param1, param2) - |opDIVC: String("DIV "); RegC(param1, param2) - |opMOD: String("MOD "); Reg2(param1, param2) - |opMODC: String("MOD "); RegC(param1, param2) - |opSTB: String("STB ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("], "); Reg(param1 MOD 256) - |opSTH: String("STH ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("], "); Reg(param1 MOD 256) - |opSTW: String("STW ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("], "); Reg(param1 MOD 256) - |opSTD: String("STD ["); Reg(param1 DIV 256); String(" + "); Hex(param2); String("], "); Reg(param1 MOD 256) - |opSTBC: String("STB ["); Reg(param1); String("], "); Hex(param2) - |opSTHC: String("STH ["); Reg(param1); String("], "); Hex(param2) - |opSTWC: String("STW ["); Reg(param1); String("], "); Hex(param2) - |opSTDC: String("STD ["); Reg(param1); String("], "); Hex(param2) - |opAND: String("AND "); Reg2(param1, param2) - |opANDC: String("AND "); RegC(param1, param2) - |opOR: String("OR "); Reg2(param1, param2) - |opORC: String("OR "); RegC(param1, param2) - |opXOR: String("XOR "); Reg2(param1, param2) - |opXORC: String("XOR "); RegC(param1, param2) - |opASR: String("ASR "); Reg2(param1, param2) - |opASRC: String("ASR "); RegC(param1, param2) - |opLSR: String("LSR "); Reg2(param1, param2) - |opLSRC: String("LSR "); RegC(param1, param2) - |opLSL: String("LSL "); Reg2(param1, param2) - |opLSLC: String("LSL "); RegC(param1, param2) - |opROR: String("ROR "); Reg2(param1, param2) - |opRORC: String("ROR "); RegC(param1, param2) - |opLEA: String("LEA "); Reg(param1 MOD 256); String(", "); String(Names[param1 DIV 256]); String(" + "); Hex(param2) - |opADDRC: String("ADD "); Reg(param1 MOD 256); String(", "); Reg(param1 DIV 256); String(", "); Hex(param2) - |opLABEL: String("L"); Hex(param1); String(":") - |opSYSCALL: String("SYSCALL "); Reg(param1) - |opCMP: String("CMP "); Reg2(param1, param2) - |opCMPC: String("CMP "); RegC(param1, param2) - |opJEQ: String("JEQ L"); Hex(param1) - |opJNE: String("JNE L"); Hex(param1) - |opJLT: String("JLT L"); Hex(param1) - |opJLE: String("JLE L"); Hex(param1) - |opJGT: String("JGT L"); Hex(param1) - |opJGE: String("JGE L"); Hex(param1) - |opSEQ: String("SEQ "); Reg(param1) - |opSNE: String("SNE "); Reg(param1) - |opSLT: String("SLT "); Reg(param1) - |opSLE: String("SLE "); Reg(param1) - |opSGT: String("SGT "); Reg(param1) - |opSGE: String("SGE "); Reg(param1) - |opJBT: String("JBT L"); Hex(param1) - |opBIT: String("BIT "); Reg2(param1, param2) - END; - Ln; - cmd := cmd.next - END; - - String("TYPES:"); - ptr := Sections[Types]; - FOR i := 0 TO t_count - 1 DO - IF i MOD 4 = 0 THEN - Ln; String("WORD ") - ELSE - String(", ") - END; - SYSTEM.GET(ptr, t); INC(ptr, szWORD); - Hex(t) - END; - Ln; - - String("STRINGS:"); - ptr := Sections[Strings]; - FOR i := 0 TO c_count - 1 DO - IF i MOD 8 = 0 THEN - Ln; String("BYTE ") - ELSE - String(", ") - END; - SYSTEM.GET8(ptr, b); INC(ptr); - Byte(b) - END; - Ln; - - String("GLOBAL:"); Ln; - String("WORDS "); Hex(glob); Ln; - String("HEAP:"); Ln; - String("WORDS "); Hex(heap); Ln; - String("STACK:"); Ln; - String("WORDS 8"); Ln; - - ASSERT(File.Write(F, SYSTEM.ADR(buf[0]), cnt) = cnt); - File.Close(F) -END disasm; - - -PROCEDURE GetCommand (adr: INTEGER): COMMAND; -VAR - op, param1, param2: INTEGER; - res: COMMAND; - -BEGIN - op := 0; param1 := 0; param2 := 0; - SYSTEM.GET(adr, op); - SYSTEM.GET(adr + szWORD, param1); - SYSTEM.GET(adr + szWORD * 2, param2); - NEW(res); - res.op := op; - res.param1 := param1; - res.param2 := param2; - res.next := NIL - - RETURN res -END GetCommand; - - -PROCEDURE main; -VAR - name, param: ARRAY 1024 OF CHAR; - cmd: COMMAND; - file, fsize, n: INTEGER; - - descr: ARRAY 12 OF INTEGER; - - offTypes, offStrings, GlobalSize, HeapStackSize, DescrSize: INTEGER; - -BEGIN - Out.Open; - Args.GetArg(1, name); - F := File.Open(name, File.OPEN_R); - IF F > 0 THEN - DescrSize := LEN(descr) * SYSTEM.SIZE(INTEGER); - fsize := File.Seek(F, 0, File.SEEK_END); - ASSERT(fsize > DescrSize); - file := API._NEW(fsize); - ASSERT(file # 0); - n := File.Seek(F, 0, File.SEEK_BEG); - ASSERT(fsize = File.Read(F, file, fsize)); - File.Close(F); - - SYSTEM.MOVE(file + fsize - DescrSize, SYSTEM.ADR(descr[0]), DescrSize); - offTypes := descr[0]; - ASSERT(offTypes < fsize - DescrSize); - ASSERT(offTypes > 0); - ASSERT(offTypes MOD (3 * szWORD) = 0); - offStrings := descr[1]; - ASSERT(offStrings < fsize - DescrSize); - ASSERT(offStrings > 0); - ASSERT(offStrings MOD szWORD = 0); - ASSERT(offStrings > offTypes); - GlobalSize := descr[2]; - ASSERT(GlobalSize > 0); - HeapStackSize := descr[3]; - ASSERT(HeapStackSize > 0); - - Sections[Types] := API._NEW(offStrings - offTypes); - ASSERT(Sections[Types] # 0); - SYSTEM.MOVE(file + offTypes, Sections[Types], offStrings - offTypes); - - Sections[Strings] := API._NEW(fsize - offStrings - DescrSize); - ASSERT(Sections[Strings] # 0); - SYSTEM.MOVE(file + offStrings, Sections[Strings], fsize - offStrings - DescrSize); - - Sections[Global] := API._NEW(GlobalSize * szWORD); - ASSERT(Sections[Global] # 0); - - Sections[Heap] := API._NEW(HeapStackSize * szWORD); - ASSERT(Sections[Heap] # 0); - - Sections[Stack] := Sections[Heap] + HeapStackSize * szWORD - szWORD*8; - - n := offTypes DIV (3 * szWORD); - - first := GetCommand(file + offTypes - n * (3 * szWORD)); - first.prev := NIL; - last := first; - DEC(n); - WHILE n > 0 DO - cmd := GetCommand(file + offTypes - n * (3 * szWORD)); - IF cmd.op = opLABEL THEN - Labels[cmd.param1] := cmd - END; - last.next := cmd; - cmd.prev := last; - last := cmd; - DEC(n) - END; - file := API._DISPOSE(file); - Args.GetArg(2, param); - IF param = "-dis" THEN - Args.GetArg(3, name); - IF name # "" THEN - disasm(name, (offStrings - offTypes) DIV szWORD, fsize - offStrings - DescrSize, GlobalSize, HeapStackSize) - END - ELSIF param = "-run" THEN - exec(Labels, first, last, Sections) - END - ELSE - Out.String("file not found"); Out.Ln - END -END main; - - -BEGIN - main -END RVMxI. \ No newline at end of file diff --git a/programs/develop/oberon07/tools/RVMxI.txt b/programs/develop/oberon07/tools/RVMxI.txt deleted file mode 100644 index 945ef862be..0000000000 --- a/programs/develop/oberon07/tools/RVMxI.txt +++ /dev/null @@ -1,270 +0,0 @@ - - Экспериментальная 32/64-битная виртуальная машина RVMxI ---------------------------------------------------------------------------------------------------- - -Использование - - Скомпилировать исполнитель/дизассемблер в .\tools\RVMxI.ob07 - для Windows32/64 Console или Linux32/64: - - Compiler.exe .\tools\RVMxI.ob07 win32con -nochk a -out RVMxI.exe - Compiler.exe .\tools\RVMxI.ob07 win64con -nochk a -out RVMxI.exe - Compiler ./tools/RVMxI.ob07 linux32exe -nochk a -out RVMxI - Compiler ./tools/RVMxI.ob07 linux64exe -nochk a -out RVMxI - - Будет создан файл "RVMxI.exe" и/или "RVMxI". - - Компилировать программу в байт-код RVMxI: - - Compiler.exe program.ob07 rvm32i [-ram size] [-def host_linux] - Compiler.exe program.ob07 rvm64i [-ram size] [-def host_linux] - -ram size -- установить размер оперативной памяти для программы в килобайтах 32768..262144 - (32..256 Мбайт), по умолчанию 32768 (32 Мбайт) - -def host_linux -- если байт-код будет исполняться на Linux (по умолчанию -- Windows) - - Будет создан файл "program.bin". - - Выпонить программу: - - RVMxI.exe program.bin -run <параметры> - - Дизассемблировать программу: - - RVMxI.exe program.bin -dis program.txt - - Будет создан файл "program.txt". ---------------------------------------------------------------------------------------------------- - -Архитектура - - Регистры - - Не меньше пяти 32/64-битных регистров: - - R0, R1, R2 регистры общего назначения - BP(R3) указатель кадра стэка - SP(R4) указатель стэка (растет вниз) - - R5, R6... регистры общего назначения (опционально) - - Регистра связи нет (адрес возврата передается через стэк), - регистр-счетчик команд (PC) -- скрытый, регистр флагов -- скрытый. - - Нет вещественных регистров, операции с плавающей точкой (single (32-бит) или double (64-бит)) - эмулируются. - - Формат кадра стэка - - Стэк: - - меньше <- |лок. переменные|старый BP|адрес возврата|парам1|парам2|...|парамN| -> больше - - (* 32 бита *) - адрес(парам1) = BP + 8 - адрес(парам2) = BP + 12 - ... - - (* 64 бита *) - адрес(парам1) = BP + 16 - адрес(парам2) = BP + 24 - ... - - Параметры передаются через стэк справа налево (как cdecl), результат передается через R0, - вызывающая процедура очищает стэк (как cdecl). - ---------------------------------------------------------------------------------------------------- - -Формат "исполняемого" файла - - RECORD - - Text: ARRAY i OF RECORD opcode, param1, param2: INTEGER END; (* байт-код *) - Types: ARRAY t OF INTEGER; (* таблица типов-записей *) - Strings: ARRAY s OF BYTE; (* строковые литералы *) - offTypes: INTEGER; (* смещение таблицы типов-записей от начала файла (в байтах) *) - offStrings: INTEGER; (* смещение строковых литералов от начала файла (в байтах) *) - GlobalSize: INTEGER; (* размер глобальных переменных (в словах; слово = 4 байта) *) - HeapStackSize: INTEGER; (* размер области кучи/стэка (в словах; слово = 4 байта) *) - Reserved: ARRAY 8 OF INTEGER (* зарезервировано *) - - END - - Где: - - INTEGER = INT32/INT64 - i = offTypes DIV (3 * sizeof(INTEGER)); - t = (offStrings - offTypes) DIV sizeof(INTEGER) - s = FILE_SIZE - offStrings - 12 * sizeof(INTEGER) ---------------------------------------------------------------------------------------------------- - -Система команд - - мнемоника опкод парам1 парам2 действие - - STOP 0 0 0 остановить программу - RET 1 0 0 возврат из процедуры (pop PC) - ENTER imm 2 imm 0 push BP; BP := SP; WHILE imm > 0 DO push 0; DEC(imm) END - NEG Rn 3 n 0 Rn := -Rn - NOT Rn 4 n 0 Rn := ORD(-BITS(Rn)) - NOP 5 0 0 нет операции - XCHG Rn, Rm 6 n m temp := Rn; Rn := Rm; Rm := temp - LDB Rn, [Rm + imm] 7 m*256 + n imm Rn := UInt8Ptr(Rm + imm)^ - LDH Rn, [Rm + imm] 8 m*256 + n imm Rn := UInt16Ptr(Rm + imm)^ - LDW Rn, [Rm + imm] 9 m*256 + n imm Rn := UInt32Ptr(Rm + imm)^ -* PUSH Rn 10 n 0 DEC(SP, 4); UInt32Ptr(SP)^ := Rn -* PUSH imm 11 imm 0 DEC(SP, 4); UInt32Ptr(SP)^ := imm -* POP Rn 12 n 0 Rn := UInt32Ptr(SP)^; INC(SP, 4) -** PUSH Rn 10 n 0 DEC(SP, 8); UInt64Ptr(SP)^ := Rn -** PUSH imm 11 imm 0 DEC(SP, 8); UInt64Ptr(SP)^ := imm -** POP Rn 12 n 0 Rn := UInt64Ptr(SP)^; INC(SP, 8) - L#hex: 13 hex 0 метка: - LEA Rn, TYPES + imm 14 n + 000H imm Rn := imm + address(TYPES) - LEA Rn, STRINGS + imm 14 n + 100H imm Rn := imm + address(STRINGS) - LEA Rn, GLOBAL + imm 14 n + 200H imm Rn := imm + address(GLOBAL) - LEA Rn, HEAP + imm 14 n + 300H imm Rn := imm + address(HEAP) - LEA Rn, STACK + imm 14 n + 400H imm Rn := imm + address(STACK) - LLA Rn, L#hex 15 n hex Rn := address(L#hex) -** LDD Rn, [Rm + imm] 16 m*256 + n imm Rn := UInt64Ptr(Rm + imm)^ - - JMP L#hex 19 hex 0 goto L#hex - CALL L#hex 20 hex 0 push PC; goto L#hex - CALL Rn 21 n 0 push PC; goto Rn - MOV Rn, Rm 22 n m Rn := Rm - MOV Rn, imm 23 n imm Rn := imm - MUL Rn, Rm 24 n m Rn := Rn * Rm - MUL Rn, imm 25 n imm Rn := Rm * imm - ADD Rn, Rm 26 n m Rn := Rn + Rm - ADD Rn, imm 27 n imm Rn := Rn + imm - SUB Rn, Rm 28 n m Rn := Rn - Rm - SUB Rn, imm 29 n imm Rn := Rn - imm - DIV Rn, Rm 30 n m Rn := Rn DIV Rm - DIV Rn, imm 31 n imm Rn := Rn DIV imm - MOD Rn, Rm 32 n m Rn := Rn MOD Rm - MOD Rn, imm 33 n imm Rn := Rn MOD imm - STB [Rn + imm], Rm 34 n*256 + m imm UInt8Ptr(Rn + imm)^ := Rm MOD 256 - STB [Rn], imm 35 n imm UInt8Ptr(Rn)^ := imm MOD 256 - STH [Rn + imm], Rm 36 n*256 + m imm UInt16Ptr(Rn + imm)^ := Rm MOD 65536 - STH [Rn], imm 37 n imm UInt16Ptr(Rn)^ := imm MOD 65536 -* STW [Rn + imm], Rm 38 n*256 + m imm UInt32Ptr(Rn + imm)^ := Rm -* STW [Rn], imm 39 n imm UInt32Ptr(Rn)^ := imm -** STW [Rn + imm], Rm 38 n*256 + m imm UInt32Ptr(Rn + imm)^ := Rm MOD 100000000H -** STW [Rn], imm 39 n imm UInt32Ptr(Rn)^ := imm MOD 100000000H -** STD [Rn + imm], Rm 40 n*256 + m imm UInt64Ptr(Rn + imm)^ := Rm -** STD [Rn], imm 41 n imm UInt64Ptr(Rn)^ := imm - - AND Rn, Rm 46 n m Rn := ORD(BITS(Rn) * BITS(Rm)) - AND Rn, imm 47 n imm Rn := ORD(BITS(Rn) * BITS(imm)) - OR Rn, Rm 48 n m Rn := ORD(BITS(Rn) + BITS(Rm)) - OR Rn, imm 49 n imm Rn := ORD(BITS(Rn) + BITS(imm)) - XOR Rn, Rm 50 n m Rn := ORD(BITS(Rn) / BITS(Rm)) - XOR Rn, imm 51 n imm Rn := ORD(BITS(Rn) / BITS(imm)) - ASR Rn, Rm 52 n m Rn := ASR(Rn, Rm) - ASR Rn, imm 53 n imm Rn := ASR(Rn, imm) - LSR Rn, Rm 54 n m Rn := LSR(Rn, Rm) - LSR Rn, imm 55 n imm Rn := LSR(Rn, imm) - LSL Rn, Rm 56 n m Rn := LSL(Rn, Rm) - LSL Rn, imm 57 n imm Rn := LSL(Rn, imm) - ROR Rn, Rm 58 n m Rn := ROR(Rn, Rm) - ROR Rn, imm 59 n imm Rn := ROR(Rn, imm) - - CMP Rn, Rm 64 n m сравнить Rn и Rm - CMP Rn, imm 65 n imm сравнить Rn и imm - BIT Rn, Rm 66 n m Rn := ORD({Rm}) - SYSCALL Rn 67 n 0 системный вызов; Rn содержит адрес параметров - JBT L#hex 68 hex 0 перейти на метку L#hex, если "ниже" - ADD Rn, Rm, imm 69 m*256 + n imm Rn := Rm + imm - JEQ L#hex 70 hex 0 перейти на метку L#hex, если "равно" - JNE L#hex 71 hex 0 перейти на метку L#hex, если "не равно" - JLT L#hex 72 hex 0 перейти на метку L#hex, если "меньше" - JGE L#hex 73 hex 0 перейти на метку L#hex, если "не меньше" - JGT L#hex 74 hex 0 перейти на метку L#hex, если "больше" - JLE L#hex 75 hex 0 перейти на метку L#hex, если "не больше" - SEQ Rn 76 n 0 если "равно": Rn := 1, иначе Rn := 0 - SNE Rn 77 n 0 если "не равно": Rn := 1, иначе Rn := 0 - SLT Rn 78 n 0 если "меньше": Rn := 1, иначе Rn := 0 - SGE Rn 79 n 0 если "не меньше": Rn := 1, иначе Rn := 0 - SGT Rn 80 n 0 если "больше": Rn := 1, иначе Rn := 0 - SLE Rn 81 n 0 если "не больше": Rn := 1, иначе Rn := 0 - -Команда CMP сохраняет результат сравнения в скрытом регистре, этот результат используется -в командах перехода по условию (JEQ, JNE, JLT, JGE, JGT, JLE, JBT) а также в командах -установки регистра по условию (SEQ, SNE, SLT, SGE, SGT, SLE). - -* Команда для 32-битной виртуальной машины -** Команда для 64-битной виртуальной машины - ---------------------------------------------------------------------------------------------------- - -Общая структура программы - - CODE: (* машинный код *) - LEA SP, STACK + 0x00000000 (* точка входа; инициализация регистра SP *) - ... - STOP (* конец программы *) - - TYPES: (* таблица типов-записей *) - WORD 0x00000000, 0x00000000, 0x00000000, 0x00000000 - WORD 0x00000002, 0x00000002, 0x00000002, 0x00000002 - WORD 0x00000000, 0x00000006, 0x00000000, 0x00000000 - WORD 0x00000002, 0x00000000, 0x0000000D, 0x0000000E - WORD 0x0000000C, 0x0000000E, 0x0000000C, 0x00000000 - WORD 0x00000000, 0x0000000C, 0x0000000C, 0x00000016 - WORD 0x00000000, 0x0000000C, 0x0000000C, 0x0000000C - WORD 0x00000000, 0x00000000, 0x0000000C, 0x0000000C - WORD 0x0000000C, 0x0000000C, 0x0000000C, 0x0000000C - WORD 0x0000000C, 0x0000000C, 0x00000000, 0x00000000 - WORD 0x0000000C, 0x0000000C, 0x0000000C, 0x00000000 - WORD 0x00000000, 0x0000000C, 0x0000002D, 0x0000002D - WORD 0x0000002D, 0x00000030, 0x00000030, 0x00000030 - WORD 0x00000030, 0x0000002D, 0x00000000, 0x00000000 - WORD 0x0000000A, 0x00000000, 0x00000002, 0x00000000 - WORD 0x00000000, 0x00000000, 0x00000000, 0x00000000 - WORD 0x00000000, 0x00000000, 0x00000000, 0x00000000 - WORD 0x00000000, 0x0000000C, 0x0000000C, 0x00000000 - WORD 0x00000000, 0x0000000C, 0x00000049, 0x00000049 - WORD 0x00000049, 0x0000004C, 0x0000004C, 0x0000004C - WORD 0x00000049, 0x0000000C, 0x00000000, 0x0000000C - WORD 0x00000053, 0x00000053, 0x00000053, 0x00000053 - WORD 0x0000000C, 0x00000000, 0x00000000, 0x00000000 - WORD 0x00000006, 0x0000000C - - STRINGS: (* строковые литералы *) - BYTE 0x46, 0x50, 0x55, 0x00, 0x54, 0x72, 0x61, 0x70 - BYTE 0x00, 0x0D, 0x0A, 0x00, 0x61, 0x73, 0x73, 0x65 - BYTE 0x72, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x66, 0x61 - BYTE 0x69, 0x6C, 0x75, 0x72, 0x65, 0x00, 0x4E, 0x49 - BYTE 0x4C, 0x20, 0x64, 0x65, 0x72, 0x65, 0x66, 0x65 - BYTE 0x72, 0x65, 0x6E, 0x63, 0x65, 0x00, 0x62, 0x61 - BYTE 0x64, 0x20, 0x64, 0x69, 0x76, 0x69, 0x73, 0x6F - BYTE 0x72, 0x00, 0x4E, 0x49, 0x4C, 0x20, 0x70, 0x72 - BYTE 0x6F, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x20 - BYTE 0x63, 0x61, 0x6C, 0x6C, 0x00, 0x74, 0x79, 0x70 - BYTE 0x65, 0x20, 0x67, 0x75, 0x61, 0x72, 0x64, 0x20 - BYTE 0x65, 0x72, 0x72, 0x6F, 0x72, 0x00, 0x69, 0x6E - BYTE 0x64, 0x65, 0x78, 0x20, 0x6F, 0x75, 0x74, 0x20 - BYTE 0x6F, 0x66, 0x20, 0x72, 0x61, 0x6E, 0x67, 0x65 - BYTE 0x00, 0x69, 0x6E, 0x76, 0x61, 0x6C, 0x69, 0x64 - BYTE 0x20, 0x43, 0x41, 0x53, 0x45, 0x00, 0x61, 0x72 - BYTE 0x72, 0x61, 0x79, 0x20, 0x61, 0x73, 0x73, 0x69 - BYTE 0x67, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x20, 0x65 - BYTE 0x72, 0x72, 0x6F, 0x72, 0x00, 0x43, 0x48, 0x52 - BYTE 0x20, 0x6F, 0x75, 0x74, 0x20, 0x6F, 0x66, 0x20 - BYTE 0x72, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x57, 0x43 - BYTE 0x48, 0x52, 0x20, 0x6F, 0x75, 0x74, 0x20, 0x6F - BYTE 0x66, 0x20, 0x72, 0x61, 0x6E, 0x67, 0x65, 0x00 - BYTE 0x42, 0x59, 0x54, 0x45, 0x20, 0x6F, 0x75, 0x74 - BYTE 0x20, 0x6F, 0x66, 0x20, 0x72, 0x61, 0x6E, 0x67 - BYTE 0x65, 0x00, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x20 - BYTE 0x28, 0x00, 0x29, 0x3A, 0x20, 0x00, 0x6D, 0x6F - BYTE 0x64, 0x75, 0x6C, 0x65, 0x3A, 0x20, 0x00, 0x6C - BYTE 0x69, 0x6E, 0x65, 0x3A, 0x20, 0x00, 0x52, 0x54 - BYTE 0x4C, 0x00, 0x54, 0x65, 0x73, 0x74, 0x00, 0x00 - - GLOBAL: - WORDS 0x00000004 (* размер глобальных переменных в словах (слово = 4 или 8 байт) *) - - HEAP: - WORDS 0x007FFFBF (* размер области кучи/стэка в словах (слово = 4 или 8 байт) *) - STACK: - WORDS 8 (* зарезервировано *) ----------------------------------------------------------------------------------------------------