Sistemato assembling di LODI,LODR,STRI,STRR
This commit is contained in:
parent
6f9e7db4ee
commit
a6475f3500
@ -425,7 +425,7 @@ op_names = [["MOVI", "imm2reg"],
|
||||
["MOVR", "reg2reg"],
|
||||
["LODI", "imm2reg"],
|
||||
["LODR", "reg2reg"],
|
||||
["STRI", "imm2reg"],
|
||||
["STRI", "reg2imm"],
|
||||
["STRR", "reg2reg"],
|
||||
["ADDI", "imm2reg"],
|
||||
["ADDR", "reg2reg"],
|
||||
@ -489,7 +489,7 @@ alpha_re = re.compile("^[a-zA-Z]*$")
|
||||
register_re = re.compile("(^[rRsS][0-4]$)|([iIrRsS][pP]$)")
|
||||
label_re = re.compile("^([a-zA-Z]+)\:(?:\ *\#.*)?$")
|
||||
symcall_re = re.compile("^(?:[jJ][pPmM][pPaAbBeEnN][iIrR]|(?:[cC][aA][lL]{2}))\ +([\w]+)(?:\ *\#.*)?$")
|
||||
|
||||
commentline_re = re.compile("^\ *\#.*")
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 4:
|
||||
@ -499,7 +499,7 @@ def main():
|
||||
|
||||
with open(sys.argv[2], 'r') as f:
|
||||
filedata = f.readlines()
|
||||
filedata = [x.strip() for x in filedata if x.strip()]
|
||||
filedata = [x.strip() for x in filedata if x.strip() and not commentline_re.match(x)]
|
||||
|
||||
vma = VMAssembler(sys.argv[1], filedata)
|
||||
print(vma.functions)
|
||||
|
@ -11,11 +11,15 @@ void encrypt(uint16_t *v) {
|
||||
uint16_t k1 = 0x7065; // "pe"
|
||||
uint16_t k2 = 0x7275; // "ru"
|
||||
uint16_t k3 = 0x6e73; // "ns"
|
||||
printf("v0: 0x%x, v1: 0x%x\n", v0, v1);
|
||||
for (i = 0; i < 128; i++) {
|
||||
sum += delta;
|
||||
v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
|
||||
v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
|
||||
printf("Intermediate v0: 0x%x | v1: 0x%x\n", v0, v1);
|
||||
}
|
||||
printf("SUM: 0x%x\n", sum);
|
||||
printf("v0: 0x%x, v1: 0x%x\n", v0, v1);
|
||||
v[0] = v0;
|
||||
v[1] = v1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user