1樓:匿名使用者
兩個16位?的字串?還是數字? 如果是數字直接運算。。。。。。如果是字串,轉成數字先。
80c51微控制器程式設計實現兩個16位數的減法。
2樓:七彩鏡
sub16:
clr c ;清進位mov a,#50h ;被減數低位送累加器subb a,#4bh ;減去減數低mov 31h,a ;差低位送31hmov a,#6fh ;被減數高位送累加器subb a,#13h ;減去減數高位mov 30h,a ;差高位送30h;如果有借位,c為1
3樓:頂起石頭的小草
你好!是用匯編來完成?
51微控制器怎樣進行兩個16位數的運算
4樓:匿名使用者
運算過程是在累加器和暫存器中自動進行的
5樓:匿名使用者
這是用組合語言程式設計時,才要考慮的問題。要是用c語言程式設計,只要宣告瞭一個16位變數就可以了,四則運算都可以的。
組合語言寫程式,加減法,比較容易簡單,只是乘除法要麻煩些。不過,也就是用兩個位元組,分成高8位和低8位分別運算就行了。
6樓:微控制器小丸子
分倆次啊,先儲存在一個暫存器中。
7樓:頂起石頭的小草
你好!是「加減乘除」的哪一種?
如何用匯編設計兩個16位數相減的程式
8樓:匿名使用者
減數低八位送30h,高八位送31h。被減數低八位送32h,高八位送33h。差送34(低八位)、35(高八位)。
清cymov a, 30hsubb a, 32hmov 34h, a
mov a, 31hsubb a, 33hmov 35h, a
這是8051微控制器的設計方法,要是有支援16位的減法指令就不用設計了,直接寫就ok了。
9樓:匿名使用者
16位數是16位二進位制數還是十進位制數??(假如微控制器是8位的)如果是16位二進位制數就用2個暫存器*2+z標誌,每個數用2個暫存器來儲存,先算低8位的,然後算高8位減去z位其實用c位也可以如果是16位十進位制數要轉化為二進位制,然後就十分麻煩了,定義一個陣列或者結構體這麼大的數字微控制器算得很累的,沒有試過
10樓:匿名使用者
有16位減法就直接用單個指令實現,沒有的話想辦法擴充套件就ok了。
11樓:風雷小草
二樓的基本思路是對的,但沒有考慮低位元組相減得負數的情況。需要結合狀態暫存器,用分支對不同的情況進行區分。
51微控制器能完成兩個16位的加減運算嗎,例如1245h+cb78h
12樓:匿名使用者
可以的,但肯定不是一兩條語句能 完成的
c語言程式設計不考慮演算法,只管寫:
uint a,b,c;
a=0x1234; b=0xcb78;
d=a+b;
51微控制器處理16位數
13樓:匿名使用者
用匯編也可以處理,一樓的方法也是一種。
如果用c語言程式設計,無非就是把16位數分成兩部分,高8位與低8位,在運算的時候,按照我們一般的規則,從低位開始先乘後加。程式設計序細緻一點,問題不大。
14樓:匿名使用者
16位與16位的乘法和除法可能是32位了
unsigned long int ║4位元組║0~4294967295
你可以申明個
unsigned long int temp;
unsigned int k1,k2;
temp = k1*k2;
15樓:匿名使用者
1、整型數為16位。16位與16位相乘,則需定義長整型32位。除法則會取整處理。彙編實現時需要嚴謹處理。
2、簡單辦法是直接定義float型變數。注意float轉整型時不會四捨五入處理。+0.5處理。
具體要看看你的**。
16樓:匿名使用者
沒用過,好像通過移位的方法可以處理16位資料!
兩個十六位二進位制數相減,完整組合語言程式
17樓:江城微波
;兩個十六位進位制數相減
data
segment
num1 dw 1111000011110010b ;被減數num2 dw 1111000011110001b ;減數num3 dw ? ;結果
data ends
code segment
assume cs:code,ds:datastart: mov ax,data
mov ds,ax
mov ax,num1
mov bx,num2
sub ax,bx
mov num3,ax
mov ah,02h ;顯示結果
mov dx,num3
int 21h
mov ah,4ch
int 21h
code ends
end start
18樓:匿名使用者
對於86而言,有直接的16位減法指令,所以這個題目的cpu應該是8位微控制器,以51微控制器為例,先將借位清零,低八位相減法,再高八位帶借位減,類似於列式減法運算一樣。程式如下:
; (r3r4-r6r7)=(r3r4)
;入口: r3,r4,r6,r7
;出口: r3,r4
nsub :
mov a,r4
clr c ;借位清零subb a,r7 ;低八位相減
mov r4,a ;儲存低八位結果
mov a,r3
subb a,r6 ;高八位帶借位減mov r3,a ;儲存高八位結果ret
用兩個51微控制器實現其中微控制器兩個兩個位元組串列埠資料傳送
單一位元組傳送接收可以,只能說明軟體 硬體,基本調通 要想傳送資料,還必須制定通訊協議。傳送方,先向對方呼叫,待收到正確的迴音後 再向對方傳送 資料的位元組數 再向對方連續傳送資料位元組串,對方收到,存放到一個快取空間 傳送方,最後向對方發出校驗位元組 一般是累加和 待收到正確的迴音後,一次資料通訊...
試以兩片2732給80C51微控制器擴充套件4KB的外部程式存
兩塊6264資料儲存器的拓展,地址銜接的。prtuse7.7 的,有原始碼驗證是否正確!pxxf 以8051微控制器為核心,對其擴充套件8kb的外部程式儲存器。要求採用一片2764晶片,試畫出硬體邏輯連線圖並內詳 8051微控制器,片內是含有4kb的程式儲存器的。片內的這部分,樓主還用不用?用 還是...
兩個微控制器之間串列埠通訊為什麼其中微控制器接收不到資料呢?求解
請問一下,兩個微控制器分別是什麼型號,另外你可以檢查一下,是否串列埠線有問題,還有兩個微控制器是否共地了。一個 例項,可以參考一下 通常是線路接觸不良。微控制器與dtu通訊,我在微控制器裡 了一個串列埠傳送的程式,連上dtu之後,為什麼dtu收不到資料呢?那還是時序或協議不正確,也可能是dtu沒有正...