1樓:朱瑞碧
彙編程式如下:
zero equ 42h ;零的統計
negetive equ 41h ;負數的統計positive equ 40h ;正數的統計count equ 100 ;比較個數
org 0000h
ljmp main
org 0040h
data_filter:
push psw ;函式呼叫時的現場保護
push acc
mov zero,#0
mov negetive,#0
mov positive,#0
mov r2,#0
mov dptr,#0x2000
loop:
movx a,@dptr
cjne a,#0,nonzero
inc zero
jmp next
nonzero:
jc neg
inc positive
jmp next
neg:
inc negetive
next:
inc dptr
inc r2
cjne r2,#count,loop
pop acc ;恢復現場
pop psw
retmain:
acall data_filter
sjmp $ ;僅用於測試觀察end
2樓:
mov r0,#60hmovx @r0,30h mov dptr,#60h movx a,@dptr mov dptr,#2000h movx @dptr,a
設有100個有符號數,連續存放在以2000h為首地址的片外ram儲存器中,試程式設計統計其中正數負數零
3樓:做而論道
;mov tptr, #2000h
mov r2, #100
mov r3, #0
mov r4, #0
mov r5, #0
loop:
mov a, @dptr
jz zzz
jb acc.7, fu
inc r3 ;正數個數
jmp next
fu:inc r4 ;負數個數jmp next
zzz:
inc r5 ;0的個數
next:
inc dptr
djnz r2, loop
sjmp $end
設有100個無符號數,連續存放在以2000h為首地址的外部資料儲存器中,試程式設計統計其>50,=50,<50的個數
4樓:做而論道
;org 0000h
mov dptr, #2000h
mov r2, #100
mov r3, #0
mov r4, #0
mov r5, #0
loop:
movx a, @dptr
clr c
subb a, #50
jz equ_50
jnc big
inc r3 ;小於50的個數jmp next
equ_50:
inc r4
jmp next
big:
inc r5
next:
inc dptr
djnz r2, loop
sjmp $end
無符號數和有符號數在彙編程式裡如何區分
在彙編程式裡是沒有無符號數和有符號數區分的。加減運算指令是不區分有符號和無符號的,在計算機對有符號整數的表示只採取一種編碼方式,不存在正數用原碼,負數用補碼的問題。在組合語言裡宣告變數的時候,沒有signed和unsignde之分,彙編器全部將輸入的整數字面量當作有符號數處理成補碼存入到計算機中,只...
是什麼數學符號,數學符號「 」 「 」 「 」是什麼意思?
它並沒有什麼特別的意思,比如我想表達2的9次方,但是我沒有右上角的很小的數字9,所以 2 9 代表2的9次方,差不多就是一個在電子產品常見的符號 表示前面那個數的平方 乘方,x 2就是2的平方。懂?採納哦!數學符號 是什麼意思?這三個是數學的邏輯符號,是非的意思,專門否定一個命題,p與 p一真一假 ...
微控制器的組合語言如何判斷兩個無符號數的大小
誰跟你說圖上是判斷有符號數大 小的程式?這程式就是比較無符號數大小的,只不內過加了資料容搬運而已。查了一下pic的subwf指令,的確是比較有符號數的。如果要比較無符號數,可先判定兩個數的最高位是否同號 若異號,則最高位為1者大 若同號,再用subwf減法判定大小,參考書上這個例程。組合語言程式設計...