如何寫副程式把4btye 相乘 |
缺席
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
|
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
START:
MOV DATA2,#1
MOV DATA1,#2
ACALL MUL_LOOP
JMP $ MUL_LOOP:
MOV B,#10
MOV A,DATA2
MUL AB
MOV B,#1
PUSH ACC
MOV A,DATA1
MUL AB
MOV B,A
POP ACC
ADD A,B
JNC MUL_RET
INC A
MUL_RET:
MOV DATAH_MUL,A
RET END 這個是把
1和2....變為12...
這樣寫法可以嗎??
會產生問題嗎??
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
以下是我寫的一小段程式
START:
MOV SP,#70H
MOV DATA4,#3
MOV DATA3,#9
MOV DATA2,#9
MOV DATA1,#9
ACALL MUL_LOOP
JMP $ ;
;=================================
MUL_LOOP:
MOV B,#100
MOV A,DATA4
MUL AB
MOV THOUSAND_CAL_H,B
MOV THOUSAND_CAL_L,A
ACALL MUL_10
MOV B,#100
MOV A,DATA3
MUL AB
MOV HUNDRED_H,B
MOV HUNDRED_L,A
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
MOV B,#10
MOV A,DATA2
MUL AB
MOV TEN_H,B
MOV TEN_L,A
MOV B,#1
MOV A,DATA2
MUL AB
MOV ONE_H,B
MOV ONE_L,A
JNC MUL_RET
INC A
MUL_RET:
MOV DATAH_MUL,A
RET
MUL_10:
MOV B,#10
MOV A,THOUSAND_CAL_H
MUL AB
MOV THOUSAND_H,A
MOV B,#10
MOV A,THOUSAND_CAL_L
MUL AB
MOV THOUSAND_L,A
MOV A,B
ADD A,THOUSAND_H
JNC MUL_10_RET
INC A
MUL_10_RET:
MOV THOUSAND_H,A
RET
;=================================
END
|
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
cyw1984
一般會員 ![]() ![]() 發表:45 回覆:67 積分:22 註冊:2005-06-25 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
這就是你要的了!
;--- NB3=9,NB2=8,NB1=7,NB0=6 -> (H1,H0)=9876=2694H mov NB3,#9 ;給初值 mov NB2,#8 mov NB1,#7 mov NB0,#6 clr HB1 ;重設輸出 mov HB0,NB0 ;個位數 mov a,NB1 ;十位數 mov b,#10 mul ab add a,HB0 mov HB0,a mov a,NB2 ;百位數 mov b,#100 mul ab add a,HB0 mov HB0,a mov a,b addc a,HB1 mov HB1,a mov a,NB3 ;千位數 mov b,#10 mul ab mov b,#100 mul ab add a,HB0 mov HB0,a mov a,b addc a,HB1 mov HB1,a jmp $修正上一篇文章 不過這個應用不需要 ^^|| ;8位乘16位 (R4,R5)=R1*(R2,R3) mov a,R1 mov b,R3 mul ab mov R5,a mov R4,b mov a,R1 mov b,R2 mul ab add a,R4 mov R4,a |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |