多位元組除法...compiler沒問題....可以請大大們幫我看一下嗎??? |
答題得分者是:mymj
|
Bestkid
一般會員 發表:4 回覆:2 積分:1 註冊:2003-04-15 發送簡訊給我 |
不好意思可以請大大幫我DEBUG一下ㄇ
只有被除數<除數時ok....
其他情形..查看memory值都錯誤>"<
我找ㄌ好久..都找不出來COMPILER都沒問題
被除數=>30H31H
除數=>32H
商=>33H34H
餘數=>35H36H
(考慮被除數可能小於除數ㄉ情形)
ORG 00H
JMP START
ORG 2FH
START:
MOV 30H,#33H ;設定初始值
MOV 31H,#56H
MOV 32H,#11H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#00H
MOV A,32H ;判斷除數是否等於0
JZ OVER ;若等於0程式結束
;
MOV A,#00H
CJNE A,30H,LOOP ;被除數HIGH BYTE不=0
; 則做除法
MOV A,31H ;被除數HIGH BYTE=0
CLR C
SUBB A,32H
JNC LOOP ;被除數>除數時做除法LOOP
MOV 33H,#00H ;被除數<除數時
MOV 34H,#00H ;商=0 餘數=被除數
MOV 35H,30H
MOV 36H,31H
JMP OVER ;程式執行結束
;
LOOP: ;開始移位相減法
MOV A,#00H
MOV R2,#16
D1:
CLR C ;將被除數移一ㄍ位元到餘數
MOV A,31H ;包含CY
RLC A
MOV 31H,A
MOV A,30H
RLC A
MOV 30H,A
MOV A,36H
RLC A
MOV 36H,A
;
MOV A,36H
CLR C
SUBB A,32H ;餘數減除數
MOV 32H,A
JNC D2
;
MOV A,36H ;餘數<除數
ADD A,32H ;將餘數值還原
MOV 36H,A
D2: ;餘數>除數
CPL C
MOV A,34H
RLC A
MOV 34H,A
MOV A,33H
RLC A
MOV 33,A
DJNZ R2,D1 ;檢查loop count
OVER:
END
小弟感激不盡........ ^^
------
^^ |
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
Bestkid
一般會員 發表:4 回覆:2 積分:1 註冊:2003-04-15 發送簡訊給我 |
|
bum_bum
一般會員 發表:6 回覆:16 積分:4 註冊:2004-02-14 發送簡訊給我 |
引言: 不知道對不對請自己再try ok? ORG 00H JMP START ORG 2FH START: MOV 30H,#33H ;設定初始值 MOV 31H,#56H MOV 32H,#11H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#00H MOV A,32H ;判斷除數是否等於0 JZ OVER ;若等於0程式結束 ; MOV A,#00H CJNE A,30H,LOOP ;被除數HIGH BYTE不=0 ; 則做除法 MOV A,31H ;被除數HIGH BYTE=0 CLR C SUBB A,32H JNC LOOP ;被除數>除數時做除法LOOP MOV 33H,#00H ;被除數<除數時 MOV 34H,#00H ;商=0 餘數=被除數 MOV 35H,30H MOV 36H,31H JMP OVER ;程式執行結束 ; LOOP: ;開始移位相減法 MOV A,#00H MOV R2,#16 D1: CLR C ;將被除數移一ㄍ位元到餘數 MOV A,31H ;包含CY RLC A MOV 31H,A MOV A,30H RLC A MOV 30H,A MOV A,36H RLC A MOV 36H,A ; MOV A,36H CLR C SUBB A,32H ;餘數減除數 MOV 32H,A ;不知道是不是這行錯了32h是除數是不是該mov36h? JNC D2 ; MOV A,36H ;餘數<除數 ADD A,32H ;將餘數值還原 MOV 36H,A D2: ;餘數>除數 CPL C MOV A,34H RLC A MOV 34H,A MOV A,33H RLC A MOV 33,A DJNZ R2,D1 ;檢查loop count OVER: END 小弟感激不盡........ ^^ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |