小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒
|
三菱程序疑問 MUL D10 K80 D20 DIV D20 D30 D40 MOV D40 D50 求助大家,第一行的乘法中D10乘以K80是生成D20還是D20 D21兩個?第二行的要用DIV還是DDIV?第三行要用MOV還是DMOV呢?拜托大家了,謝謝!還有從書上看是MUL D0 D2 D4,(D0)乘以(D2)等于(D5 D4),比如D0=8,D2=9,(D5 D4)=72,雖然72遠遠小于32767,但是也要存到(D5 D4)中,那上面我的程序是MUL D10 K80 D20 也就是(D21 D20)中了? |
---|---|
|
yeyhx
愛雖沒有說出口, 但并不代表不愛!!!
級別: 略有小成
|
第一行的乘法中D10乘以D80是生成D20還是D20 D21兩個? 答:乘法不管你D10和D80里面的數(shù)據(jù)是多大,其結(jié)果都會占用兩個寄存器,即D21 D20 如果用DMUL D10 D80 D20則占用(D23 D22 D21 D20) 第二行的要用DIV還是DDIV 答:兩個都可以用,不過如果用DIV則是低8位參與運算。不過在這里用DIV就可以了 第三行要用MOV還是DMOV呢 答:MOV DMOV是傳送指令,如果第二行用DDIV那么第三行就要用DMOV了。 DMOV是運算結(jié)果以32位輸出的。 結(jié)論: MUL D10 K80 D20 占用(D21 D20) 第二行DIV D20 D30 D40 占用(D41 D40) 第三行MOV D40 D50 D40=D50 以上GOOD LUCK |
|
---|---|---|
|
yeyhx
愛雖沒有說出口, 但并不代表不愛!!!
級別: 略有小成
|
這里這一句我說錯了,兩個都可以用,不過如果用DIV則是低8位參與運算。不過在這里用DIV就可以了 應(yīng)該是低16位參與運算, |
|
---|---|---|
|