fix some file extensions
This commit is contained in:
parent
68f8f3e56b
commit
f3a896c724
789 changed files with 91 additions and 62 deletions
29
Task/Four-bit-adder/TorqueScript/four-bit-adder.torque
Normal file
29
Task/Four-bit-adder/TorqueScript/four-bit-adder.torque
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
function XOR(%a, %b)
|
||||
{
|
||||
return (!%a && %b) || (%a && !%b);
|
||||
}
|
||||
|
||||
//Seperated by space
|
||||
function HalfAdd(%a, %b)
|
||||
{
|
||||
return XOR(%a, %b) SPC %a && %b;
|
||||
}
|
||||
|
||||
//First word is the carry bit
|
||||
function FullAdd(%a, %b, %c0)
|
||||
{
|
||||
%r1 = HalfAdd(%a, %c0);
|
||||
%r2 = HalfAdd(getWord(%r1, 0), %b);
|
||||
%r3 = getWord(%r1, 1) || getWord(%r2, 1);
|
||||
return %r3 SPC getWord(%r2, 0);
|
||||
}
|
||||
|
||||
//Outputs each bit seperated by a space.
|
||||
function FourBitFullAdd(%a0, %a1, %a2, %a3, %b0, %b1, %b2, %b3)
|
||||
{
|
||||
%r0 = FullAdd(%a0, %b0, 0);
|
||||
%r1 = FullAdd(%a1, %b1, getWord(%r0, 0));
|
||||
%r2 = FullAdd(%a2, %b2, getWord(%r1, 0));
|
||||
%r3 = FullAdd(%a3, %b3, getWord(%r2, 0));
|
||||
return getWord(%r0,1) SPC getWord(%r1,1) SPC getWord(%r2,1) SPC getWord(%r3,1) SPC getWord(%r3,0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue