線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1123
推到 Plurk!
推到 Facebook!

如何寫副程式把4btye 相乘

缺席
cyw1984
一般會員


發表:45
回覆:67
積分:22
註冊:2005-06-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-24 22:56:13 IP:210.6.xxx.xxx 未訂閱
如何把位置30H 31H 32H 33H 相乘為一組千位數...再把答案放在2BTYE上 舉例: 30H=1,31H=2 ,32H=3, 33H=4 把1 *1000 2*100 3*10 4*1 再將1234 (10進制)放在2BYTE上 40H=04 (HEX) 41H=D2 (HEX) THX~~~ 發表人 - cyw1984 於 2005/10/24 23:18:26
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-25 00:10:55 IP:219.86.xxx.xxx 未訂閱
您做法都已列出來了,不妨再想想,若實作過程有問題,請將程式碼列出大家來討論,若只有題目,不經思考只想要答案,這類的狀況視為作業問題,可依規定刪除,煩請配合 < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=8147403&CC=182217"> 成長四步曲 多看--->多做--->多問--->多發表 如果您希望別人用心的回答,也請您用心的描述標題與問題
cyw1984
一般會員


發表:45
回覆:67
積分:22
註冊:2005-06-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-25 01:32:40 IP:210.6.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-25 02:31:59 IP:210.6.xxx.xxx 未訂閱
如何將 2個BYTE 與 2個BYTE的數值相加!!???
cyw1984
一般會員


發表:45
回覆:67
積分:22
註冊:2005-06-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-25 02:54:21 IP:210.6.xxx.xxx 未訂閱
現在我把第1個數(3) 乘了1000 第2個數(9) 乘了100 第3個數(9) 乘了10 第4個數(9) 乘了1 3千 , 9百 , 9十 , 9 得出了4組 2BYTE的數值(我用2BYTE來儲) 0B B8 , 03 84 , 00 5A , 00 09 如何把這4組加起成為3千9百9十9
cyw1984
一般會員


發表:45
回覆:67
積分:22
註冊:2005-06-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-25 02:56:35 IP:210.6.xxx.xxx 未訂閱
以下是我寫的一小段程式 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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-25 02:58:17 IP:210.6.xxx.xxx 未訂閱
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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-25 09:56:35 IP:211.22.xxx.xxx 未訂閱
cyw1984兄: 您已經不是新手了, po 程式碼請做好縮排.煩請修改.下次將直接刪除, 不另通知.謝謝合作!
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-25 12:07:55 IP:211.21.xxx.xxx 未訂閱
 
16位元加法
(R5,R6)=(R1,R2) (R3,R4)
        mov        a,R2
        add        a,R4
        mov        R6,a            mov        a,R3
        addc        a,R1
        mov        R5,a            ---------------------------
8位乘16位
(R4,R5)=R1*(R2,R3)            mov        a,R1
        mov        b,R3
        mul        ab
        mov        R4,a
        mov        R5,b            mov        a,R1
        mov        b,R2
        mul        ab
        mov        a,b
        add        a,R4
        mov        R4,a
cyw1984
一般會員


發表:45
回覆:67
積分:22
註冊:2005-06-25

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-10-25 13:45:55 IP:202.40.xxx.xxx 未訂閱
引言: 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
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-10-26 09:31:41 IP:61.66.xxx.xxx 未訂閱
這就是你要的了!     
;--- 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
系統時間:2024-06-29 11:39:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!