把4000H-4007H地址单元数据按字节累加,累加和以BCD码形式存放在4010H为首地址的系列字节。使用汇编语言。 10

采用的是MCS96单片机。... 采用的是MCS96单片机。 展开
 我来答
pig05121
2010-10-27 · TA获得超过599个赞
知道小有建树答主
回答量:234
采纳率:50%
帮助的人:138万
展开全部
mov bx,4000h
mov ax,0
mov cx,7
add al,[bx]
adc ah,0
inc bx
loop 7

mov si,4010h
mov bl,10
again:
cmp ax,0
je over ;AX为零则结束计算
div bl
mov [si],ah ;保存余数
mov ah,0
inc si ;
jmp again
over:
mov ax,0
mov [si],ax
mov [si+1],al
高位字节存高位BCD码
低位字节存低位BCD码
由于7个字节累加,最大的数是1785,所以第一次DIV的商最大是178,AL不会溢出
为防止累加和小于10,最后把结果之后的三个字节清零。
炫影自由
2010-11-04 · 超过19用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:31.2万
展开全部
我想问一下,4000H-4007H地址单元是放在数据存储器中还是程序存储器中。4000H-4007H是否放在外部扩展中。单片机程序存储单元只有4KB(0000H~0FFF),数据存储器只有256B。4000H-4007H地址单元是放在程序存储器中还是数据存储器中。

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjkt51
2010-11-10 · TA获得超过876个赞
知道答主
回答量:498
采纳率:0%
帮助的人:327万
展开全部
MOV R0, #3AH
MOV R1, #4BH
MOV R2, #5CH
MOV R3, #6DH

CALL MUL16
sjmp $

;3344H * 5566H = 111A0118H
;3A4BH * 5C6DH = 150BC5EFH
;=============================
MUL16:
;R0R1 * R2R3 ==> R4R5R6R7
MOV A, R1
MOV B, R3
MUL AB
MOV R7, A
MOV R6, B
;------------------
MOV A, R0
MOV B, R3
MUL AB
ADD A, R6
MOV R6, A
MOV A, B
ADDC A, #0
MOV R5, A
;------------------
MOV A, R1
MOV B, R2
MUL AB
ADD A, R6
MOV R6, A
MOV A, B
ADDC A, R5
MOV R5, A
CLR A
ADDC A, #0
MOV R4, A
;------------------
MOV A, R0
MOV B, R2
MUL AB
ADD A, R5
MOV R5, A
MOV A, B
ADDC A, R4
MOV R4, A
RET
;=============================
END
请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式