您现在所在的是:

单片机论坛

回帖:12个,阅读:2391 [上一页] [1] [2] [下一页]
1059
woodyxue
文章数:66
年度积分:50
历史总积分:1059
注册时间:2006/2/5
发站内信
发表于:2006/2/7 13:50:00
#0楼
要求是(1)编写程序,进行两个16位数的减法:6FDH—13B4H。结果存至内部RAM的30H和31H,30H存差的低8位。

(2)将DPTR减1。

程序一:
MOV  DPTR  #6FDH;
MOV  10H    DPL;
MOV  11H    DPH;
MOV  DPTR  #13B4H;
MOV  20H    DPL;
MOV  21H    DPH;
MOV  A       11H;
CLR   C;
SUBB  A  21H;
MOV  31H  A;
MOV  A  10H;
CLR  C;
SUBB  A  20H;
MOV  30H  A;
另外我认为这个程序中的13B4H是不是也可以理解为负数,如果可以那位帮我看一下程序应该怎么改才好,小弟先谢谢了啊!!!
程序二:
CLR  C;
TABLE:  PUSH  DPH;
           PUSH  DPL;
           JC   TABLE1;
           POP    DPL;
           PUSH  DPL;
           POP    A;
           DEC   A;
           JC   TABLE;
           PUSH   A;
           POP   DPL;
           POP   DPH;
TABLE1:POP   DPL;
           POP   DPH;
           PUSH  DPH;
           POP   A;
           DEC   A;
           PUSH  A;
           POP   DPH;
           PUSH  DPH;
           PUSH  DPL;
           POP    A;
           ADD    A   #FFH;
           DEC    A;
           PUSH  A;
           POP    DPL;
           POP    DPH;

水平有限还请各位多多指点批评!!小弟先谢谢了!!!
916
s457973577
文章数:10
年度积分:50
历史总积分:916
注册时间:2006/2/5
发站内信
发表于:2006/2/7 16:35:00
#1楼
还行,
1185
85880527
文章数:136
年度积分:50
历史总积分:1185
注册时间:2006/1/16
发站内信
发表于:2006/2/7 20:08:00
#2楼
不知道要用DPTR来绕一下干什么,你减错了,翻翻书,该先减低位,还有,要养成一个习惯,低位地址存数据的高位,不要问为什么,汇编的每一行要打标点吗?我没看到过。第二个就懒得看了。要编出一个能用的程序可能还得努力三个月,加油啊,兄弟:)
1074
lnw112000
文章数:58
年度积分:50
历史总积分:1074
注册时间:2004/12/16
发站内信
发表于:2006/2/7 21:59:00
#3楼
怎么不用高级语言写阿
1059
woodyxue
文章数:66
年度积分:50
历史总积分:1059
注册时间:2006/2/5
发站内信
发表于:2006/2/8 11:37:00
#4楼
多谢了2楼的
你的意思是不是直接把16为数存在两个8位地址里,不用DPTR了!!

还有第二个,你有空就帮我看看谢谢了啊!!

多谢你的指点,我 水平很一般还请你多多指点啊,谢谢你了啊!!

我还有新写的程序段,有空了帮忙看看啊!小弟多谢了!!
1185
85880527
文章数:136
年度积分:50
历史总积分:1185
注册时间:2006/1/16
发站内信
发表于:2006/2/9 20:57:00
#5楼
你这样学单片机太累了,去找一个实际的产品(即能用的,包括硬件和软件),功能不是很复杂的,把产品的功能动作什么的弄透彻后再去看它的程序,试着对它的功能进行简单的修改,这样比较容易上手,不要老是在那翻什么资料啊什么的,看书是学不好的,大学里单片机考100分工作了可能写程序时第一句话就不知道怎么写:)
1185
85880527
文章数:136
年度积分:50
历史总积分:1185
注册时间:2006/1/16
发站内信
发表于:2006/2/9 21:31:00
#6楼
MOV A,#0FDH
CLR  C
SUBB A,#084H
MOV 30H,A
MOV A,#06H
SUBB A,#013H
MOV 31H,A
对了,你这不够减:)
904
zyd72101
文章数:2
年度积分:50
历史总积分:904
注册时间:2006/2/12
发站内信
发表于:2006/2/12 20:30:00
#7楼
第一行就不对了,那个#号后面除了H外应该是四位十六进制数吧
1185
85880527
文章数:136
年度积分:50
历史总积分:1185
注册时间:2006/1/16
发站内信
发表于:2006/2/12 20:48:00
#8楼
刚开始以为楼上的是在说我写错了,再一看应该不是的:)要是这个减法我都写错了,我们老板早都不知道把我给撂到多远了。刚才试了一下,楼主的第一句能通过编译,是正确的
1059
woodyxue
文章数:66
年度积分:50
历史总积分:1059
注册时间:2006/2/5
发站内信
发表于:2006/2/13 17:18:00
#9楼
多谢了
这位前辈多谢你还帮我编译看了一下!!!我是很想学单片机,可是现在上班了,没什么太多的时间,你有什么好办法可以介绍给我可以不???小弟先谢谢了啊!!表情

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005