求把c语言转换成汇编语言 100

#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint//0~9的段码ucharcodeDSY_C... #include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//0~9 的段码
uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//计数值分解后各个待显示的数位
uchar DSY_Buffer[]={0,0,0};
uchar Count=0;
sbit Clear_Key=P3^6;
//数码管上显示计数值
void Show_Count_ON_DSY()
{
DSY_Buffer[2]=Count/100; //获取3 个数
DSY_Buffer[1]=Count%100/10;
DSY_Buffer[0]=Count%10;
if(DSY_Buffer[2]==0) //高位为0 时不显示
{
DSY_Buffer[2]=0x0a;
if(DSY_Buffer[1]==0) //高位为0,若第二位为0 同样不显示
DSY_Buffer[1]=0x0a;
}
P0=DSY_CODE[DSY_Buffer[0]];
P1=DSY_CODE[DSY_Buffer[1]];
P2=DSY_CODE[DSY_Buffer[2]];
}
//主程序
void main()
{
P0=0x00;
P1=0x00;
P2=0x00;
IE=0x81; //允许INT0 中断
IT0=1; //下降沿触发
while(1)
{
if(Clear_Key==0) Count=0; //清0
Show_Count_ON_DSY();
}
}
//INT0 中断函数
void EX_INT0() interrupt 0
{
Count++; //计数值递增
}
展开
 我来答
GUEL86
2013-01-16 · TA获得超过5857个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2845万
展开全部

用   Keil uVision3  编译调试 时, 启动 调试后 ,可以查看对应的汇编程序 如图

      红颜色的是 C 源程序,汇编指令前面 是 51机器代码。

做而论道
高能答主

2013-01-16 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8465万
展开全部
;按照C程序的功能,重写了汇编程序,如下:

ORG 0000H
LJMP START
INC R2
CJNE R2, #10, X0_END
MOV R2, #0
INC R3
CJNE R3, #10, X0_END
MOV R3, #0
INC R4
CJNE R4, #10, X0_END
MOV R4, #0
X0_END:
MOV 30H, R2
MOV 31H, R3
MOV 32H, R4
MOV A, 32H
JNZ DISP
MOV 32H, #10
MOV A, 31H
JNZ DISP
MOV 31H, #10
DISP:
MOV A, 30H
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P0, A
MOV A, 31H
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P1, A
MOV A, 32H
ADD A, #(TAB - $ - 3)
MOVC A, @A + PC
MOV P2, A
RETI
TAB: DB 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00

START:
MOV IE, #81H
SETB IT0
MOV R2, #0
MOV R3, #0
MOV R4, #0
MOV P0, #0
MOV P1, #0
MOV P2, #0
JB P3.6, $
JNB P3.6, $
SJMP START
END

这是对外部中断计数的程序,计数值为 0~999。
P3.6 是清零。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apple123sd
2013-01-30 · TA获得超过2551个赞
知道大有可为答主
回答量:7471
采纳率:0%
帮助的人:2592万
展开全部
汇编器功能的C程序,改写为如下:

ORG 0000H
LJMP START
INC R2
CJNE R2,#10,X0_END
MOV R2,#0
INC R3
CJNE R3,#10,X0_END的
MOV R3,#0
INC R4
CJNE R4,#10,X0_END /> MOV R4,#0
X0_END?
MOV 30H,R2
MOV 31H,R3
MOV 32H,R4
MOV A,32H
> JNZ DISP
MOV 32H,#10
MOV A,31H
JNZ DISP
MOV 31H,#10
DISP:
MOV A,30H BR /> ADD A,#(TAB - $ - 3)
MOVC A,@ A + PC
MOV P0,一个
MOV A,31H
ADD A,#( TAB - $ - 3)
MOVC A,@ A + PC
MOV P1,一个
MOV A,32H
ADD A,#(TAB - $ - 3) /> MOVC A,@ A + PC
MOV P2,A
RETI
TAB:DB的0x3F,0X06,0x5b,0x4f,0x66,0x6d,0x7d,为0x07,到0x7f,0x6f,为0x00

MOV IE,#81H
SETB IT0
MOV R2,#0
MOV R3,#0
MOV R4, #0
MOV P0,#0
MOV P1,#0
MOV P2,#0

JNB P3.6,JB P3.6,$ BR /> SJMP START
END

程序外部中断计数,计数值为0到999。
P3.6被清除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Y大佐亲
2013-01-16
知道答主
回答量:15
采纳率:0%
帮助的人:12.3万
展开全部
下载个wintc他有个功能是编译目标文件为汇编语言,我系统是win8所以用不起,你还是自己转换吧,http://www.pc6.com/softview/SoftView_77132.html
这里去下载
或者如他们所说,直接先编译,然后反汇编,但是反汇编的东西不是很好看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小御景柚姬
2013-01-16 · 超过19用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:56.8万
展开全部
先编译成二进制文件(*.hex),然后反汇编之即得 。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式