兩個十六位二進位制數相減完整組合語言程式

2021-03-06 05:53:50 字數 1264 閱讀 2639

1樓:江城微波

;兩個十六位進位制數相減

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

2樓:匿名使用者

對於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

兩個16位二進位制數相加微控制器程式 40

3樓:

啥微控制器?如果不考慮負數,那麼:

32位cpu的,直接加,

16位的直接加,但要判斷最高位是否溢位,

8位的,低8位先加,再高8位相加,同時加上低8位的進位,再判定最高位是否溢位。

以上供參考。

4樓:匿名使用者

;r2r3+r4r5=r1r2r3

add16:

mov r1,#0

mov a,r3

add a,r5

mov r3,a

mov a,r2

addc a,r4

mov r2,a

jnc add161

mov r1,#1

add161:ret

請問 736用怎麼用十六位二進位制來表示

736的16位二進位制補碼是1111110100100000,用十六進位制碼錶示為fd20h。一位十六進位制數可以用幾位兩進位制數來表示 一個十六進位制的位元組,是用8位二進位制表示的。例 0xff 11111111 對於1個位元組的十六進位制來說,可以分為 高四位和低四位。此時,就可以用4個位來表...

6二進位制數10110與1101 11相減的結果是二進位制數

10110.00 1101.11 1000.01 百分位 0 1不夠減,向上借一,則0 2 1 1 十分位 0 1 1不夠減,向上借一,則0 2 1 1 0 個位 0 1不夠減,向上借一,則0 2 1 1 0 十位 1 0 1 0 百位 1 1 0 千位 0 1不夠減,向上借一,則0 2 1 1 萬...

十進位制數與二進位制數十六進位制數的對應表示

十進位制數與二bai進位制du數 十六進位制數 zhi對應表 十進位制數dao與版二進位制數 8421bcd碼,5421bcd碼,2421bcd碼,餘三碼權對應表 希望對你有幫助 如果你滿意,那就反手一個贊吧 十六進位制和二進位制的對應關係表 二進位制和十六進位制的對應關係如下圖所示 十六進位制對應...