1樓:匿名使用者
;用彙編實現多位十六進製制數相加
data segment ;高位在前,個位最後
x db 0,45h,21h,0adh,0cbh,54h,59h,44h,55h ;4521adcb54594455h
y db 0,45h,21h,0bah,0dch,78h,59h,44h,55h ;4521badc78594455h
z db 9 dup (0);累加和存放區
data ends
; code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,offset y
dec si ;si 指向x的個位
mov di,offset z
add di,8 ;指向z的個位
clcmov cx,9
next:
mov al,[si] ;逐位相加
adc al,[si+9]
mov [di],al ;儲存一位和
dec si
dec di
loop next
mov ah,7 ;暫停
int 21h
mov ah,4ch ;返回dos
int 21h
code ends
end start
;經與計算器驗證,執行結果準確。
>debug sadd.exe
-... ...
-d013de:0000 00 45 21 ad cb 54 59 44-55 00 45 21 ba dc 78 59
13de:0010 44 55 00 8a 43 68 a7-cc b2 88 aa 00 00 00 00 00
組合語言 兩個2位的十進位制數相乘,要求結果用十進位制數輸出,求
轉頭空夢 你十進位制數十已經知道捏 還是 還不知道 如果知道的話 直接轉換成 十六進位制 然後 開始乘法程式 18乘以40 即 12h 28hdata segment tab db 12h tbb db 28h may db 10 dup data ends code segment assume ...
用組合語言列出8位二進位制數表示的十進位制數的個十百位。此微控制器彙編指令無乘除和取餘
mov 30h,255 百位mov 31h,255 十位 mov a,n 8位二進位制數lp1 inc 30h clr c subb a,100 jnc lp1 add a,100 lp2 inc 31h clr c subb a,10 jnc lp2 add a,10 mov 32h,a 個位 r...
c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數
思路 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。即用2整除十進位制整數,可以得到一個商和餘數 再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。include stdi...