1樓:依公尺
hex2bcd:
clr amov bcddata,a ;正負號初始化虛慶mov a,r6
jnb ,h2b
mov bcddata,#0ah ;建負號困備標誌cpl a
mov r6,a
mov a,r7
cpl ainc a
mov r7,a
jnz h2b
inc r6
h2b: mov r4,#0ah
mov b,r4
mov a,r6
div ab
mov r6,a
mov a,r7
anl a,#0f0h
orl a,b
swap a
mov b,r4
div ab
mov r2,a
mov a,r7
swap a
anl a,#0f0h
orl a,b
swap a
mov b,r4
div ab
mov bcddata+3,b ;得到個位swap a
orl a,r2
swap a
mov r7,a ;第一次除法完成。
anl a,#0f0h
orl a,r6
swap a
mov b,#0ah
div ab
swap a
mov r1,a ;存入高位商差尺握。
mov a,r7
anl a,#0fh
swap a
orl a,b
swap a
mov b,r4
div ab ;第二次除法完成。
mov bcddata+2,b ;儲存bcd十位orl a,r1
mov b,r4
div ab
mov bcddata+1,b ;儲存百位jz hex2bcdret
mov bcddata+0,a ;儲存千位。
hex2bcdret:
ret end
2樓:浮若心微涼
以下為單位元組中燃16進位轉彎念bcd碼。
mov b,#64h
div ab
mov r7,a
mov a ,#0ah
xch a ,賣鬧虛b
div ab
swap a
orl a,bret
3樓:網友
可以去 諮詢一下老師!!!
十六進位轉化 bcd碼
4樓:求真實驗室
void hextobcd(u8 *pbuff,u8 len) //十六進位轉為bcd碼。
u8 i,temp;
for(i=0;itemp=pbuff[i]/10;
time[i]=pbuff[i]%10+temp*16;
bcd碼就是用二進位數來表示常用的十進位數。就是用四個位的二進位來表示乙個二進位數。乙個位元組一共有八個位,它就可以表示兩個bcd碼。
比如,0fh等於二進位物15,用乙個位元組低四位來表示5,高四位來表示1合起來就是15h,不用轉換兩次的。
怎麼將十六進位轉化為bcd碼
5樓:太平洋科技
1、首先開啟電腦自帶的計算器,點選三根橫線。
2、在選單中點選選擇程式設計師。
3、進入程式設計師計算器,點選bin。
4、輸入你要轉換的bin碼,以110111111001為例,得到乙個十六進位數字3577。
<>6、進入工具,點選選擇轉bcd。
7、輸入3577,點選計算按鈕,就可以獲得bcd碼0011010101110111即可。
用組合語言程式設計學生成績管理系統,用組合語言程式設計 編寫一程式統計學生的數學成績,分別歸類90 99分,80 89分,70 79分,
以下程式是對100個資料進行統計,統計100,90 99,80 89,70 79,60 69,和59以下等分數段的人數,結果存放在result開始的記憶體單元 dseg segment buff db 98,87,56,12,100,46,79,68,59,98 db 59,86,69,96,100...
用匯編實現多位十六進位制數相加,用組合語言如何實現兩個16位二進位制數相加
8086的彙編我不熟,我用51的彙編做的這個程式,希望對你有啟發org 0000h ljmp main org 1000h db 55h,44h,59h,54h,0cbh,0adh,21h,45h org 2000h db 55h,44h,59h,54h,0cbh,0adh,21h,45h 將資料儲...
組合語言中怎樣算平均值,用組合語言編寫求一組數的平均值怎麼寫
首先把這些數值累加起來,然後除以這些資料的數量比如 add ax,49 假設數量是8個 mov bx,8 div bx 其結果就在ax中 可先將4個數加 再除以4 如果是要輸入任何個數,求平均 那就另法 畢竟只有4個。include void main 我現在在學網頁程式設計,所以我已經對這忘記的差...