Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ARMÖÐCºÍ»ã±à»ìºÏ±à³Ì¼°Ê¾Àý

1£® ÔÚCÓïÑÔÖÐÄÚǶ»ã±à
ÔÚCÖÐÄÚǶµÄ»ã±àÖ¸Áî°üº¬´ó²¿·ÖµÄARMºÍThumbÖ¸Á²»¹ýÆäʹÓÃÓë»ã±àÎļþÖеÄÖ¸ÁîÓÐЩ²»Í¬£¬´æÔÚһЩÏÞÖÆ£¬Ö÷ÒªÓÐÏÂÃæ¼¸¸ö·½Ã棺
 
a. ²»ÄÜÖ±½ÓÏòPC¼Ä´æÆ÷¸³Öµ£¬³ÌÐòÌø×ªÒªÊ¹ÓÃB»òÕßBLÖ¸Áî
b. ÔÚʹÓÃÎïÀí¼Ä´æÆ÷ʱ£¬²»ÒªÊ¹ÓùýÓÚ¸´ÔÓµÄC±í´ïʽ£¬±ÜÃâÎïÀí¼Ä´æÆ÷³åÍ»
c. R12ºÍR13¿ÉÄܱ»±àÒëÆ÷ÓÃÀ´´æ·ÅÖмä±àÒë½á¹û£¬¼ÆËã±í´ïʽֵʱ¿ÉÄܽ«R0µ½R3¡¢R12¼°R14ÓÃÓÚ×Ó³ÌÐòµ÷Óã¬Òò´ËÒª±ÜÃâÖ±½ÓʹÓÃÕâЩÎïÀí¼Ä´æÆ÷
d. Ò»°ã²»ÒªÖ±½ÓÖ¸¶¨ÎïÀí¼Ä´æÆ÷£¬¶øÈñàÒëÆ÷½øÐзÖÅä
ÄÚǶ»ã±àʹÓõıê¼ÇÊÇ __asm»òÕßasm¹Ø¼ü×Ö£¬Ó÷¨ÈçÏ£º
__asm
{
instruction [; instruction]

[instruction]
}
asm(“instruction [; instruction]”);
ÏÂÃæÍ¨¹ýÒ»¸öÀý×ÓÀ´ËµÃ÷ÈçºÎÔÚCÖÐÄÚǶ»ã±àÓïÑÔ£¬
#include <stdio.h>
 
void my_strcpy(const char *src, char *dest)
{
char ch;
 
__asm
{
loop:
ldrb ch, [src], #1
strb ch, [dest], #1
cmp ch, #0
bne loop
}
}
 
int main()
{
char *a = "forget it and move on!";
char b[64];
 
my_strcpy(a, b);
printf("original: %s", a);
printf("copyed: %s", b);
return 0;
}
ÔÚÕâÀïCºÍ»ã±àÖ®¼äµÄÖµ´«µÝÊÇÓÃCµÄÖ¸ÕëÀ´ÊµÏֵģ¬ÒòΪָÕë¶ÔÓ¦µÄÊǵØÖ·£¬ËùÒÔ»ã±àÖÐÒ²¿ÉÒÔ·ÃÎÊ¡£
 
2£® ÔÚ»ã±àÖÐʹÓÃC¶¨ÒåµÄÈ«¾Ö±äÁ¿
ÄÚǶ»ã±à²»Óõ¥¶À±à¼­»ã±àÓïÑÔÎļþ£¬±È½Ï¼ò½à£¬µ«ÊÇÓÐÖî¶àÏÞÖÆ£¬µ±»ã±àµÄ´úÂë½Ï¶àʱһ°ã·ÅÔÚµ¥¶ÀµÄ»ã±àÎļþÖС£Õâʱ¾ÍÐèÒªÔÚ»ã±àºÍCÖ®¼ä½øÐÐһЩÊý¾ÝµÄ´«µÝ£¬×î¼ò±ãµÄ°ì·¨¾ÍÊÇʹÓÃÈ«¾Ö±äÁ¿¡£
/* cfile.c
* ¶¨ÒåÈ«¾Ö±äÁ¿£¬²¢×÷ΪÖ÷µ÷³ÌÐò
*/
 
#include <stdio.h>
int gVar_1 = 12;
extern asmDouble(void);
 
int main()
{
printf("original value of gVar_1 is: %d", gVar_1);
asmDouble();
printf(" modified value of gVar_1 is: %d", gVar_1);
return 0;
}
 
¶ÔÓ¦µÄ»ã±àÓïÑÔÎļþ
;called by main(in C),to double an integer, a global var defined in C is used.
 
