A cross-platform simulator for the GreenArrays GA144 multi-computer chip.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Make Word signed.

Derp.

+8 -8
+1 -1
src/f18.zig
··· 1 1 //! F18A is a 18-bit computer architecture designed by Chuck Moore. 2 2 3 - pub const Word = u18; 3 + pub const Word = i18; 4 4 5 5 /// type used by the P register 6 6 const ProgramCounter = packed struct(u10) {
+7 -7
src/opcodes.zig
··· 382 382 383 383 test shl { 384 384 var computer: Computer = .reset; 385 - computer.data_stack.t = 0b101010101010101010; 385 + computer.data_stack.t = 0b00101010101010101; 386 386 387 387 shl(&computer); 388 - try expectEqual(0b010101010101010100, computer.data_stack.t); 388 + try expectEqual(0b1010101010101010, computer.data_stack.t); 389 389 } 390 390 391 391 /// 2/ ··· 397 397 398 398 test shr { 399 399 var computer: Computer = .reset; 400 - computer.data_stack.t = 0b101010101010101010; 400 + computer.data_stack.t = 0b001010101010101010; 401 401 402 402 shr(&computer); 403 - try expectEqual(0b010101010101010101, computer.data_stack.t); 403 + try expectEqual(0b101010101010101, computer.data_stack.t); 404 404 } 405 405 406 406 /// inv ··· 412 412 413 413 test inv { 414 414 var computer: Computer = .reset; 415 - computer.data_stack.t = 0b101010101010101010; 415 + computer.data_stack.t = 0b001010101010101010; 416 416 417 417 inv(&computer); 418 - try expectEqual(0b010101010101010101, computer.data_stack.t); 418 + try expectEqual(-0b1010101010101011, computer.data_stack.t); 419 419 420 420 computer.data_stack.t = 0; 421 421 inv(&computer); 422 - try expectEqual(0x3ffff, computer.data_stack.t); 422 + try expectEqual(-1, computer.data_stack.t); 423 423 } 424 424 425 425 /// +