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

精華主題: 0
發(fā)帖數(shù)量: 1400 個
工控威望: 1504 點
下載積分: 13259 分
在線時間: 2203(小時)
注冊時間: 2008-03-19
最后登錄: 2024-11-05
查看小蜜蜂的 主題 / 回貼
樓主  發(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指令????
ygwpxq
ygwpxq
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 951 個
工控威望: 771 點
下載積分: 153576 分
在線時間: 569(小時)
注冊時間: 2008-05-17
最后登錄: 2021-07-31
查看ygwpxq的 主題 / 回貼
1樓  發(fā)表于: 2008-11-09 21:56
運算方法與法則不一樣,不能簡單理解為數(shù)學(xué)運算,就像布爾代數(shù)一樣:1+1=1而不等于2相似