#6 函數(shù)(Part.4)除法,函數(shù)


1.除法

直接貼代碼
把被除數(shù)和除數(shù)輸入,放在寄存器
因?yàn)楫?dāng)除數(shù)是1的話,商就等于被除數(shù),做一個(gè)特判
可以節(jié)省很多時(shí)間
然后就讓被除數(shù)不斷被除數(shù)減,直到被除數(shù)小于除數(shù)就輸出結(jié)果、
總延遲86 時(shí)鐘刻246 總用時(shí)21156

2.函數(shù)
先更新一下指令集

然后修改一下硬件線路

①允許計(jì)數(shù)器的值+4之后被壓棧
②允許彈棧輸出的數(shù)值進(jìn)入結(jié)果總線
不算很復(fù)雜,只是有些地方的通路需要稍微增加,然后用開關(guān)控制一下就行
隨便寫的一小段代碼測(cè)試遞歸

自定義匯編別名:
null:000000(0)
add:00000000(0)
sub:00000001(1)
input:00000111(7)
output:00000111(7)
ram_r:00010000(16)
ram_w:00010001(17)
equal:00100000(32)
less_than:00100010(34)
pop:00110000(48)
push:00110001(49)
return:00111000(56)
call:00111001(57)
j:01000000(64)
i:10000000(128)
reg0-reg5:00000000-00000101(0-5)

標(biāo)簽:圖靈完備Turing Complete