diff --git a/main.c b/main.c index b0a0f3f..a87a59b 100644 --- a/main.c +++ b/main.c @@ -36,13 +36,13 @@ int main(int argc, char **argv) { asm_rules(in_asm, out_asm); asm_to_hex(out_asm, &hex_op, &hex_in0, &hex_in1, &hex_out); - printf("%.5x %.5x %.5x %.5x\n", hex_op, hex_in0, hex_in1, hex_out); + printf("%.7x %.7x %.7x %.7x\n", hex_op, hex_in0, hex_in1, hex_out); // Write the hex to a file - fprintf(dest_asm,"%.5x ", hex_op); - fprintf(dest_asm,"%.5x ", hex_in0); - fprintf(dest_asm,"%.5x ", hex_in1); - fprintf(dest_asm,"%.5x \n", hex_out); - size = size + 3; //1 word = 3trytes + fprintf(dest_asm,"%.7x ", hex_op); + fprintf(dest_asm,"%.7x ", hex_in0); + fprintf(dest_asm,"%.7x ", hex_in1); + fprintf(dest_asm,"%.7x \n", hex_out); + size = size + 2; //1 word = 2trytes } } @@ -102,9 +102,9 @@ void asm_to_hex(char *_asm, int *opcode, int *in0, int *in1, int *out){ //convert assembly to formated binary representation of ternary int i = 0; do { - if(_asm[0]=='-') { + if(_asm[i]=='-') { strcat(tryte, "10"); - } else if (_asm[0]=='+') { + } else if (_asm[i]=='+') { strcat(tryte, "01"); } else { strcat(tryte, "00"); @@ -117,7 +117,7 @@ void asm_to_hex(char *_asm, int *opcode, int *in0, int *in1, int *out){ t0[i] = tryte[j]; j++; } - j++; + printf("%s\n",t0); bin_to_hex(t0, opcode); bin_to_hex(t1, in0);