在進行老帶程序調試時,可能需要注釋掉大片的程序代碼,以縮小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 嵌套循環
/***************************************************************************/