小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒
|
三菱程序疑問 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)中了? |
---|---|
|
langman
級別: 家園常客
|
我來說具體一點吧: 1.MUL D10 K80 D20;乘法的結果占用兩個寄存器D20(低16位)、D21(高16位) 2.DIV D20 D30 D40;根據上句程序,按一般使用意圖,這里你當然需要用到D20、D21兩個寄存器,所以這里要用DDIV命令,注意這里很容易搞錯,用DDIV命令之后,除數也占用兩個寄存器D30、D31,而結果會占用4個寄存器,D40 D41(商),D42、D43(余數)。 初學者這一點很容易搞錯。 3.MOV D40 D50,根據上一句,這里必須要用DMOV命令,如果余數也要傳送,那還得加一句:DMOV D42 D52; |
|
---|---|---|
|