思路是將1的x乘以y,如果結果能被y整除,則用speed單片機匯編方法完成計算,沒有乘法算法,需要自己編寫:
//mul算法,x*n=z
mul_xn:?
clrz1
clrz2
mova,x
地址2,a
mova,#0
adcz1,a
decms?n
浸水使柔軟
//div算法,z/y
div_zy:
mova,z2
div_loop:
蘇巴,y
movz2,a
mova,z1
sbca,bufx
movz1,a
b0bts1?足球俱樂部(Football Club)
浸水使柔軟
mova,z2
movdivx,a
jmpdiv_loopmain:
mov_?buf,#1
movdivx,a?//用於保存div的最終結果。
clrbufx?//純粹是為了SBC指令服務,沒有其他意義。
循環:
movn,a
打電話?多重xn
打電話?div_zy
divx,mova
b0bts0?fz//x*buf/y的余數等於0。
jmploop_over?//獲取結果
incmsbuf
not otherwise provided 除非另有規定
mova,buf
cmprsa,y
Jmploop//buf不等於y,直接繼續循環。
jmploop_over?//buf=y
循環結束:
mov_?buf
打電話?Mul_xn//獲取結果z
endp?//程序結束