微控制器的組合語言如何判斷兩個無符號數的大小

2021-03-03 22:01:58 字數 2870 閱讀 3139

1樓:匿名使用者

誰跟你說圖上是判斷有符號數大

小的程式???

這程式就是比較無符號數大小的,只不內過加了資料容搬運而已。

查了一下pic的subwf指令,的確是比較有符號數的。

如果要比較無符號數,可先判定兩個數的最高位是否同號:若異號,則最高位為1者大;若同號,再用subwf減法判定大小,參考書上這個例程。

組合語言程式設計: 設計一個程式比較兩個無符號數的大小,將較大的數存入max單元

2樓:匿名使用者

assume cs:code, ds:datadata segment

a dw 12

b dw 15

max dw ?

data ends

code segment

start:

mov ax, data

mov ds, ax

mov ax, a

mov bx, b

cmp ax, bx

jge bb

mov max, bx

jmp done

bb:mov max, ax

done:

mov ax, 4c00h

int 21h

code ends

end start

微控制器用組合語言怎樣判斷幾個數的大小?

3樓:匿名使用者

在彙編語句中沒有直接的大小運算功能,要想實現比大小,只能是減法運算然後判斷進位位是否為1,來實現。如果貴多個數,就要多次運算不停地跳轉迴圈!

51微控制器 用組合語言怎麼程式設計:幾個有符號數的比較大小

4樓:匿名使用者

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

retcmpz1:

jc,cmpz2

cmpz11:

mov r2,#128

retcmpz2:

mov r2,#1

retcmpf1:

anl a,#7fh

mov b,a

mov a,40h

jnb acc.7,cmpf3 ;30h負,40h負sjmp cmpz11 ;30負,40h正,所以30h<40hcmpf3:

anl a,#7fh

cjne a,b,cmpf10 ;兩個均為負數mov r2,#0

retcmpf10:

jc cmpz2 ;30h<40h(負數小者大)sjmp cmpz11 ;30h>40h

5樓:做而論道

設內部ram中的30h和31h單元中有兩個帶符號數,求其中的大數,放在32h單元中。

; mov 32h, 30h ;先取一個放好.

mov a, 30h

clr c

subb a, 31h ;(30h)-(31h)

jnb acc.7, zzz ;差為正數則轉移.

jb ov, _end ;負、且溢位轉至結尾.

sjmp *** ;否則去存31h

zzz:

jnb ov, _end ;差為正、且無溢位轉至結尾.

***:

mov 32h, 31h

_end:

sjmp $end

6樓:匿名使用者

subb a,b

jnb cy ,d0 ;d0是a>b

微控制器 組合語言 兩數比較大小

7樓:匿名使用者

微控制器有比較指令cmp的嗎,請回答者再看看書吧。可以用cjne指令,它有比較功能,如cjne a,#data,label 當a<#data時,進位位置一,就可以判斷了。程式如下:

clr c ;先把進位位清零,以防誤判cjne a,#data,no_equ ;不等則轉到no_equ,相等則直接順序執行

....... ;執行相等時的程式no_equ:

jc lower ;繼續判斷,小於則跳轉到 lower,大於則順序執行

.......

lower:

......end

8樓:匿名使用者

不要想複雜了,兩個cmp就可以啦

cmp r0,r2

jb abc

cmp r1,r3

jb abc

jmp nobelow

abc:

...nobelow:...

9樓:匿名使用者

還是自己看書學習吧 這個簡單的問題 多看幾遍自然會了

微控制器組合語言怎麼去比較倆個數的大小

10樓:匿名使用者

cjne指令,影響cy標誌位,比如,執行cjne a,#data,rel後,當a=data時,cy=0,

微控制器組合語言問題

建議你用定時中斷方式,下面的供參考 org 0000h ajmp start org 001bh ljmp time1 定時中斷1入口 org 0030h start mov 30h,0 mov 31h,0 mov 32h,0 mov 33h,0 mov p2,0ffh mov dptr,table...

51微控制器組合語言程式,按鍵控制兩個發光二極體的同時閃爍,交替閃爍

p1.0 p1.1接2led,p2.0接一按鍵。上電2led不亮,按第1 次鍵2led同時以1s週期閃爍,按第2 次 2led輪流1s閃爍.同此迴圈。11 04 17 org 00h ajmp main org 0bh ajmp t0int org 30h main mov tmod,01h mov...

微控制器串列埠通訊問題(組合語言),微控制器串列埠通訊問題(組合語言)

這倆程式,執行到最後邊,都是 ret,返回指令。返回到何處去呀?呵呵,還是,先解決程式結構的問題。1 程式結構 有問題,沒有呼叫子程式 就不應該有子程式返回指令。2 jnb ti,clr ti 為判斷 串列埠 是否 傳送 完畢的,3 jnb ri,clr ri 為判斷 串列埠 是否 有接收 的,如果...