51汇编语言编程,共五个小题

http://zhidao.baidu.com/question/359571624

将30H单元中的无符号二进制转换为3位BCD码。
转换结果的百位、十位、个位分别存放到33H、32H、31H。

其他1条回答
2011-12-28 14:46 做而论道   | 十八级

MOV   A, 30H
MOV   B, #100
DIV   AB           ;除以100
MOV   33H, A       ;存放百位数.
MOV   A, B
MOV   B, #10
DIV   AB           ;除以10
MOV   32H, A       ;存放十位数.
MOV   31H, B

END

追问 2011-12-28 17:56

http://zhidao.baidu.com/question/359647700.html
http://zhidao.baidu.com/question/359647253.html
http://zhidao.baidu.com/question/359646783.html
http://zhidao.baidu.com/question/359573228.html

这几个能帮解决下吗,高分 啦。

评论(2) | 2 0

SunnyCorrs2012-11-22 18:39
英雄所见略同啊!回复

做而论道2011-12-31 14:26
这四个问题,都回答并被采纳为最佳。但是有三个都打不开了,不知道是怎么回事。回复

===================================

http://zhidao.baidu.com/question/359647700.html
2011-12-28 17:51qiyuan775 | 分类:其他编程语言 | 浏览37次

在内部RAM 20H和21H单元中存放着一个16位的补码表,其中21H单元存放高8位试编写程序
救出其原码,并把结果存放在原单元中

>_<!! 该提问可能违反了知道内容规范,仅参与者可见,请您知晓。

2011-12-28 19:52 #挑战高质回答,话费奖励等你拿!# 提问者采纳
(21H)(20H)中存放着一个16位的补码,求其原码。
;
     MOV   A, 21H
     JNB   ACC.7, _END
     MOV   A, 20H
     CPL   A
     ADD   A, #1
     MOV   20H, A
     MOV   A, 21H
     CPL   A
     ADDC  A, #0
     MOV   21H, A
_END:
     SJMP  $

END

提问者评价:非常强大,,

评论 | 0 0

做而论道   | 十八级 采纳率59%

===================================

http://zhidao.baidu.com/question/359647253.html
2011-12-28 17:49qiyuan775 | 分类:网站使用 | 浏览262次

已知两个10字节的无符号数分别存在以BLOCK1和BLOCK2为起始地址的存储区中,
求两个数的和并把结果存放在以BLOCK1为起始地址的数据区中

分享到:
2011-12-28 19:40 #挑战高质回答,话费奖励等你拿!# 提问者采纳
;
    CLR   C
    MOV   R0, #BLOCK1
    MOV   R1, #BLOCK2
    MOV   R2, #10
LOOP:
    MOV   A, @R0
    ADDC  A, @R1
    MOV   @R0, A
    INC   R0
    INC   R1
    DJNZ  R2, LOOP

END

提问者评价:高手呀。

评论 | 0 0

做而论道   | 十八级 采纳率59%

===================================

http://zhidao.baidu.com/question/359646783.html
2011-12-28 17:48qiyuan775 | 分类:其他编程语言 | 浏览21次

在内部RAM中,从BLOCK单元开始有一个无符号数据块,其长度在于LEN单元,
求出数据块最大的数,并存入MAX单

>_<!! 该提问可能违反了知道内容规范,仅参与者可见,请您知晓。

分享到:

2011-12-28 19:55 #挑战高质回答,话费奖励等你拿!# 提问者采纳
;
    MOV   MAX,  #0
    MOV   R0,  #BLOCK
    MOV   R2,  #LEN
LOOP:
    MOV   A,   @R0
    CLR   C
    SUBB  A,  MAX
    JNC   NEXT
    MOV  MAX,  @R0
NEXT:
    INC   R0
    DJNZ   R2,  LOOP

END

追问 2011-12-28 20:12

也帮注释下,另外,我想加你,,已经发出请求了,请通过下。

提问者评价:太感谢啦,

评论 | 0 0

做而论道   | 十八级 采纳率59%

===================================

http://zhidao.baidu.com/question/359573228.html
2011-12-28 14:20qiyuan775 | 分类:数学 | 浏览940次

两个4位压缩BCD码相加 ,被加数和加数分别存放在43H(千、百位)42H(十、个位)、
41H(千、百位)40H(十、个位)中。

编写加法程序,将和数存放在46H、45H,44H单元中,其中46H单元存放最高位产生的进位。

分享到:

2011-12-28 19:47 #挑战高质回答,话费奖励等你拿!# 提问者采纳
两个4位压缩BCD码相加,被加数和加数分别存放在
43H(千百)42H(十个)、
41H(千百)40H(十个)中。
编写加法程序,将和数存放在46H、45H,44H单元中,其中46H单元存放最高位产生的进位。
;
    MOV   A, 42H
    ADD   A, 40H
    DA    A
    MOV   44H, A
    MOV   A, 43H
    ADDC  A, 41H
    DA    A
    MOV   45H, A
    CLR   A
    ADDC  A, #0
    MOV   46H, A

END

追问 2011-12-28 20:01

能否帮注释下,谢谢。

回答 2011-12-28 20:07
;
    MOV   A, 42H   ;取被加数.
    ADD   A, 40H   ;加上加数.
    DA    A        ;调整为BCD
    MOV   44H, A   ;保存.
    MOV   A, 43H
    ADDC  A, 41H   ;带着刚才的进位相加.
    DA    A
    MOV   45H, A
    CLR   A        ;A = 0
    ADDC  A, #0    ;加上0,带着刚才的进位相加.
    MOV   46H, A

END

提问者评价:非常感谢啦,

评论(1) | 3 0

幻kjsm2012-10-20 12:19
赞同楼主,是正解回复

做而论道   | 十八级 采纳率59%

===================================
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验二是一项关于80C51汇编语言编程的实验。80C51是一种常用的单片机,掌握其汇编语言编程对于学习嵌入式系统和单片机原理非常重要。 在本实验中,我们将学习如何使用80C51汇编语言编写程序,并将其下载到单片机上运行。通过实验,我们可以深入了解单片机内部的工作原理和寄存器的使用方法。 在开始实验前,我们需要了解一些基本概念和知识。首先,我们需要了解单片机的硬件架构和内部寄存器的作用。单片机的硬件包括中央处理器、存储器、输入输出端口等,而寄存器则用于存储数据和控制单片机的行为。 接下来,我们需要学习80C51汇编语言的语法和指令集。汇编语言是一种低级语言,使用特定的指令直接与硬件进行交互。学习汇编语言需要掌握不同的指令和寄存器的用法,以及如何进行数据操作和控制流程。 在实验过程中,我们将根据实验要求,编写相应的程序来实现特定的功能。例如,我们可以通过控制LED的亮灭来实验GPIO端口的输入输出,或者通过定时器来实现延时功能。 完成编写程序后,我们需要将程序下载到单片机上运行。这需要使用编程器来将程序写入单片机的存储器中,并配置相应的寄存器来使程序能够在单片机中正常运行。 通过实验二,我们可以提高对80C51汇编语言的理解和应用能力,掌握单片机的编程技巧,同时也培养了我们解决问和调试的能力。这对于进一步学习和应用嵌入式系统和单片机原理都具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值