比较两个无符号数的大小
2016-01-25 11:49
302 查看
用2个开关分别设置数A、数B,开关拨动一次,数据加一。
另用一个开关作为数据设置结束的确认。
用三个发光二极管显示比较结果:A > B、A < B、A = B。
悬赏分:10 | 解决时间:2011-6-29 11:47
;=======================================
最佳答案:
用汇编语言编写出了程序,用PROTEUS仿真运行时的截图如下:
![](http://img.bimg.126.net/photo/LHmco_NdwRmgX1DKhK6vlA==/3940649673966318099.jpg)
图片链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/9ec1211a4ebcd3b5ac6e75ee.html#
程序如下:
;-------------------------------
sbit L1 = P3^0; ;定义端口
sbit L2 = P3^1;
sbit L3 = P3^2;
sbit K1 = P3^4;
sbit K2 = P3^5;
sbit K3 = P3^6;
;-------------------------------
ORG 0000H
MOV P0, #0C0H
MOV P2, #0C0H
;-------------------------------
IN_K1:
JB K1, IN_K2
CALL DELAY
JB K1, IN_K2
JNB K1, $
SETB L1
SETB L2
SETB L3
INC R2 ;R2为数A
CJNE R2, #10, $ + 5
MOV R2, #0
MOV A, R2
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P0, A
;-------------------------------
IN_K2:
JB K2, IN_K3
CALL DELAY
JB K2, IN_K3
JNB K2, $
MOV A, R2
MOV B, R3
CJNE A, B, $ + 7
CLR L2
SJMP IN_K3
JC $ + 6
CLR L1
SJMP IN_K3
CLR L3
;-------------------------------
IN_K3:
JB K3, IN_K1
CALL DELAY
JB K3, IN_K1
JNB K3, $
SETB L1
SETB L2
SETB L3
INC R3 ;R3为数B
CJNE R3, #10, $ + 5
MOV R3, #0
MOV A, R3
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P2, A
SJMP IN_K1
;-------------------------------
TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H, 90H
;-------------------------------
DELAY:
MOV R6, #10
MOV R7, #250
DJNZ R7, $
DJNZ R6, $ - 4
RET
;-------------------------------
END
;=======================================
原题网址:http://zhidao.baidu.com/question/284205114.html
回答时间:2011-6-28 21:37
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:谢谢了
;=======================================
后记:
程序中,使用了很多的“$”。每使用一个“$”,就可以少写一个标号。
程序中,查找七段码的时候,没有使用常用的 DPTR,这也是一个技巧吧,不知道有没有人理解这个。
另用一个开关作为数据设置结束的确认。
用三个发光二极管显示比较结果:A > B、A < B、A = B。
悬赏分:10 | 解决时间:2011-6-29 11:47
;=======================================
最佳答案:
用汇编语言编写出了程序,用PROTEUS仿真运行时的截图如下:
![](http://img.bimg.126.net/photo/LHmco_NdwRmgX1DKhK6vlA==/3940649673966318099.jpg)
图片链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/9ec1211a4ebcd3b5ac6e75ee.html#
程序如下:
;-------------------------------
sbit L1 = P3^0; ;定义端口
sbit L2 = P3^1;
sbit L3 = P3^2;
sbit K1 = P3^4;
sbit K2 = P3^5;
sbit K3 = P3^6;
;-------------------------------
ORG 0000H
MOV P0, #0C0H
MOV P2, #0C0H
;-------------------------------
IN_K1:
JB K1, IN_K2
CALL DELAY
JB K1, IN_K2
JNB K1, $
SETB L1
SETB L2
SETB L3
INC R2 ;R2为数A
CJNE R2, #10, $ + 5
MOV R2, #0
MOV A, R2
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P0, A
;-------------------------------
IN_K2:
JB K2, IN_K3
CALL DELAY
JB K2, IN_K3
JNB K2, $
MOV A, R2
MOV B, R3
CJNE A, B, $ + 7
CLR L2
SJMP IN_K3
JC $ + 6
CLR L1
SJMP IN_K3
CLR L3
;-------------------------------
IN_K3:
JB K3, IN_K1
CALL DELAY
JB K3, IN_K1
JNB K3, $
SETB L1
SETB L2
SETB L3
INC R3 ;R3为数B
CJNE R3, #10, $ + 5
MOV R3, #0
MOV A, R3
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P2, A
SJMP IN_K1
;-------------------------------
TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H, 90H
;-------------------------------
DELAY:
MOV R6, #10
MOV R7, #250
DJNZ R7, $
DJNZ R6, $ - 4
RET
;-------------------------------
END
;=======================================
原题网址:http://zhidao.baidu.com/question/284205114.html
回答时间:2011-6-28 21:37
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:谢谢了
;=======================================
后记:
程序中,使用了很多的“$”。每使用一个“$”,就可以少写一个标号。
程序中,查找七段码的时候,没有使用常用的 DPTR,这也是一个技巧吧,不知道有没有人理解这个。
相关文章推荐
- 晒晒新买的“百度旋转音箱”
- 汇编编程问题:X + Y + Z => 显示
- 汇编语言编程:1 + 2 + 3 + 4 + 5 + …… + n
- 【cocos3.x+box2d+tileMap】制作马里奥游戏(三)创世纪
- 80x86 汇编语言:在屏幕右上角显示系统时间
- 汇编语言编程:按照凯撒密码的规则加密
- 基于51单片机的99-00倒计时秒表
- 用80x86汇编语言编程:分类统计字符个数
- Android中Service类中onStartCommand返回值介绍
- 用C51语言设计程序,实现0~99秒计数器
- 用51单片机汇编语言,写一个60s倒计时的程序
- 用51单片机汇编语言,编写“键控加减一”的程序
- OC浮点数是否需要加上f后缀
- 三层登录——VB.NET版
- Visual Studio 快捷键
- AutoTile 自动拼接(四) 学习与实践
- ubuntu下安装无线网卡去驱动Qualcomm-Atheros-QCA9377
- 动态获取cell高度
- 用51单片机汇编语言设计程序,实现一个4位秒表
- Python 字符编码学习-ascii编码,Unicode和UTF-8之间的关系