AREA asmfile, CODE, READONLY
 
EXPORT asmDouble
IMPORT gVar_1
 
asmDouble
ldr r0, =gVar_1
ldr r1, [r0]
mov r2, #2
mul r3, r1, r2
str r3, [r0]
mov pc, lr
END
 
3£® ÔÚCÖе÷Óûã±àµÄº¯Êý
ÔÚCÖе÷Óûã±àÎļþÖеĺ¯Êý£¬Òª×öµÄÖ÷Òª¹¤×÷Ó


Ïà¹ØÎĵµ£º

C¶ÓÁÐ Êä³öÑî»ÔÈý½Ç


Ò²ÊÇÖÐÈí±ÊÊÔµÄËã·¨Ì⣬µ±Ê±²¢²»ÖªµÀ½ÐÑî»ÔÈý½Ç£¬°¦¡£NÄê²»ÓÃÁË£¬»¹µÃÔÙʰÆð£¬ÎªÁËÄǸöÃΡ£
#include <stdio.h>
void main()
{
    int a[50][50];
    int i,j,n;
    printf("Please input Number:");
    scanf("%d",&n);
  ......

ʹÓÃc#´´½¨sql serverµÄ´æ´¢¹ý³Ì_c#Ó¦ÓÃ1

½éÉÜ
ͨ³££¬Ñз¢ÈËԱʹÓõÄÊÇT-SQLÀ´´´½¨SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ ¶øÏÖÔÚµÄSQL Server 2005ÒÑÍêȫ֧³Ö.NETͨÓÃÓïÑÔÔËÐÐʱ£¨CLR£©ÁË¡£ Õâ¾ÍÒâζ×Å£¬ÄúÄܹ»Ê¹ÓÃ.NETµÄÓïÑÔ£¬ÈçC#¡¢VB.NETÖ®ÀàµÄÀ´Ñз¢SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ SQL Server ºÍ CLR µÄ¼¯³É¸øÎÒÃÇ´øÀ´ÁËn¶àºÃ´¦£¬Èçʵʱ±àÒë¡¢ÀàÐͰ²È«¡ ......

Æäʵ»Øµ÷º¯Êý²¢²»ÉñÃØ C/C++Öлص÷º¯Êý³õ̽

¼ò½é
¡¡¡¡¶ÔÓںܶà³õѧÕßÀ´Ëµ£¬ÍùÍù¾õµÃ»Øµ÷º¯ÊýºÜÉñÃØ£¬ºÜÏëÖªµÀ»Øµ÷º¯ÊýµÄ¹¤×÷Ô­Àí¡£±¾ÎĽ«Òª½âÊÍʲôÊǻص÷º¯Êý¡¢ËüÃÇÓÐʲôºÃ´¦¡¢ÎªÊ²Ã´ÒªÊ¹ÓÃËüÃǵȵÈÎÊÌ⣬ÔÚ¿ªÊ¼Ö®Ç°£¬¼ÙÉèÄãÒѾ­ÊìÖªÁ˺¯ÊýÖ¸Õë¡£
¡¡¡¡Ê²Ã´Êǻص÷º¯Êý£¿
¡¡¡¡¼ò¶øÑÔÖ®£¬»Øµ÷º¯Êý¾ÍÊÇÒ»¸öͨ¹ýº¯ÊýÖ¸Õëµ÷Óõĺ¯Êý¡£Èç¹ûÄã°Ñº¯ÊýµÄÖ¸Õë(µØÖ·)×÷Ϊ²ÎÊý ......

ʹÓà gperf ʵÏÖ¸ßЧµÄ C/C++ ÃüÁîÐд¦Àí


ʹÓà gperf ʵÏÖ¸ßЧµÄ C/C++ ÃüÁîÐд¦Àí
GNU ÍêÃÀ£¨gperf£©É¢Áк¯ÊýÉú³ÉÆ÷¼ò»¯¸´ÔÓµÄÊäÈë×Ö·û´®
ÎĵµÑ¡Ïî
¼¶±ð£º Öм¶
Arpan Sen
(arpan@syncad.com
), ¼¼ÊõÖ÷¹Ü, Synapti Computer Aided Design Pvt Ltd
2007 Äê 9 ÔÂ 10 ÈÕ
GNU µÄ gperf ¹¤¾ßÊÇÒ»ÖÖ “ÍêÃÀµÄ” É¢Áк¯Êý£¬¿ÉÒÔΪÓû§ÌṩµÄÒ»×éÌØ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