syking1234
級別: 略有小成
![]() |
![]() ![]() 請教這個(gè)D7274為什么無法傳送數(shù)據(jù)? 而同樣的MIAN1里的D10014卻可以 說明D8000、D8006、D5548均為十進(jìn)制3位整數(shù) 這個(gè)數(shù)據(jù)運(yùn)算我有點(diǎn)糊涂,也看過資料 D*好像保存結(jié)果的是4個(gè)16位軟元件地址,DMOV只能傳送32位,64位的高位地址怎么辦??? 我是用模擬器反復(fù)試驗(yàn),允許沒問題,RUN檔 求解!!。〖1。。。 老大,也進(jìn)來幫我下,謝謝。。 數(shù)學(xué)沒學(xué)好啊,丟人啊 ![]() [ 此帖被syking1234在2013-01-04 20:38重新編輯 ] |
---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
![]() ![]() ![]() ![]() |
紅框中標(biāo)出的32位乘法指令,其結(jié)果存儲地址占用64位,故[D7275 D7274]都在該指令影響下將MOV得到的值覆蓋掉。 ![]() |
---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
![]() ![]() ![]() ![]() |
因?yàn)槌绦蛑蠨5844在D5842后面使用到,這樣使用的效果就是D5550*K1000的結(jié)果,將D5548*K-10000的結(jié)果覆蓋掉了,卻成了你需要的結(jié)果,所以看起來是正常的。 你可以將D5550~D10012這兩段程序?qū)懙紻5548這一段程序上面。 就會發(fā)現(xiàn)雖然D10012的值雖然還是你要的正確的值,但D5844的值卻是0(如果不是說明D5548的值太大,乘法運(yùn)算之后超出32位儲存范圍,D5844內(nèi)有儲存的數(shù)據(jù)了)。 |
---|---|
|