| 
  |||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
哪位大哥有四字節(jié)除以單字節(jié)二進(jìn)制無(wú)符號(hào)除法子程序,兄弟急用 | 
  
| 作者:lh9865 欄目:單片機(jī) | 
用單片機(jī)匯編語(yǔ)言編寫(xiě)運(yùn)算程序可真的麻煩亞,沒(méi)辦法,還就得運(yùn)算, 請(qǐng)問(wèn)哪位大哥有四字節(jié)除以單字節(jié)二進(jìn)制無(wú)符號(hào)除法子程序,兄弟急用,是匯編語(yǔ)言編寫(xiě)的,對(duì)了我用的是AT89C52  | 
  
| 2樓: | >>參與討論 | 
| 作者: javie 于 2005/11/15 11:24:00 發(fā)布:
         我有PIC的 不過(guò)這個(gè)你最好用C來(lái)寫(xiě)啊  | 
  |
| 3樓: | >>參與討論 | 
| 作者: sfofyyy 于 2005/11/15 11:30:00 發(fā)布:
         我有EMC的  | 
  |
| 4樓: | >>參與討論 | 
| 作者: lg3459 于 2005/11/15 12:23:00 發(fā)布:
         我有3字節(jié)除1字節(jié)的  | 
  |
| 5樓: | >>參與討論 | 
| 作者: javie 于 2005/11/15 12:40:00 發(fā)布:
         看,大家都多熱心啊  | 
  |
| 6樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 13:43:00 發(fā)布:
         那你能給我看看嗎? lg3459兄弟,  | 
  |
| 7樓: | >>參與討論 | 
| 作者: lg3459 于 2005/11/15 14:11:00 發(fā)布:
         k三字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)除以單字節(jié)二進(jìn)制數(shù) 入口條件:被除數(shù)在R3、R4、R5中,除數(shù)在R7中。 出口信息:OV=0 時(shí),雙字節(jié)商在R4、R5中,OV=1 時(shí)溢出。 影響資源:PSW、A、B、R2~R7 堆棧需求: 2字節(jié) DV31: CLR C MOV A,R3 SUBB A,R7 JC DV30 SETB OV ;商溢出 RET DV30: MOV R2,#10H ;求R3R4R5/R7-→R4R5 DM23: CLR C MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A MOV F0,C CLR C SUBB A,R7 ANL C,/F0 JC DM24 MOV R3,A INC R5 DM24: DJNZ R2,DM23 MOV A,R3 ;四舍五入 ADD A,R3 JC DM25 SUBB A,R7 JC DM26 DM25: INC R5 MOV A,R5 JNZ DM26 INC R4 DM26: CLR OV RET ;商在R4R5中  | 
  |
| 8樓: | >>參與討論 | 
| 作者: javie 于 2005/11/15 14:32:00 發(fā)布:
         給你個(gè)多字節(jié)無(wú)符號(hào)除法的流程 功能:實(shí)現(xiàn)多字節(jié)無(wú)符號(hào)數(shù)除法 開(kāi)始 | 循環(huán)次數(shù)=字節(jié)數(shù)*8 | 余數(shù)清0 | 被除數(shù)不帶進(jìn)位左移1位 | 余數(shù)帶進(jìn)位左移1位 |------------------ ____N____<余數(shù)大于除數(shù)嗎?> | | | | 進(jìn)位標(biāo)志清0 |Y | | 余數(shù)=余數(shù)-除數(shù) | | | | | 置位進(jìn)位標(biāo)志 | | | | |——————— | | 被除數(shù)帶進(jìn)位左移1位 | | | 余數(shù)帶進(jìn)位左移1位 | | | 〈循環(huán)結(jié)束?〉---N-------- |Y 整理出口并返回  | 
  |
| 9樓: | >>參與討論 | 
| 作者: javie 于 2005/11/15 14:34:00 發(fā)布:
         累死我了 早知道打這個(gè)這么麻煩,我就貼圖了  | 
  |
