N µ±ÓÃÁ½¸ö²¹Âë±íʾµÄ´ø·ûºÅÊý½øÐÐÔËËãʱ£¬N=1±íʾÔËËãµÄ½á¹ûΪ¸ºÊý£»N=0±íʾÔËËãµÄ½á¹ûΪÕýÊý»òÁã.
Z Z=1±íʾÔËËãµÄ½á¹ûΪÁ㣬Z=0±íʾÔËËãµÄ½á¹û·ÇÁã¡£
C ¿ÉÒÔÓÐ4ÖÖ·½·¨ÉèÖÃCµÄÖµ£º
¼Ó·¨ÔËË㣨°üÀ¨CMN£©£ºµ±ÔËËã½á¹û²úÉúÁ˽øλʱ£¨ÎÞ·ûºÅÊýÒç³ö£©£¬C=1£¬·ñÔòC=0¡£
¼õ·¨ÔËË㣨°üÀ¨CMP£©£ºµ±ÔËËãʱ²úÉúÁ˽èλʱ£¨ÎÞ·ûºÅÊýÒç³ö£©£¬C=0£¬·ñÔòC=1¡£
¶ÔÓÚ°üº¬ÒÆλ²Ù×÷µÄ·Ç¼Ó/¼õÔËËãÖ¸ÁCΪÒƳöÖµµÄ×îºóһλ¡£
¶ÔÓÚÆäËüµÄ·Ç¼Ó/¼õÔËËãÖ¸ÁCµÄֵͨ³£²»»á¸Ä±ä¡£
V ¿ÉÒÔÓÐ2ÖÖ·½·¨ÉèÖÃVµÄÖµ£º
¶ÔÓÚ¼Ó¼õ·¨ÔËËãÖ¸Áµ±²Ù×÷ÊýºÍÔËËã½á¹ûΪ¶þ½øÖƵIJ¹Âë±íʾµÄ´ø·ûºÅÊýʱ£¬V=1±íʾ·ûºÅλÒç³ö
¶ÔÓÚÆäËüµÄ·Ç¼Ó/¼õÔËËãÖ¸ÁVµÄֵͨ³£²»»á¸Ä±ä¡£
0000 = EQ - Z set (equal£¬ÏàµÈ)
0001 = NE - Z clear (not equal£¬²»ÏàµÈ)
0010 = CS - C set (unsigned higher or same£¬ÎÞ·ûºÅ´óÓÚ»òµÈÓÚ)
0011 = CC - C clear (unsigned lower£¬ÎÞ·ûºÅСÓÚ)
0100 = MI - N set (negative£¬¸ºÊý)
0101 = PL - N clear (positive or zero£¬ÕýÊý»òÁã)
0110 = V ......
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉÏ°Ù¶Èһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus //c++±àÒë»·¾³ÖвŻᶨÒå__cplusplus (plus¾ÍÊÇ"+"µÄÒâ˼)
extern "C" { //¸æËß±àÒëÆ÷ÏÂÃæµÄº¯ÊýÊÇcÓïÑÔº¯Êý£¨ÒòΪc++ºÍcÓïÑÔ¶Ôº¯ÊýµÄ±àÒëת»»²»Ò»Ñù£¬Ö÷ÒªÊÇc++ÖдæÔÚÖØÔØ£©
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
¡¡¡¡
ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâ˼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº¬ÒåÊÇ:Èç¹ûÕâÊÇÒ»¶ÎcppµÄ´úÂ룬ÄÇô¼ÓÈëextern "C"{ºÍ}´¦ÀíÆäÖеĴúÂë¡£
¡¡¡¡ÒªÃ÷°×ΪºÎʹÓÃextern "C"£¬»¹µÃ´ÓcppÖжԺ¯ÊýµÄÖØÔØ´¦Àí¿ªÊ¼ËµÆð¡£ÔÚc++ÖУ¬ÎªÁËÖ§³ÖÖØÔØ»úÖÆ£¬ÔÚ±àÒëÉú³ÉµÄ»ã±àÂëÖУ¬Òª¶Ôº¯ÊýµÄÃû×Ö½øÐÐһЩ´¦Àí£¬¼ÓÈë±ÈÈ纯ÊýµÄ·µ»ØÀàÐ͵ȵÈ.¶øÔÚCÖУ¬Ö»ÊǼòµ¥µÄº¯ÊýÃû×Ö¶øÒÑ£¬²»»á¼ÓÈëÆäËûµÄÐÅÏ¢.Ò²¾ÍÊÇ˵:C++ºÍC¶Ô²úÉúµÄº¯ÊýÃû×ֵĴ¦ÀíÊDz»Ò»ÑùµÄ. Ä¿µÄ¾ÍÊÇÖ÷ҪʵÏÖCÓëC++µÄÏ໥µ÷ÓÃÎÊÌâ¡£
c.hµÄʵÏÖ
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void C_fun(); ......
1¡¢ÎªÁ˵÷ÓúêʱÄܵõ½ÕýÈ·½á¹û£¬ÔÚºêÌåÖн¨Òé¶ÔºêµÄÿ¸ö²ÎÊýÓÃÀ¨ºÅÀ¨ÆðÀ´£¬²¢ÇÒµ±ºêÌåÊÇÒ»¸ö±í´ïʽʱÕû¸öºêÌåÒ²ÓÃÀ¨ºÅÀ¨ÆðÀ´¡£
/* c1.c£º½«Á½¸öÊýÏà³Ë */
#define product(x,y) ((x)*(y))
#include <stdio.h>
int main(){
int a=1,b=2,c=3,d=4,x=0;
x=product(a+3,b)+product(c,d); /* ÈôºêÌåÖÐûÓÐʹÓÃÀ¨ºÅ£¬ÔòµÃ²»µ½
ÄãÏëÒªµÄ½á¹û */
printf("%d\n",x);
return 0;
}
2¡¢ÓúêÀ´²åÈëÈÎÒâÓï¾ä¡£
/* c2.c£º²åÈëÈÎÒâÓï¾ä */
#define insert(stmt) stmt /* ²åÈëÈÎÒâÓï¾ä */
#include <stdio.h>
int main(){
int a,b;
insert({ a=1;b=1; }) /* ÕâÊÇÒ»¸ö¸´ºÏÓï¾ä */
insert({ a=1,b=1; }) /* Èç¹û¶ººÅ±í´ïʽ²»ÓÃÔ²À¨ºÅÀ¨Æð£¬ÔòÔ¤´¦ÀíÆ÷»áÈÏΪ
ÓÐÁ½¸öʵ²Î£¬±¨´í */
printf("a=%d, b=%d\n",a,b);
return 0;
}
×¢Ò⣬µÚ2¸öµ÷ÓÃÖжººÅ±í´ïʽÓï¾äÒªÓÃÀ¨ºÅÀ¨ÆðÀ´£¬·ñÔòÔ¤´¦ÀíÆ÷»áÈÏΪ¸øºê´«ÁËÁ½¸öʵ²Î£¬ÓÉÓÚûÓÐÁ½¸öÊ ......
assert
º¯ÊýÃû: assert
¹¦ ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
ÓÃ ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int key;
int value;
};
/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}
int main(void)
{
additem(NULL);
return 0;
}
assert(¶ÏÑÔ)¿ÉÒÔÓÐÁ½ÖÖÐÎʽ£º
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 Ó¦¸Ã×ÜÊDzúÉúÒ»¸ö²¼¶ûÖµ¡£
Expression2 ¿ÉÒÔÊǵóöÒ»¸öÖµµÄÈÎÒâ±í´ïʽ¡£Õâ¸öÖµÓÃÓÚÉú³ÉÏÔʾ ......
assert
º¯ÊýÃû: assert
¹¦ ÄÜ: ²âÊÔÒ»¸öÌõ¼þ²¢¿ÉÄÜʹ³ÌÐòÖÕÖ¹
ÓÃ ·¨: void assert(int test);
³ÌÐòÀý:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
int key;
int value;
};
/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
assert(itemptr != NULL);
/* add item to list */
}
int main(void)
{
additem(NULL);
return 0;
}
assert(¶ÏÑÔ)¿ÉÒÔÓÐÁ½ÖÖÐÎʽ£º
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 Ó¦¸Ã×ÜÊDzúÉúÒ»¸ö²¼¶ûÖµ¡£
Expression2 ¿ÉÒÔÊǵóöÒ»¸öÖµµÄÈÎÒâ±í´ïʽ¡£Õâ¸öÖµÓÃÓÚÉú³ÉÏÔʾ ......
/* =========================================================================== */
/* Project: s3c44b0_lib */
/* File: io.c */
/* Organization: cug-1200525 */
/* Author: yuyongbao ......
/* =========================================================================== */
/* Project: s3c44b0_lib */
/* File: uart.c */
/* Organization: cug-1200525 */
/* Author: yuyongbao &nbs ......