当前位置:编程学习 > 汇编语言 >>

急急............求c语言编译成汇编语言...

#include <reg52.h> #include"LCD1602.h" sbit P1_0 = P1^0; sbit P1_1 = P1^1; sbit P1_2 = P1^2; sbit P1_3 = P1^3; sbit P1_5 = P1^5; sbit P1_6 = P1^6; sbit P3_6 = P3^6; sbit P3_7 = P3^7; sbit P2_4 = P2^4; unsigned char speed=100; unsigned int y; void printXY(int x,int y,char *st) { GotoXY(x,y); Print(st); } void disspeed(void) { unsigned char SPEEDdis[3]; SPEEDdis[0]=60*36/speed/100+0x30; //百位 SPEEDdis[1]=60*36/speed%100/10+0x30; //十位 //显示ASCII字符 SPEEDdis[2]=60*36/speed%100%10+0x30; // 个位 printXY(13,1,SPEEDdis); } void delay(unsigned char de) { unsigned char ch =1; while(de--) while(ch--); } void int2() interrupt 2 { if(P1_0==0) { speed=speed-4;//加速 if(speed<10) speed=10; P1_1=1;P1_2=1;P1_3=1; disspeed(); while(!P1_0); } if(P1_1==0) { speed=speed+10; if(speed>200) //减速 speed=200; P1_0=1;P1_2=1;P1_3=1; disspeed(); while(!P1_1); } if(P1_2==0) { P3_6=1; //正转 P1_0=1;P1_1=1;P1_3=1; printXY(13,0," CW"); while(!P1_2); } if(P1_3==0) { P3_6=0; //反转 P1_0=1;P1_1=1;P1_2=1; printXY(13,0,"ICW"); while(!P1_3); } } void int0() interrupt 0 { y=0; } void main() { P1_5=1; P1_6=1; y=1; if(P1_5==0) //启动按钮 { IT0 = 1; EA = 1; EX0 = 1; EX1=1; P3_6 = 1; P1_0 = 1; //以下几位作为输入口 P1_1 = 1; P1_2 = 1; P1_3 = 1; Lcd_Init(); printXY(0,1,"SPEED(n/min):"); printXY(0,0,"MotoRun_direc CW"); disspeed(); while(1) { delay(speed); P3_7=~P3_7; //通过speed调节P3_7频率 if(y==0) //停止按钮 { EA = 0; y=1; break; //跳出当前循环,即while循环 } } } }
追问:请问怎样生成呢?怎么找不到的呢?
答案:似乎是51单片机的程序吧,用keil c可以直接生成汇编
其他:一般编译器都能干这个工作,比如keil就可以输出汇编。方法是,选项listing中勾上assembly code,则lst文件中就有汇编代码。 编辑完,用编译好的二进制文件,再下个51反汇编的,弄一下就出来. 你可以把程序输入到编译器里,然后输出汇编就可以了,很简单的。

上一个:看完王爽的汇编语言后有没必要再看“80x86汇编语言程序设计教程”才能看罗云斌那本?
下一个:急!!!微机原理课本里面的汇编语言例子,用MASMPlus运行错误。请问错在哪里?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,