用宏和高級匯編技術實現類似高級語言中的條件分支語句IF功能。同時,編寫一個程序證明所編寫宏的正確性。要求如下: (1).iff后的條件為“x1,op,x2”形式,其中x1和x2為操作數,op為關系比較符,用g(>),l(<),e(=), ge(>=), le(<=)表示。另外,x1和x2必須是字。 (2).elsee語句(相當于else語句)是可選項,即iff后可以不跟elsee。 (3)條件分支iff的結束用.ifend表示.
上傳時間: 2013-12-31
上傳用戶:風之驕子
DESProcess FILE *mfp,*cfp int ttch=0,xorRes,ttbitdiff=0 char mch,cch float bdiff=0 if((mfp=fopen(mfile,"r"))==NULL) {cout<<"Cannot open the file to compare"<<endl } if((cfp=fopen(cfile,"r"))==NULL) {cout<<"Cannot open the file to compare"<<endl } else { while(!feof(mfp)&!feof(cfp)) { ttch++ mch=fgetc(mfp) cch=fgetc(cfp) xorRes=mch^cch ttbitdiff+=(xorRes&1)+(xorRes&2)/2+(xorRes&4)/4+(xorRes&8)/8+(xorRes&16)/16+(xorRes&32)/32+(xorRes&64)/64+(xorRes&128)/128 } bdiff=float(ttbitdiff)*100/float(ttch*8) } *bitdiff8byte=float(ttbitdiff)*100/float(8*8) return bdiff
標簽: DESProcess ttbitdiff xorRes bdiff
上傳時間: 2016-07-02
上傳用戶:1079836864
private double PointToAngle(Point AOrigin, Point APoint) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5f else return Math.PI * 1.5f else if (APoint.Y == AOrigin.Y) if (APoint.X > AOrigin.X) return 0 else return Math.PI else {
標簽: AOrigin APoint Point PointToAngle
上傳時間: 2016-10-31
上傳用戶:zhyiroy
private double PointToAngle(Point AOrigin, Point APoint) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5f else return Math.PI * 1.5f else if (APoint.Y == AOrigin.Y) if (APoint.X > AOrigin.X) return 0 else return Math.PI else {
標簽: AOrigin APoint Point PointToAngle
上傳時間: 2016-10-31
上傳用戶:sunjet
private double PointToAngle(Point AOrigin, Point APoint) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5f else return Math.PI * 1.5f else if (APoint.Y == AOrigin.Y) if (APoint.X > AOrigin.X) return 0 else return Math.PI else {
標簽: AOrigin APoint Point PointToAngle
上傳時間: 2013-12-18
上傳用戶:rocketrevenge
void insert_sort(int *a,int n) { if(n==1) return insert_sort(a,n-1) int temp=a[n-1] for(int i=n-2 i>=0 i--) { if(temp<a[i]) a[i+1]=a[i] else break } a[i+1]=temp }
標簽: insert_sort int return void
上傳時間: 2014-01-22
上傳用戶:banyou
//獲得當前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判斷是否支持該模式 if[vga_hasmode[mode]] vga_setmode[mode] else { printf["No such mode\n"] exit[1] } //取得信息 width = vga_getxdim[] height = vga_getydim[] colors = vga_getcolors[] //繪圖 for[i=0 i<colors i++]{ vga_setcolor[i] vga_drawline[0, i, width-1, i] }
標簽: vga_getcurrentmode vga_init oldmode vga_ha
上傳時間: 2014-12-19
上傳用戶:maizezhen
//獲得當前的模式 oldmode = vga_getcurrentmode[] //初始化 vga_init[] //判斷是否支持該模式 if[vga_hasmode[mode]] vga_setmode[mode] else { printf["No such mode\n"] exit[1] } //獲得當前的模式 mode = vga_getcurrentmode[] info = vga_getmodeinfo[mode]
標簽: vga_getcurrentmode vga_init oldmode vga_ha
上傳時間: 2017-03-24
上傳用戶:ecooo
C51原理及相關基礎入門知識 第一章:C51 流程控制語句一、分類條件語句、循環語句和開關語句。下面將對這些語句作詳細介紹。(1) 條件語句條件語句的一般形式為:if(表達式)語句 1;else語句 2;上述結構表示: 如果表達式的值為非0(TURE)即真, 則執行語句1, 執行完語句1 從語句2 后開始繼續向下執行; 如果表達式的值為 0(FALSE)即假, 則跳過語句1 而執行語句2。所謂表達式是指關系表達式和邏輯表達式的結合式。注意:1. 條件執行語句中"else 語句2;"部分是選擇項, 可以缺省, 此時條件語句變成:if(表達式) 語句1;表示若表達式的值為非 0 則執行語句1 , 否則跳過語句1 繼續執行。2. 如果語句1 或語句2 有多于一條語句要執行時, 必須使用"{"和"}" 把這些語句包括在其中, 此時條件語句形式為:if(表達式){語句體 1;}else{語句體 2;}3. 條件語句可以嵌套, 這種情況經常碰到, 但條件嵌套語句容易出錯, 其原因主要是不知道哪個if 對應哪個else。例如:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");對于上述情況,規定: else 語句與最近的一個if 語句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了使 else 與if(x>20||x<-10) 相匹配, 必須用花括號。如下所示:if(x>20||x<-10){if(y<=100&&y>x)printf("Good");}
上傳時間: 2013-10-24
上傳用戶:Sophie
AT89C2051驅動步進電機的電路和源碼:AT89C2051驅動步進電機的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時間: 2013-11-21
上傳用戶:boyaboy