⑴ 單片機如何進行兩個有符號數的相乘
在 keil編譯器裡面 使用C語言編程 將變數定義為有符號數 就可以實現你需要的功能
若是想知道原理,可以再網上搜索單片機通用子程序 裡面大部分都有多位元組的有符號和無符號數的四則運算
⑵ 單片機中有一個數據為89H,考慮無符號數有符號數(為補碼時),其真值為多少
無符號 137
有符號 -119
如果選擇字、雙字、四字,89則顯示137
⑶ 單片機中怎麼區分帶符號的數
就看PSW的
8位數值,進位是cy溢出是ov他們對應的位不一樣
不過他們與有無符號無關,符號數十看最高位是0或1的
⑷ 51單片機 用匯編語言怎麼編程:幾個有符號數的比較大小
51單片機中,沒有專門的有符號數比較指令,只能通過一些變通的方法來實現,比如:
比較30H和40H中有符號數的大小,結果放在R2中,大於則為1,等於為0,小於為128:
CMPDAT:
MOV A,30H
JB ACC.7,CMPF1
MOV B,A
MOV A,40H
JB ACC.7,CMPZ2 ;30H正,40H負所以30H>40H
CJNE A,B,CMPZ1 ;均為正,比較大小
MOV R2,#0
RET
CMPZ1:
JC,CMPZ2
CMPZ11:
MOV R2,#128
RET
CMPZ2:
MOV R2,#1
RET
CMPF1:
ANL A,#7FH
MOV B,A
MOV A,40H
JNB ACC.7,CMPF3 ;30H負,40H負
SJMP CMPZ11 ;30負,40H正,所以30H<40H
CMPF3:
ANL A,#7FH
CJNE A,B,CMPF10 ;兩個均為負數
MOV R2,#0
RET
CMPF10:
JC CMPZ2 ;30H<40H(負數小者大)
SJMP CMPZ11 ;30H>40H
⑸ 51單片機中什麼時候會涉及到有符號數計算
有符號數,在計算機中,以補碼表示。
其外形,也是二進制數字,和無符號數,並無差別。
1.51匯編語言add、addc、subb三個指令使用的是有符號數還是無符號數?
--都可以。
--參加運算的,就是普通的二進制數。
--既可以是補碼,也可以是無符號數。
2.51單片機中什麼時候會涉及到有符號數計算?
--由你編程決定。
3.有符號數可以用#data輸入嗎?
--可以。
--如:MOV A, #-100
4.有符號數減法溢出,在psw中怎麼顯示。。。
--如發生溢出,PSW 中,OV = 1。
5.有符號數可以與無符號數相互運算嗎?
--可以。
採納答案,有一些錯誤的概念。
⑹ 單片機里八位有符號數-128怎麼表示的
1000
0000
第一位表示的是負數你懂的。這個就是有符號數在單片機中的存儲樣子。
麻煩採納,謝謝!
⑺ 單片機 兩個有符號數分別在50H和51H裡面,比較他們的大小,最後把大的放入60H單元。
;比較有符號數的大小,可以先進行一次相減,
;再根據差的正負、是否溢出,來區分大小。
;程序如下:
;
ORG
0000H
MOV
50H,
#-28
;先隨便存入兩個數字.
MOV
51H,
#108
;========================================
BIJIAO:
;開始比較.
MOV
A,
50H
CLR
C
SUBB
A,
51H
;(50H)-(51H)
JZ
DA_50H
;差為0轉移.
JB
ACC.7,
FU
;負數轉移.
JB
OV,
DA_51H
;有溢出轉移.
SJMP
DA_50H
;正數且無溢出,轉到(50H)大.
;----------------------------------------
FU:
JB
OV,
DA_50H
;負數且有溢出,轉到(50H)大.
;----------------------------------------
DA_51H:
MOV
60H,
51H
;(51H)大的處理程序.
SJMP
BJ_END
;轉到結束.
;----------------------------------------
DA_50H:
MOV
60H,
50H
;(50H)大的處理程序.
;----------------------------------------
BJ_END:
SJMP
$
;比較程序結束.
;========================================
END
⑻ 匯編語言中,單片機中用什麼來區分有符號數和無符號數
帶符號變數就是這個變數里存儲的數據是可正可負的。
51單片機沒有直接進行帶符號數運算的指令。
例如:i
和
j
是兩個帶符號變數,兩個數相加,則你編寫程序的時候首先要判斷它們是正數還是負數,然後根據正負進行相應的加法或減法運算。
c語言里支持帶符號變數的運算,如果在c語言里有兩個帶符號變數,可以直接進行加法運算,而不需要判斷其正負。