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碼,餘三碼權對應表 希望對你有幫助 如果你滿意,那就反手一個贊吧 十六進位制和二進位制的對應關係表 二進位制和十六進位制的對應關係如下圖所示 十六進位制對應...