Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Four-bit-adder/BBC-BASIC/four-bit-adder.basic
Normal file
45
Task/Four-bit-adder/BBC-BASIC/four-bit-adder.basic
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
@% = 2
|
||||
PRINT "1100 + 1100 = ";
|
||||
PROC4bitadd(1,1,0,0, 1,1,0,0, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1100 + 1101 = ";
|
||||
PROC4bitadd(1,1,0,0, 1,1,0,1, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1100 + 1110 = ";
|
||||
PROC4bitadd(1,1,0,0, 1,1,1,0, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1100 + 1111 = ";
|
||||
PROC4bitadd(1,1,0,0, 1,1,1,1, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1101 + 0000 = ";
|
||||
PROC4bitadd(1,1,0,1, 0,0,0,0, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1101 + 0001 = ";
|
||||
PROC4bitadd(1,1,0,1, 0,0,0,1, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1101 + 0010 = ";
|
||||
PROC4bitadd(1,1,0,1, 0,0,1,0, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
PRINT "1101 + 0011 = ";
|
||||
PROC4bitadd(1,1,0,1, 0,0,1,1, e,d,c,b,a) : PRINT e,d,c,b,a
|
||||
END
|
||||
|
||||
DEF PROC4bitadd(a3&, a2&, a1&, a0&, b3&, b2&, b1&, b0&, \
|
||||
\ RETURN c3&, RETURN s3&, RETURN s2&, RETURN s1&, RETURN s0&)
|
||||
LOCAL c0&, c1&, c2&
|
||||
PROCfulladder(a0&, b0&, 0, s0&, c0&)
|
||||
PROCfulladder(a1&, b1&, c0&, s1&, c1&)
|
||||
PROCfulladder(a2&, b2&, c1&, s2&, c2&)
|
||||
PROCfulladder(a3&, b3&, c2&, s3&, c3&)
|
||||
ENDPROC
|
||||
|
||||
DEF PROCfulladder(a&, b&, c&, RETURN s&, RETURN c1&)
|
||||
LOCAL x&, y&, z&
|
||||
PROChalfadder(a&, c&, x&, y&)
|
||||
PROChalfadder(x&, b&, s&, z&)
|
||||
c1& = y& OR z&
|
||||
ENDPROC
|
||||
|
||||
DEF PROChalfadder(a&, b&, RETURN s&, RETURN c&)
|
||||
s& = FNxorgate(a&, b&)
|
||||
c& = a& AND b&
|
||||
ENDPROC
|
||||
|
||||
DEF FNxorgate(a&, b&)
|
||||
LOCAL c&, d&
|
||||
c& = a& AND NOT b&
|
||||
d& = b& AND NOT a&
|
||||
= c& OR d&
|
||||
Loading…
Add table
Add a link
Reference in a new issue