小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠(yuǎn)了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1402 個
工控威望: 1508 點(diǎn)
下載積分: 13268 分
在線時間: 2207(小時)
注冊時間: 2008-03-19
最后登錄: 2024-12-23
查看小蜜蜂的 主題 / 回貼
樓主  發(fā)表于: 2008-11-09 21:37


經(jīng)過第一行,第二行的乘法后,D150和D152是32位的,那么第五行的SUB怎么可以用16位的,指令手冊上不是寫了兩個32位的相減用DSUB嗎?
假如第六行的D20  D23都是16位的,(但是D23應(yīng)該是32位的)兩個相乘生成32位的D25,那么下一行用DDIV就對了,但是問題又來了,D25是32位的,D21是16位的,用32位的除以16位的,手冊上可沒有講到,書上只是講了16位除以16位用DIV,32位除以32位用DDIV
用DDIV除以后生成的D30應(yīng)該是64位的,那下一行的怎么可以用16位的ADD呢?難道64位的D30加上32位的D150只要用ADD就可以了,而且還會生成16位的D35,以至于最后一行可以用16為的MOV指令????
angela1024
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 129 個
工控威望: 234 點(diǎn)
下載積分: 624 分
在線時間: 75(小時)
注冊時間: 2008-09-12
最后登錄: 2012-08-23
查看angela1024的 主題 / 回貼
1樓  發(fā)表于: 2008-11-09 22:03
如果計算數(shù)據(jù)小的話  就沒什么影響