在进行老带程序调试时,可能需要注释掉大片的程序代码,以缩小Bug出现的范围,从而尽快锁定错误原因。那么使用Eclipse如何快速注释程序代码呢?下面就讲解3种常用方法。
法一:使用Ctrl+/快捷键
第1步:在Eclipse中拖动鼠标,选中需要注释的代码,通常为连续多行代码。
第2步:按住Ctrl+/快捷键
第3步型含缺:会发现所选代码被“//”注释掉。当调试完后,可再次按住Ctrl+/快捷键打开注释。
方法二:使用Ctrl+Shift+C快捷键
第1步:在Eclipse中拖动鼠标,选中需要注释的代码。
第2步:按住Ctrl+Shift+C快捷键
第3步:会发现所卜辩选代码被“//”注释掉。当调试完后,可再次按住Ctrl+Shift+C快捷键打开注释。
方法三:使用Ctrl+Shift+/快捷键
第1步:在Eclipse中拖动鼠标,选中需要注释的代码。
第2步:按住Ctrl+Shift+/快捷键。
第3步:会发现所选代码被“/* */”注释掉。
第4步:当调试完后,可按住Ctrl+Shift+快捷键打开注释。
『贰』 微型计算机原理... 高手来下... 下面的代码帮我加下注释... 尽量每条都加注释... 通俗易懂点...
CODE SEGMENT ;S6.ASM display "GOOD88"
ASSUME CS:CODE ;将代码段code与段寄存器cs关联
ORG 2DF0H;定位到带缓2DF0H
START: ;程序执行头
JMP START0 ;跳转到START0
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
BUF DB ?,?,?,?,?,?;预留内存6个字节
data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH;定义DATA数据段
START0: ;标号start0指向的代码段
CALL BUF1;调用BUF1子程序
CON1: CALL DISP;标号CON1,调用DISP子程序
JMP CON1;跳转到CON1
DISP: MOV AL,0FFH ;00H
MOV DX,PA;将字位口数据送入DX
OUT DX,AL;将DX中数据送到AL指咐晌向的端口
MOV CL,0DFH ;显示子程序 ,5ms
MOV BX,OFFSET BUF;将BUF的偏移地址送入BX
DIS1: MOV AL,[BX];将bx指向的BUF中的数据送入AL
MOV AH,00H;AH赋值0
PUSH BX;BX入栈
MOV BX,OFFSET DATA1;DATA1偏移地址送入BX
ADD BX,AX;ax,bx相加,和送入BX
MOV AL,[BX];bx指向的内存数据送入al
POP BX;bx出栈
MOV DX,PB;字形口数据送入DX
OUT DX,AL;将DX数据送到AL指向的端口
MOV AL,CL;CL传递给AL
MOV DX,PA;字位口数据送到DX
OUT DX,AL;DX中数据送到AL指向的端口
PUSH CX;CX入栈
DIS2: MOV CX,00A0H;赋值
LOOP $;在当前代码段循环CX中赋值的次数
POP CX;CX出栈
CMP CL,0FEH ;01H,比较
JZ LX1;为零跳转到LX1
MOV AL,0FFH ;00H,赋值
MOV DX,PA
OUT DX,AL
INC BX;BX自增1
ROR CL,1 ;SHR CL,1
JMP DIS1;跳至DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,09H
MOV BUF+1,00H
MOV BUF+2,00H
MOV BUF+3,0DH
MOV BUF+4,08H
MOV BUF+5,08H
RET
;-------------------------------------------------------
CODE ENDS
END START
其实,给每句代码加注释,你也不一定能看懂全部代衡行锋码所要表达的意思。你应该分段看,将代码分成几个功能段,分别了解每个功能段的所完成的功能,那么就非常好理解了。
『叁』 怎么给代码加注释
C/C++/C#
行注释://这里是注释
块注释:/*这里是注释*/
Java
行注释://这里是注释
块注释:/*这里是注释*/
HTML
块注释:<!--这里是注释-->
CSS
块注释:/*这里是注释*/
JavaScript
行注释://这里是注释
块注释:/*这里是注释*/
XML
块注释:<!--这里是注释-->
Python
行注释:#这里是注释
块注释:'''这里是注释'''
SQL Server/Oracle PLSQL
行注释:--这里是注释
块注释:/*这里是注释*/
MySQL
行注释:--这里是注释
行注释:#这里是注释
块注释:/*这里是注释*/
VB
行注释:'这里是注释
汇编语言
行注释:;这里是注释
perl
行注释:# 这是一个单行注释
块注释:
=pod
这里是注释
=cut
Matlab
行注释:%这里是注释
块注释:%%这里是注释%%
块注释:%{这里是注释%}
R语言
行注释:#这里是注释
块注释:if(false){这里是注释}
(3)poj2247代码及注释扩展阅读:
关于高级语言中的注释:
1、注释是代码的“提示”或“解释”而非文档;注释主要用于解释代码复杂度;注释应准确、易懂(无二义性)、简洁;程序中有效注释量必须在20%以上。
说明:代码清楚可以自注释的不需加注释,过分详细的注释容易使人厌烦,切记不要自以为高深让别人看不懂而不加注释。
2、注释的目的:为了便于代码的维护、解释代码的功能和方法等方便读者阅读,以及防止不必要的重复信息。
3、给代码添加注释绝对是好习惯,最好边写代码边注释
『肆』 求大神帮忙在这段单片机代码加一下注释
先说下,你的程序格式写的太占用空间了,而且看着也不够整洁
已经帮你都注释了,格式也做了调整,部分没有调整,方便添加注释
/***************************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit P26=P2^6; sbit P27=P2^7;//数码管片选控制用端口定义
sbit P20 =P2^0; sbit P21 =P2^1; sbit P22 =P2^2;//按键端口定义
uchar tt,a,b,c,d,e,f,second,minite, hour;//定义时分秒变量
uchar code smg[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//数码管控制位
uchar code shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xbf};//数字0-9
void display(uchar a,uchar b,uchar c,uchar d ,uchar e,uchar f);//数码管显示函数定义
void delay(uint z);//延时函数定义
/***************************************************************************/
void keyscan()
{
TR1=0;//关闭定时器
P2 |=0x07;//初始化 P2 端口状态
if(P20==0)//如果按键被按下
{
则喊察 delay(10);//延时去抖动
渗饥 {
if(P20==0)//再次判断按键是否被按下
{
hour++;//小时 加一
if(hour==24){hour=0;}//如果达到24小时,则从0在开始
while(P20==0);//等待该按键松开
}
}
}//以下类推
if(P21==0){delay(10);if(P21==0){minite++;if(minite==60)minite=0;while(P21==0);}}
if(P22==0){delay(10);if(P22==0){second++;if(second==60)second=0;while(P22==0);}}
TR1=1;//打开定时器
}
/***************************************************************************/
void main()
{
hour=12; //初始化小时 变量
TMOD=0x10; //设置定时器1和计数器0
TH1=(65536-50000)/256; //定时器装初值,高四位
TL1=(65536-50000)%256; //定时器装初值,低四位
TR1=1; //启动定时器1
ET1=1; //启动定时器1中断
EA=1; //开总中断
P2 |=0x07; //初始化 P2 端口状态
while(1) //主循环
{
keyscan(); //调用按键处理函数
if(tt==60){tt=0;second++;} //如果达到60毫,秒加一
if(second==60){second=0;minite++;} //如果达到60秒,分加一
if(minite==60){minite=0;hour++;} //如果达到60分,小时加一
if(hour==24){hour=0;} //如果达到24小时,则从0在开始
孙茄 f=second%10; e=second/10; //分离秒个位与十位的数值
d=minite%10; c=minite/10; //分离分个位与十位的数值
b=hour%10; a=hour/10; //分离小时个位与十位的数值
}
}
/***************************************************************************/
void display(uchar a,uchar b,uchar c,uchar d ,uchar e,uchar f)//数码管显示函数
{
P27=1; P1=smg[7]; P27=0; P26=1; P1=shuzi[f]; P26=0; P1=0; delay(1);//秒个位
P27=1; P1=smg[6]; P27=0; P26=1; P1=shuzi[e]; P26=0; P1=0; delay(1);//秒十位
P27=1; P1=smg[5]; P27=0; P26=1; P1=0xbf; P26=0; P1=0; delay(1);//分隔符
P27=1; P1=smg[4]; P27=0; P26=1; P1=shuzi[d]; P26=0; P1=0; delay(1);//分个位
P27=1; P1=smg[3]; P27=0; P26=1; P1=shuzi[c]; P26=0; P1=0; delay(1);//分十位
P27=1; P1=smg[2]; P27=0; P26=1; P1=0xbf; P26=0; P1=0; delay(1);//分隔符
P27=1; P1=smg[1]; P27=0; P26=1; P1=shuzi[b]; P26=0; P1=0; delay(1);//时个位
P27=1; P1=smg[0]; P27=0; P26=1; P1=shuzi[a]; P26=0; P1=0; delay(1);//时十位
}
/***************************************************************************/
void timer1() interrupt 3 //定时器中断函数
{
TH1=(65536-10000)/256; TL1=(65536-10000)%256;//重装定时器初值
tt++; display(a,b,c,d,e,f);//计数器 tt 累加,以及调用数码管显示函数
}
/***************************************************************************/
void delay(uint z) //延时函数
{uint t1,y; for(t1=z;t1>0;t1--){for(y=125;y>0;y--);}}//标准的 for 嵌套循环
/***************************************************************************/