diff --git a/debugRAM b/debugRAM new file mode 100644 index 0000000..7310c93 --- /dev/null +++ b/debugRAM @@ -0,0 +1,255 @@ +0:0x10010000 +1:0x111 +2:0x10100000 +3:0x1000 +4:0x11000000 +5:0x1001 +6:0x11100001 +7:0x10 +8:0x11 +9:101 +10:0x10000000 +11:0x10000000 +12:0x10000000 +13:0x10000000 +14:0x10000000 +15:0x10000000 +16:0x10000000 +17:0x10000000 +18:0x10000000 +19:0x10000000 +20:0x10000000 +21:0x10000000 +22:0x10000000 +23:0x10000000 +24:0x10000000 +25:0x10000000 +26:0x10000000 +27:0x10000000 +28:0x10000000 +29:0x10000000 +30:0x10000000 +31:0x10000000 +32:0x10000000 +33:0x10000000 +34:0x10000000 +35:0x10000000 +36:0x10000000 +37:0x10000000 +38:0x10000000 +39:0x10000000 +40:0x10000000 +41:0x10000000 +42:0x10000000 +43:0x10000000 +44:0x10000000 +45:0x10000000 +46:0x10000000 +47:0x10000000 +48:0x10000000 +49:0x10000000 +50:0x10000000 +51:0x10000000 +52:0x10000000 +53:0x10000000 +54:0x10000000 +55:0x10000000 +56:0x10000000 +57:0x10000000 +58:0x10000000 +59:0x10000000 +60:0x10000000 +61:0x10000000 +62:0x10000000 +63:0x10000000 +64:0x10000000 +65:0x10000000 +66:0x10000000 +67:0x10000000 +68:0x10000000 +69:0x10000000 +70:0x10000000 +71:0x10000000 +72:0x10000000 +73:0x10000000 +74:0x10000000 +75:0x10000000 +76:0x10000000 +77:0x10000000 +78:0x10000000 +79:0x10000000 +80:0x10000000 +81:0x10000000 +82:0x10000000 +83:0x10000000 +84:0x10000000 +85:0x10000000 +86:0x10000000 +87:0x10000000 +88:0x10000000 +89:0x10000000 +90:0x10000000 +91:0x10000000 +92:0x10000000 +93:0x10000000 +94:0x10000000 +95:0x10000000 +96:0x10000000 +97:0x10000000 +98:0x10000000 +99:0x10000000 +100:0x10000000 +101:0x10000000 +102:0x10000000 +103:0x10000000 +104:0x10000000 +105:0x10000000 +106:0x10000000 +107:0x10000000 +108:0x10000000 +109:0x10000000 +110:0x10000000 +111:0x10000000 +112:0x10000000 +113:0x10000000 +114:0x10000000 +115:0x10000000 +116:0x10000000 +117:0x10000000 +118:0x10000000 +119:0x10000000 +120:0x10000000 +121:0x10000000 +122:0x10000000 +123:0x10000000 +124:0x10000000 +125:0x10000000 +126:0x10000000 +127:0x10000000 +128:0x10000000 +129:0x10000000 +130:0x10000000 +131:0x10000000 +132:0x10000000 +133:0x10000000 +134:0x10000000 +135:0x10000000 +136:0x10000000 +137:0x10000000 +138:0x10000000 +139:0x10000000 +140:0x10000000 +141:0x10000000 +142:0x10000000 +143:0x10000000 +144:0x10000000 +145:0x10000000 +146:0x10000000 +147:0x10000000 +148:0x10000000 +149:0x10000000 +150:0x10000000 +151:0x10000000 +152:0x10000000 +153:0x10000000 +154:0x10000000 +155:0x10000000 +156:0x10000000 +157:0x10000000 +158:0x10000000 +159:0x10000000 +160:0x10000000 +161:0x10000000 +162:0x10000000 +163:0x10000000 +164:0x10000000 +165:0x10000000 +166:0x10000000 +167:0x10000000 +168:0x10000000 +169:0x10000000 +170:0x10000000 +171:0x10000000 +172:0x10000000 +173:0x10000000 +174:0x10000000 +175:0x10000000 +176:0x10000000 +177:0x10000000 +178:0x10000000 +179:0x10000000 +180:0x10000000 +181:0x10000000 +182:0x10000000 +183:0x10000000 +184:0x10000000 +185:0x10000000 +186:0x10000000 +187:0x10000000 +188:0x10000000 +189:0x10000000 +190:0x10000000 +191:0x10000000 +192:0x10000000 +193:0x10000000 +194:0x10000000 +195:0x10000000 +196:0x10000000 +197:0x10000000 +198:0x10000000 +199:0x10000000 +200:0x10000000 +201:0x10000000 +202:0x10000000 +203:0x10000000 +204:0x10000000 +205:0x10000000 +206:0x10000000 +207:0x10000000 +208:0x10000000 +209:0x10000000 +210:0x10000000 +211:0x10000000 +212:0x10000000 +213:0x10000000 +214:0x10000000 +215:0x10000000 +216:0x10000000 +217:0x10000000 +218:0x10000000 +219:0x10000000 +220:0x10000000 +221:0x10000000 +222:0x10000000 +223:0x10000000 +224:0x10000000 +225:0x10000000 +226:0x10000000 +227:0x10000000 +228:0x10000000 +229:0x10000000 +230:0x10000000 +231:0x10000000 +232:0x10000000 +233:0x10000000 +234:0x10000000 +235:0x10000000 +236:0x10000000 +237:0x10000000 +238:0x10000000 +239:0x10000000 +240:0x10000000 +241:0x10000000 +242:0x10000000 +243:0x10000000 +244:0x10000000 +245:0x10000000 +246:0x10000000 +247:0x10000000 +248:0x10000000 +249:0x10000000 +250:0x10000000 +251:0x10000000 +252:0x10000000 +253:0x10000000 +254:0x10000000 diff --git a/example add programm.txt b/example add programm.txt new file mode 100644 index 0000000..b159da2 --- /dev/null +++ b/example add programm.txt @@ -0,0 +1,10 @@ +load 111 to a + +load 1000 to b + +sto a+b to 1001 + +HALT +num1 +num2 +sum diff --git a/instruction set.txt b/instruction set.txt new file mode 100644 index 0000000..d319d44 --- /dev/null +++ b/instruction set.txt @@ -0,0 +1,23 @@ +0x10000000 : NULL +0x10010*** : load [add] to a +0x10100*** : load [add] to b +0x10110*** : load *[add] to a +0x11111*** : load *[add] to b +0x11010*** : sto a to [add] +0x11100*** : sto b to [add] +0x11110*** : sto a to *[add] +0x10000*** : sto b to *[add] +0x10001*** : sto a<<(b) to [add] +0x10010*1* : sto a>>(b) to [add] +0x10011*** : sto a and b to [add] +0x10100*** : sto a or b to [add] +0x10101*** : sto not(a) to [add] +0x10110*** : sto a xor b to [add] +0x10111*** : sto a<< to [add] +0x11000*** : sto a+b to [add] +0x11001*** : goto [cadd] +0x11010*** : goto *[cadd] +0x11011*** : if a=b goto [cadd] +0x11100*** : if a>b goto [cadd] +0x11101*** : if a registerb[0]: + line = int(arg, 2) + elif command == "0x11101000": + if registera[0] < registerb[0]: + line = int(arg, 2) + elif command == "0x11100001": + print() + print("programm finished") + updateRAM(RAM) + exit() + + updateRAM(RAM) + +print() +print("programm finished") +updateRAM(RAM) \ No newline at end of file diff --git a/programm_editor.py b/programm_editor.py new file mode 100644 index 0000000..b213816 --- /dev/null +++ b/programm_editor.py @@ -0,0 +1,21 @@ +import ast +file = open("RAM", 'r') +file = file.read() +file = ast.literal_eval(file) +while True: + temp = "" + for i in file: + temp = temp + i + ":" + file[i] + "\n" + print(temp) + addr = input("addresse: ") + command = input("befehl: ") + arg = input("argument: ") + file[addr] = command + file[str(int(addr)+1)] = arg + if input("beenden?") == "y": + break +code = file + +file = open("RAM", 'w') +file.write(str(code)) +file.close() \ No newline at end of file