• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 怎麼寫 2 Byte的數值相加相減做比較呢?
#3
版主
版主


查看用戶資訊
;
;*************************************************************************
;               
16-bit 加法、減法、取2'S補數
;
; ADD_16 : Temp_Var2:Temp_Var1 + Temp_Var4:Temp_Var3 = Temp_Var2:Temp_Var1
; SUB_16 : Temp_Var2:Temp_Var1 - Temp_Var4:Temp_Var3 = Temp_Var2:Temp_Var1
; NEG_16 : Temp_Var4:Temp_Var3 = 2'
S Complement 
;
;         
Temp_Var2 Temo_Var4 is MSB
;               Temp_Var1 Temo_Var3 is LSB  
;*************************************************************************
;
SUB_16        call    NEG_16
ADD_16     movf    Temp_Var3
,W
        addwf   Temp_Var1
F           ;add lsb
        btfsc   STATUS
,C           ;add in carry
        incf    Temp_Var4
F
        movf    Temp_Var4
,W
        addwf   Temp_Var2
F          ;add msb
        retlw   0
;
;
NEG_16        comf    Temp_Var3F                
        incf    Temp_Var3
F
        btfsc   STATUS
,Z
        decf    Temp_Var4
F
        comf    Temp_Var4
F
        retlw   0
;

基本上 16-bit 比較是利用減法的方式去楚哩,理論就跟利用 2's 的補數加法來完成,其理論就跟課本所講的 2's 理論完全一樣。先減完後再判斷旗號。

發表於: 2008/1/14 15:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 怎麼寫 2 Byte的數值相加相減做比較呢?
#2
資深會員
資深會員


查看用戶資訊
AH - BH , Z= 0 , C=1 --> A > B
AH - BH , Z = 0 , C=0 --> A < B
AH - BH , Z= 1 ,C = 1 --> AH = BH -->AL - BL , Z=0 , C=1--> A > B
AL - BL , Z = 0 , C = 0 , A < B
AL - BL , Z = 1 , C = 1 , A = B

發表於: 2008/1/14 14:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


怎麼寫 2 Byte的數值相加相減做比較呢?
#1
初級會員
初級會員


查看用戶資訊
想要請問,我的數值是由2BYTE來組成,high Byte & Low Byte,但是當我要做兩個數據的比較,要怎麼寫呢?因為我自己有嘗試要寫,但是當寫好了數值後發現,當兩個數值比較有所謂的進位問題時又會出錯。所以想要請問我應該要怎麼寫才是最正確的數值相加相減呢?
例如,我之前寫的,我ㄧ開始只針對Lowbyte做比較,但是當比較的數值有碰到highbyte進位問題的時候又會錯誤。所以我就搞不懂要怎麼寫lowbyte&highbyte兩個組成的數字的比較程式,所以想要請大家教教我囉!

謝謝

發表於: 2008/1/14 14:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------