| 10樓: | >>參與討論 | 
| 作者: zhf0964 于 2005/11/15 14:50:00 發(fā)布:
         送你一個(gè)現(xiàn)成的 divdll data 20h ;定義被除數(shù)單元 divdlh data 21h divdhl data 22h dlvdhh data 23h divl data 24h ;定義除數(shù)單元 divh data 25h templ data 26h ;定義余數(shù)單元 temph data 27h divd: PUSH acc PUSH b mov a,divdh ;判除數(shù)是否為零 orl a,divl jnz divd0 setb ov ;除數(shù)為零,置溢出標(biāo)志 pop b pop acc ret divd0: mov templ,#00h ;除數(shù)不為零,進(jìn)行運(yùn)算 mov temph,#00h mov b,#20h ;置循環(huán)次數(shù) divd1:clr c ;進(jìn)位位、余數(shù)單元和 mov a,divdll ;被除數(shù)單元全體逐個(gè) rlc a ;向左循環(huán)移位 mov divdll,a mov a,divdlh rlc a mov divdlh,a mov a,divdhl rlc a mov divdhl,a mov a,divdhh rlc a mov divdhh,a mov a,templ rlc a mov templ,a xch a,temph rlc a xch a,temph mov f0,c ;保存進(jìn)位位 clr c subb a,divl ;用余數(shù)減去除數(shù) mov r7,a mov a,temph subb a,divh anl c,/f0 ;判斷是否夠減 jc divd2 ;不夠減,移下一位 mov templ,r7 ;夠減,刷新余數(shù)單元 mov temph,a inc divdll ;商上1 divd2: djnz b,divd1 clr ov pop b pop acc ret  | 
  |
| 11樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 14:55:00 發(fā)布:
         多謝各位的大力相助亞,兄弟謝過(guò)了  | 
  |
| 12樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 15:09:00 發(fā)布:
         我看過(guò)這些程序了,不過(guò)我覺(jué)得我還是很需要四字節(jié)的 程序我看過(guò)了,有些明白,有些不是明白,我以前沒(méi)有用過(guò)算術(shù)子程序,有點(diǎn)手忙腳亂了,我還是很希望能夠有一個(gè)四字節(jié)除以單字節(jié)的匯編程序,真的有些很是著急啊  | 
  |
| 13樓: | >>參與討論 | 
| 作者: javie 于 2005/11/15 15:10:00 發(fā)布:
         這年頭還是好人多啊 呵呵  | 
  |
| 14樓: | >>參與討論 | 
| 作者: zhf0964 于 2005/11/15 15:13:00 發(fā)布:
         我給你是4字節(jié)除以2字節(jié)的 只要把除數(shù)高字節(jié)設(shè)為0就滿(mǎn)足你的要求了。  | 
  |
| 15樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 15:17:00 發(fā)布:
         我看到了,只是得到的商是兩個(gè)字節(jié)的,我的除數(shù)是固定的  | 
  |
| 16樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 15:22:00 發(fā)布:
         除數(shù)是50,我擔(dān)心商如果是兩個(gè)字節(jié)的話(huà),會(huì)溢出的 我看到你給我的程序了,只是好像得到的商事倆個(gè)字節(jié)的,而我的除數(shù)是50,我擔(dān)心商如果是兩個(gè)字節(jié)的話(huà),會(huì)溢出的,事實(shí)上,我所用的被除數(shù)是個(gè)四字節(jié)的數(shù),除以50后,我想得到的應(yīng)該是四字節(jié)的商,所以我覺(jué)得上面的那個(gè)程序不是太好用,請(qǐng)大蝦給我指點(diǎn)迷津亞  | 
  |
| 17樓: | >>參與討論 | 
| 作者: zhf0964 于 2005/11/15 15:31:00 發(fā)布:
         你再看看清楚 我給你的商是4個(gè)字節(jié)的,余數(shù)是2個(gè)字節(jié)的。 商是放在被除數(shù)單元里的,為了方便做連除運(yùn)算。  | 
  |
| 18樓: | >>參與討論 | 
| 作者: lh9865 于 2005/11/15 16:03:00 發(fā)布:
         不好意思,我是菜鳥(niǎo),初學(xué)者 不好意思,我是個(gè)菜鳥(niǎo),以后真的多多努力,還希望這位大蝦能夠多多幫助亞,能不能交個(gè)朋友呀,以后我有什么問(wèn)題就可以直接向你請(qǐng)教了 我的qq號(hào):7362408 信箱:lh9865@sohu.com  | 
  |
| 19樓: | >>參與討論 | 
| 作者: ??? 于 2009/7/9 11:47:05 發(fā)布:
         xch a,temph rlc a xch a,temph 有點(diǎn)不明天啊,為什么到這里就用XCH了(指第一行的XCH),我不是特別懂,請(qǐng)指教  | 
  |
  | 
    
 
  | 
  
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)  |