²é¿´: 416  |  »Ø¸´: 2
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] dz̸TC¡¢BCºÍ»ã±à»ìºÏ±à³ÌÁ¬½Ó¼¼Êõ¼°²ÎÊý´«µÝ·½·¨[תÌù]

dz̸TC¡¢BCºÍ»ã±à»ìºÏ±à³ÌÁ¬½Ó¼¼Êõ¼°²ÎÊý´«µÝ·½·¨

×÷ÕߣºCCDebuger

ÕªÒª£º±¾ÎÄÖ÷ÒªÌÖÂÛÈçºÎÓ¦ÓûìºÏ±à³Ì¼¼Êõ£¬Èûã±àÓïÑÔÓë¸ß¼¶ÓïÑÔÏà½áºÏ£¬ÒÔ¼ò»¯±à³Ì¹¤×÷¡£

¹Ø¼ü´Ê£ºTurbo C++£»Borland C++£»Turbo Assembler£»»ìºÏ±à³Ì

Ò»¡¢ÒýÑÔ

ÔÚÆ½³£±àд³ÌÐòʱ£¬ÎÒÃÇÒ»°ã¶¼Ï£ÍûÑ¡ÔñC¡¢Pascal¡¢BasicµÈÕâÑùµÄ¸ß¼¶ÓïÑÔÀ´±àд£¬ÕâÑùµÄ»°³ÌÐò¿ª·¢ÖÜÆÚ±È½Ï¶Ì£¬Ê¡Ê±Ê¡Á¦¡£µ«ÔںܶàʱºòΪÁËÌá¸ß³ÌÐòµÄÖ´ÐÐЧÂÊ»òÆäËüÔ­Òò£¬ÎÒÃÇÈ´²»µÃ²»Óûã±à³ÌÐòÀ´±à³Ì¡£Èç¹ûÖ»Óûã±àÓïÑÔ±à³ÌµÄ»°ÊDZȽϷ±ËöµÄ£¬¶ÔÓÚÒ»¸ö±È½Ï´óµÄ³ÌÐòÀ´Ëµ±àдÆðÀ´½«·Ç³£ºÄʱ£¬¿ª·¢ÖÜÆÚ±È½Ï³¤¡£ÎªÁ˼ÈÄÜËõ¶Ì³ÌÐò¿ª·¢ÖÜÆÚ£¬ÓÖÄܱ£Ö¤³ÌÐòµÄÖ´ÐÐЧÂÊ£¬ÎÒÃÇͨ³£»á¿¼ÂÇÓø߼¶ÓïÑÔ±àдÖ÷³ÌÐò£¬¶ø°Ñ³ÌÐòÖÐÓëÖ´ÐÐЧÂʹØÏµÃÜÇеĹؼü²¿·ÖÓûã±àÓïÑÔÀ´±àд¡£ÕâÀï¾ÍÉæ¼°µ½ÁË»ìºÏ±à³ÌµÄÎÊÌâ¡£±¾ÎÄÑ¡ÔñTurbo C++ºÍBorland C++ÕâÖÖÒÔCÓïÑÔΪ»ù´¡µÄ³ÌÐò¿ª·¢¹¤¾ßÓëTurbo AssemblerÕâÑùµÄ»ã±à¿ª·¢¹¤¾ßΪÀý£¬À´ÌÖÂÛһϸ߼¶ÓïÑÔÓë»ã±àÓïÑÔ»ìºÏ±à³ÌµÄÏà¹ØÎÊÌâ¡£

TCÓë»ã±à»ìºÏ±à³Ì

  ½«CÓïÑԺͻã±àÓïÑÔ»ìºÏʹÓõĴ«Í³·½Ê½ÊÇ£¬ÏÈÍêÈ«ÓÃCÓïÑÔ»ò»ã±àÓïÑÔд³öµ¥¶ÀµÄÄ£¿é£¬±àÒëCÓïÑÔÄ£¿é²¢»ã±à»ã±àÓïÑÔÄ£¿é£¬È»ºó½«·Ö±ð±àÒë¹ýµÄÄ£¿éÁ¬½Óµ½Ò»Æð¡£°´ÕâÖÖ·½Ê½Turbo C++Ä£¿éºÍTurbo AssemblerÄ£¿é¿ÉÒԺܷ½±ãµØ½øÐÐÁ¬½Ó¡£
  Óû§¿ÉÒÔ²ÉÓÃÒÔÏÂÃüÁʹCÔ´ÎļþÓë»ã±àÔ´Îļþ»ìºÏ²úÉú¿ÉÖ´ÐÐÎļþ£º
tcc filenam1 filenam2.asm
¸ÃÃüÁîָʾTurbo C++Ê×ÏȽ«FILENAM1.C±àÒë³ÉFILENAM1.OBJ£¬ÔÙ¼¤»îTurbo Assembler½«FILENAM2.ASM»ã±à³ÉFILENAM2.OBJ£¬×îºó¼¤»îTLINKÁ¬½ÓFILENAME1.OBJÓëFILENAM2.OBJ²¢²úÉúFILENAM1.EXE¡£
  ÕâÖÖ·Ö±ð±àÒëµÄ·½·¨¶ÔÓÚ¿ÉÈ·¶¨´óСµÄ»ã±à´úÂë³ÌÐò¼«ÎªÓÐÓã¬ÒòΪËü¿ÉÒÔÈÃÓû§Ê¹ÓÃTurbo AssemblerµÄÈ«²¿¹¦ÄÜ£¬ÔÚ´¿»ã±àÓïÑÔ»·¾³ÖнøÐлã±àÓïÑÔ³ÌÐòÉè¼Æ£¬²»ÐèÒªasm¹Ø¼ü×Ö¡¢¶îÍâµÄ±àÒëʱ¼äÒÔ¼°Ç¶Èëʽ»ã±àÖÐÓëCÏà¹ØµÄ¸¨Öú¿ªÏú¡£
  Turbo C++ÓëTurbo AssemblerµÄ½Ó¿ÚÖУ¬ÓÐÁ½¸öÖØÒªµÄÎÊÌâÖµµÃ×¢Òâ¡£Ê×ÏÈ£¬C´úÂëÓë»ã±àÂëµÄ¸÷¸ö²»Í¬²¿·Ö±ØÐëÇ¡µ±µØÁ¬½ÓÔÚÒ»Æð¡£Æä´Î£¬»ã±àÂë±ØÐëÄÜÇ¡µ±µØ´¦ÀíC·ç¸ñµÄº¯Êýµ÷Ó㬰üÀ¨·ÃÎÊ´«µÝ¹ýÀ´µÄ²ÎÊý¡¢·µ»ØÖµÒÔ¼°×ñ´ÓCº¯ÊýËùÒªÇóµÄ¼Ä´æÆ÷±£´æ¹æÔò¡£ÎªÁ˽«Turbo C++ÓëTurbo AssemblerÄ£¿éÁ¬½ÓÔÚÒ»Æð£¬±ØÐëÍê³ÉÒÔϹ¤×÷£º
£¨1£© Turbo C++ÓëTurbo AssemblerÄ£¿é±ØÐëÒÔTurbo C++¿ÉÒÔ½ÓÊܵķ½Ê½¹²ÏíÊʵ±µÄº¯ÊýºÍ±äÁ¿Ãû¡£
£¨2£© Turbo AssemblerÄ£¿é±ØÐëʹÓÃÓëTurbo C++¼æÈݵĶÎÃüÃû·½°¸¡£
±ØÐëÓÃTLINK½«ÕâЩģ¿éÁ¬½Ó³É¿ÉÖ´ÐгÌÐò¡£´Ëʱ£¬ÎÒÃǹØÐĵÄÊÇÈçºÎ´´½¨Ò»ÖÖģʽ£¬ÒÔ±ã¿ÉÒÔ°´´Ëģʽ±àдÓëC¼æÈݵĻã±àÓïÑÔº¯Êý¡£Îª´Ë£¬ÎÒÃÇÐèÒªÀ´Á˽âÒ»ÏÂÒÔÏÂÄÚÈÝ£º

1¡¢ÄÚ´æÄ£Ê½ºÍ¶Î

  ¶ÔÓÚÒ»¸ö¸ø¶¨µÄ¿ÉÒÔÓÉCµ÷ÓõĻã±àÓïÑÔº¯Êý£¬¸Ãº¯Êý±ØÐë²ÉÓÃÓëCÓïÑÔÒ»ÖµÄÄÚ´æÄ£Ê½£¨tiny¡¢small¡¢compact¡¢medium¡¢large»òhuge£©£¬Í¬Ê±±ØÐëʹÓÃÓëC¼æÈݵĴúÂë¶Î¡£Í¬Ñù£¬ÎªÁËÈÃC´úÂëÄܹ»·ÃÎÊÔÚ»ã±àÓïÑÔÄ£¿éÖж¨ÒåµÄÊý¾Ý£¬»òÈûã±à´úÂëÄܹ»·ÃÎÊCÄ£¿éÖж¨ÒåµÄÊý¾Ý£¬»ã±àÓïÑÔ´úÂëÎñ±Ø×ñ´ÓCÓïÑÔµÄÊý¾Ý¶ÎÃüÃûÔ¼¶¨¡£
  Í¨³££¬»ã±àÓïÑÔÄ£¿éÓÉÈý¸ö»ù±¾¶Î£¨´úÂë¶Î¡¢³õʼ»¯Êý¾Ý¶ÎºÍ·Ç³õʼ»¯Êý¾Ý¶Î£©×é³É¡£Ã¿×éÐÅÏ¢±»°²ÅÅÔÚ¸÷×ԵĶÎÖУ¬¶ÎÃûÈ¡¾öÓëC³ÌÐòËùʹÓõÄÄÚ´æÄ£Ê½¡£Turbo assembler£¨TASM£©ÌṩÁËÈýÖÖ¼ò»¯µÄ¶ÎαָÁ.CODE£¬.DATA£¬.DATA?£©À´¶¨ÒåÕâЩ¶Î¡£ÆäÖУ¬.CODE¶Î±êÖ¾×ųÌÐò´úÂë¶ÎµÄ¿ªÊ¼£¬¸æÖªTurbo AssemblerÓû§Ö¸Á¾¹·ÅÔÚÄĸö´úÂë¶ÎÖС£.DATA±êÖ¾Êý¾Ý¶ÎµÄ¿ªÊ¼£¬Óû§Ó¦½«ÄÚ´æ±äÁ¿·ÅÔÚÊý¾Ý¶ÎÖУ¬´Ë¶ÎÖаüº¬µÄÊÇÒѳõʼ»¯µÄÊý¾Ý¡£.DATA? µÄʹÓÃÓë.DATAÒ»Ñù£¬µ«.DATA? Êý¾Ý¶ÎÖаüº¬µÄÊÇδ³õʼ»¯µÄÊý¾Ý¡£ÕâЩ¼ò»¯µÄ¶ÎαָÁî²úÉúµÄ¶ÎÓëTurbo C++¼æÈÝ¡£
  Î±Ö¸Áî.MODEL¸æËßTurbo Assembler£¬Óüò»¯µÄ¶ÎαָÁî´´½¨µÄ¶ÎÓëÑ¡¶¨µÄÄÚ´æÄ£Ê½¼æÈÝ£¬²¢¿ØÖÆÓÃPROCαָÁî´´½¨µÄ¹ý³ÌµÄÒþº¬ÀàÐÍ¡£ÓÉ.MODELαָÁÒåµÄÄÚ´æÄ£Ê½Óë¾ßÓÐͬÑùÃüÃûµÄTurbo C++ģʽÊǼæÈݵġ£ÈôC³ÌÐòÑ¡ÔñÁËСÄÚ´æÄ£Ê½£¬ÏÂÃæÁгöÁ˲ÉÓüò»¯µÄ¶ÎαָÁî×éÖ¯»ã±àÄ£¿éµÄÒ»ÖÖ·½Ê½£º

´úÂë:--------------------------------------------------------------------------------
.MODEL   SMALL
.CODE
¡­´úÂë¶Î¡­
.DATA
¡­³õʼ»¯Êý¾Ý¶Î¡­
.DATA?
¡­·Ç³õʼ»¯Êý¾Ý¶Î¡­
--------------------------------------------------------------------------------

2¡¢»ã±àÓïÑÔÓëTurbo C++µÄ½»»¥ÐÔ

  ´Ë´¦×ÅÖØÌÖÂÛ²ÎÊý´«µÝ¡¢·µ»ØÖµ¼°¼Ä´æÆ÷ʹÓÃÔ¼¶¨¡£
  ¼ÙÉèÎÒÃDZàдһ¸öÇó×îСÊýµÄº¯Êýmin£¬ÆäCÓïÑԵĺ¯ÊýÔ­ÐÍΪ£º
  extern ¡°C¡± int min(int V1,int V2);
´Ëº¯Êý·µ»ØÁ½¸ö²ÎÊýÖеÄ×îСֵ¡£ÔÚ»ã±àÓïÑÔÖÐÆäÕûÌå¸ñʽÈçÏ£º

´úÂë:--------------------------------------------------------------------------------
  PUBLIC C min
  min    PROC  C  NEAR
      ¡­
  min    ENDP
--------------------------------------------------------------------------------

ÕâÀï¼Ù¶¨minΪnearº¯Êý£¬ÈôΪfarº¯Êý£¬¿É½«ÉÏÃæ¸ñʽÖеÄnear»»³Éfar¡£

£¨1£©´«µÝ²ÎÊý

Ê×ÏÈ¿¼ÂÇʹÓÃÄÄÒ»ÖÖ²ÎÊý´«µÝ·½·¨¡£³ý·ÇÓÐÊʵ±µÄÀíÓÉ£¬·ñÔòÓ¦¸ÃʹÓÃC²ÎÊý´«
  µÝ·½·¨¶ø²»ÓÃPascal²ÎÊý´«µÝ·½·¨¡£¶ÔÓÚ16λµÄ³ÌÐò£¬µ±min±»µ÷ÓÃʱ£¬Õ»µÄÄÚÈÝÈçÏ£º
SP+4:    V2
SP+2:    V1
SP:      ·µ»ØµØÖ·
  ÈçÏë²»ÍËÕ»¾ÍÈ¡µÃ²ÎÊý£¬ÔòÐè±£´æ»ùÖ¸Õë¨BP£©£¬½«Õ»¶¥Ö¸Õ루SP£©ËÍBP£¬È»ºóÓÃBP×÷ΪϱêÖ±½Óµ½Õ»ÖÐÈ¡µÃ²ÎÊýÖµ¡£´ËʱÐè×¢Ò⣺Èô°ÑBPѹÈëÕ»ÄÚ£¬Ôò²ÎÊýµÄÆ«ÒÆÁ¿½«¼Ó2£¬ÒòΪÏÖÔÚÕ»ÄÚÓÖÔö¼ÓÁËÁ½¸ö×Ö½Ú¡£
  
£¨2£©·µ»ØÖµ

  ÕýÈçCº¯ÊýÒ»Ñù£¬¿ÉÓÉCµ÷ÓõĻã±àÓïÑÔº¯ÊýÒ²¿ÉÒÔ·µ»ØÖµ¡£º¯ÊýÖµµÄ·µ»ØÐÎʽÔÚͨ³£Çé¿öÏ£¬16λֵ·µ»Øµ½AXÖУ»32λֵ·µ»Øµ½DX:AXÖУ¬ÆäÖÐDX´æ·Å¸ß16λֵ£¬¶øAX´æ·ÅµÍ16λֵ£»¸¡µãÖµ·µ»Øµ½8087/80287Õ»¶¥£¨TOS£©¼Ä´æÆ÷£¬¼´ST(0)ÖУ»Èç¹ûʹÓÃ8087/80287·ÂÕæÆ÷£¬Ôò·µ»ØÖµ´æ·ÅÔÚ·ÂÕæÆ÷µÄTOS¼Ä´æÆ÷ÖС£½á¹¹µÄ·µ»ØÒªÉÔ¸´ÔÓһЩ¡£1¸ö×Ö½Ú³¤µÄ½á¹¹·µ»Øµ½ALÖУ»2¸ö×Ö½Ú³¤µÄ½á¹¹·µ»Øµ½AXÖУ»4¸ö×Ö½Ú³¤µÄ½á¹¹·µ»Øµ½DX:AXÖУ»3×ֽڵĽṹ»ò´óÓÚ5×ֽڵĽṹÔò±£´æÔÚ¾²Ì¬Êý¾ÝÇøÖУ¬È»ºó·µ»ØÖ¸Ïò´Ë¾²Ì¬Êý¾ÝµÄÖ¸Õ루СÊý¾ÝģʽÖÃÓÚAXÖУ¬´óÊý¾ÝģʽֻÓÐDX:AXÖУ©¡£µ÷ÓÃ×Ó³ÌÐòʱ±ØÐë°Ñ·µ»ØÖµ¿½±´µ½Õâ¸öÖ¸ÕëËùÖ¸µÄµ¥ÔªÖС£
    ÀýÈ磬minº¯Êý·µ»ØµÄʱ16λÊýÖµ£¬ËùÒÔÆä·µ»ØÖµÔÚAXÖС£ÏÂÃæÊÇminµÄ»ã±à´úÂ룺

´úÂë:--------------------------------------------------------------------------------
PUBLIC  C min
min  PROC  C NEAR
  
  PUSH BP    ;±£´æBP
  MOV BP,SP  ;½«SP¿½±´µ½BPÖÐ
  MOV AX,[BP+4]  ;½«V1Ë͵½AXÖÐ
  CMP AX,[BP+6]  ;ÓëV2±È½Ï
  
  JLE EXIT  ;Èç¹ûV1>V2
  MOV AX,[BP+6]  ;½«V2ËÍAXÖÐ
EXIT:  POP BP    ;»Ö¸´BP
  RET    ;·µ»ØC

min   ENDP
--------------------------------------------------------------------------------

Èç¹ûminÊÇfarº¯Êý£¬ÔòÖ÷ÒªÔÚÕ»µÄÈë¿Ú´¦·¢ÉúÁ˱仯£¬ÏÖÔÚÕ»ÄÚµÄÇé¿öÊÇ£º
    SP+6:  V2
    SP+4:  V1
    SP+2:  ·µ»Ø¶ÎµØÖ·
    SP:    ·µ»ØÆ«ÒÆÁ¿
    Õâ¾ÍÒâζ×ÅÕ»µÄÆ«ÒÆÁ¿ÒÑÔö¼ÓÁËÁ½¸ö×Ö½Ú£¬ÒòΪÁ½¸ö¶îÍâ×Ö½Ú£¨·µ»Ø¶ÎµØÖ·£©±»Ñ¹½øÕ»ÄÚ¡£ÔÚminº¯ÊýµÄfar°æ±¾ÖУ¬V1½«ÔÚ[BP+6]ÖУ¬V2½«ÔÚ[BP+8]ÖС£ÕâÊÇÒòΪ·µ»Ø¶ÎµØÖ·±»Ñ¹ÈëÕ»ÄÚ£¬V1¡¢V2µÄÆ«ÒÆÁ¿Ôö¼ÓÁËÁ½¸ö×Ö½Ú¡£
Èç¹ûʹÓÃPascal²ÎÊý´«µÝ˳Ðò£¬ÔòÕ»ÄÚÇé¿ö±ä»¯ÈçÏ£¨¼ÙÉèminÊÇnearº¯Êý£©£º
    SP+4:  V1
    SP+2:  V2
    SP:    ·µ»ØµØÖ·
´Ëʱ£¬±êʶ·ûmin±ØÐë×ñ´ÓPascalÀàÐ͵ÄÔ¼¶¨£ºÊ¹Óôóд×ÖĸºÍ²»¼Óǰ׺Ï»®Ïߵıêʶ·û¡£
³ýÁËV1ºÍV2½»»»ÁËλÖÃÍ⣬´Ë·½·¨»¹ÐèÒªminÔÚ·µ»ØÊ±ÓÃretÖ¸ÁîÇåÕ»¡£ÔÚ±¾ÀýÖУ¬±ØÐ뵯³öV1ºÍV2µÄËĸö×Ö½Ú£¨·µ»ØµØÖ·ÓÉretÖ»ÄÜ×Ô¶¯µ¯³ö£©¡£
ÏÂÃæÊDzÉÓÃPascal²ÎÊý´«µÝ·½·¨µÄmin»ã±à´úÂ룺

´úÂë:--------------------------------------------------------------------------------
  PUBLIC  PASCAL min
min  PROC  PASCAL NEAR
  
  PUSH BP    ;±£´æBP
  MOV BP,SP  ;½«SP¿½±´µ½BPÖÐ
  MOV AX,[BP+6]  ;½«V1Ë͵½AXÖÐ
  CMP AX,[BP+4]  ;ÓëV2±È½Ï
  
  JLE EXIT  ;Èç¹ûV1>V2
  MOV AX,[BP+6]  ;½«V2ËÍAXÖÐ
EXIT:  POP BP    ;»Ö¸´BP
  RET  4  ;ÇåÕ»²¢·µ»Ø

min   ENDP
--------------------------------------------------------------------------------


£¨3£©¼Ä´æÆ÷µÄʹÓÃÔ¼¶¨

    ÔÚminº¯ÊýÖУ¬Ê¹ÓÃÁ˶à¸ö¼Ä´æÆ÷¡£ÏÖÔÚÌÖÂÛÔÚTurbo C++³ÌÐòÖн«Ê¹ÓÃÄÄЩ¼Ä´æÆ÷£¬ÒÔ¼°Ê¹ÓÃÖеÄһЩԼ¶¨¡£
    ÔÚËùÓмĴæÆ÷ÖУ¬BPÓ¦Ê×ÏÈÒýÆð×¢Ò⣬ÒòΪһµ©½øÈë»ã±à³ÌÐò£¬BPµÄÄÚÈÝÔÚ×Ó³ÌÐòÈë¿Ú´¦±»Ñ¹ÈëÕ»ÄÚ£¬²¢ÇÒÕ»Ö¸Õ루SP£©µÄµ±Ç°Öµ±ØÐë·ÅÔÚBPÖУ¬ÔÚ×Ó³ÌÐò³ö¿Ú´¦BP±»µ¯³ö£¬»Ö¸´Ô­À´µÄÖµ¡£
    ÆäËûÐè×¢ÒâµÄÊÇSIºÍDI¼Ä´æÆ÷£¬ÕâÁ½¸ö¼Ä´æÆ÷±»Turbo C++ÓÃ×÷¼Ä´æÆ÷±äÁ¿¡£Èç¹ûÔÚÒ»¸ö»ã±àÓïÑÔ¹ý³ÌÖÐʹÓÃËüÃÇ£¬ÔòÓ¦ÔÚ½øÈëʱ±£´æËüÃÇ£¨¿ÉÄÜÔÚÕ»ÖУ©£¬ÔÚÍ˳öʱ»Ö¸´ËüÃÇ¡£
   
3¡¢Turbo C++Öе÷Óûã±àÄ£¿éµÄ·½·¨

  Ò»°ãÇé¿öÏ£¬Turbo C++Ï£ÍûËùÓеÄÍⲿ±êºÅ¾ùÒÔÏ»®Ïß¡°_¡±¿ªÍ·¡£Èç¹û»ã±àÄ£¿éÖж¨ÒåµÄº¯Êý¼°±äÁ¿×¼±¸¹©Turbo C++µ÷Óã¬Ó¦ÒÔÏ»®Ïß¿ªÍ·¡£Èô²»ÏëʹÓÃÏ»®Ïߵϰ£¬¿ÉÔÚPUBLICºó¼ÓC±êÃ÷µ÷ÓõÄÓïÑÔÀàÐÍ¡£ÈçÈôÓк¯ÊýXXX£¬Òª¶¨ÒåΪ¹©Turbo C++µ÷Óõĺ¯Êý£¬¿ÉÕâÑùдΪPUBLIC C XXX ¶ø²»ÐèдΪͨ³£µÄPUBLIC _XXX¡£»ã±à³ÌÐò¶Ô×ÖĸµÄ´óСд²¢²»Ãô¸Ð£¬ËùÒÔ²»Çø±ð¶Ô´ý´óд×ÖĸºÍСд×Öĸ£¬¶ø½ÔÒÔ´óд×Öĸ¶Ô´ý¡£ÒòΪCÓïÑÔÇø±ð¶Ô´ý´óСд×Öĸ£¬ËùÒÔÔÚ±àд׼±¸ÓëCÄ£¿éÏàÁ¬½ÓµÄ»ã±àÄ£¿éʱ£¬Ó¦¸Ã×¢Òâ·ûºÅÃûµÄ´óСд£¬ÒԱ㱣³ÖÒ»Ö¡£¶øÇÒ£¬ÒªÍ¨Öª»ã±à³ÌÐò¶Ô´óÐ¡Ð´Çø±ð¶Ô´ý£¬ÖÁÉÙ¶ÔÓÚCÄ£¿éºÍ»ã±àÄ£¿éËù¹²ÏíµÄÄÇЩ·ûºÅ¶øÑÔÓ¦¸ÃÈç´Ë¡£»ã±à³ÌÐòµÄÃüÁîÐпÉÑ¡Ïî /ml ºÍ /mx ¿ÉÒÔ×öµ½ÕâÒ»µã¡£»ã±à³ÌÐòµÄÃüÁîÐпÉÑ¡Ïî /ml ʹµÃ»ã±àÖ»¶Ô¹«¹²±êʶ·ûºÍÍⲿ±êʶ·ûµÈ°´´óÐ¡Ð´Çø±ð¶Ô´ý¡£°´±¾»úÅäÖñàдһ¸öTurbo C++ºÍ»ã±à»ìºÏ±à³ÌµÄ³ÌÐòµÄ²½ÖèÈçÏ£º
  
£¨1£© ÒòΪÔÚ±¾»úÉÏTurbo C++ 3.0£¨ÒÔϼò³ÆTC£©ºÍTurbo Assembler 5.0£¨ÒÔϼò³ÆTASM£©¶¼°²×°ÔÚEÅÌ£¬Æä¿ÉÖ´ÐÐÎļþ·Ö±ðλÓÚE:\TC\BIN¼°E:\TASM\BINĿ¼Ï¡£ÓÚÊDZ༭»·¾³±äÁ¿ÖеÄϵͳ±äÁ¿ÄÚµÄpathÖµ£¬Ìí¼ÓÒÔÏÂÄÚÈÝ£ºE:\TC\BIN; E:\TASM\BIN ¡£ÕâÑù×öµÄÄ¿µÄÊÇΪÁË¿ÉÒÔÔÚTCµÄ¼¯³É¿ª·¢»·¾³ÖÐÖ±½Óµ÷ÓÃTASMÀ´±àÒë»ã±àÎļþ£¬¶ø²»Ðèתµ½TASMĿ¼ÔÚÃüÁîÐÐϱàÒë»ã±àÎļþ¡£

£¨2£© Æô¶¯TC¼¯³É¿ª·¢»·¾³Ð½¨Ò»¸ö¹¤³Ì£¬ÃüÃûΪASMTEST.PRJ¡£Ìí¼ÓASMTEST.CPP¼°ADD.ASMÁ½¸öÎļþ£¬Ô´Âë·Ö±ðÈçÏ£¨ÒÑÔÚTCϵ÷ÊÔͨ¹ý£©£º

´úÂë:--------------------------------------------------------------------------------
//  ³ÌÐòÃû£ºASMTEST.CPP
#include "stdio.h"
extern "C"      //ÉùÃ÷ÔÚÍⲿģ¿éÖж¨ÒåµÄº¯Êý
{
int addnum( int , int );
}

main()
{
int x,y;    //¶¨Òå±äÁ¿
printf("Please input x,y,the space key to compart:=>";
scanf("%d %d",&x,&y);
printf("x+y=%d\n",addnum(x,y));

return (0);
}
--------------------------------------------------------------------------------


´úÂë:--------------------------------------------------------------------------------
;³ÌÐòÃû£ºADD.ASM
  DOSSEG
  .MODEL small            ;ÉùÃ÷ÄÚ´æÄ£Ê½
  
  ;.DATA                ;Êý¾Ý¶Î䶨Ò壬´Ë´¦Îª¿Õ
  
  .CODE                ;´úÂë¶Î
  PUBLIC C addnum            ;¶¨Ò庯Êý
addnum  PROC C NEAR x:WORD,y:WORD    ;¶¨Òå±äÁ¿
  
  mov ax,x
  mov bx,y
  add ax,bx
  ret

addnum ENDP
  END
--------------------------------------------------------------------------------

ÒÔÉϵÄASMTEST.CPP³ÌÐòµ÷ÓÃADD.ASMÖеÄaddnumº¯Êý£¬À´ÊµÏÖÁ½¸öÊýÏà¼Ó¡£Íê³É´úÂëÊäÈëºó£¬±àÒëºó¼´¿ÉÔËÐС£ÁíÒ»ÖÖÔÚ»ã±à³ÌÐòÖж¨ÒåÒÔÏ»®Ïß¡°_¡±¿ªÍ·µÄº¯ÊýµÄ·½·¨¿É²Î¿¼¸½¼þÖÐTOTAL¹¤³ÌÄÚµÄÎļþ¡£

[ Last edited by sdlj8051 on 2006-12-24 at 23:32 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

¶þ¡¢ Borland C++Óë»ã±àµÄ»ìºÏ±à³Ì
  ÔÚ±¾»úÉÏBorland C++£¨¼ò³ÆÎªBC£©°æ±¾Îª5.02£¬°²×°ÔÚF:\BC5Ŀ¼Ï£¬¿ÉÖ´ÐÐÎļþλÓÚF:\BC5\BINĿ¼¡£ÔÚ´ËÌÖÂÛÔÚBC¿ª·¢µÄWindows ³ÌÐòÖе÷Óûã±à³ÌÐò¡£
  BCµ÷Óûã±àÄ£¿éÓëTCµ÷Óûã±àÄ£¿éµÄ·½·¨»ù±¾Ïàͬ£¬Ö»Óм¸¸öÐè×¢ÒâµÄµØ·½£º
  ÒòΪºÍ 16 λ Windows ϵİѴúÂë·Ö³É DATA£¬CODE µÈ¶ÎµÄÄÚ´æÄ£Ê½²»Í¬£¬WIN32 Ö»ÓÐÒ»ÖÖÄÚ´æÄ£Ê½£¬¼´ FLAT ģʽ£¬Òâ˼ÊÇ"ƽ̹"µÄÄÚ´æÄ£Ê½£¬ÔÙûÓÐ 64K µÄ¶Î´óСÏÞÖÆ£¬ËùÓÐµÄ WIN32 µÄÓ¦ÓóÌÐòÔËÐÐÔÚÒ»¸öÁ¬Ðø¡¢Æ½Ì¹¡¢¾Þ´óµÄ 4GB µÄ¿Õ¼äÖС£ÕâͬʱҲÒâζ×ÅÄúÎÞÐëºÍ¶Î¼Ä´æÆ÷´ò½»µÀ£¬Äú¿ÉÒÔÓÃÈÎÒâµÄ¶Î¼Ä´æÆ÷ѰַÈÎÒâµÄµØÖ·¿Õ¼ä£¬Õâ¶ÔÓÚ³ÌÐòÔ±À´ËµÊǷdz£·½±ãµÄ¡£ÔÚWin32ϱà³Ì£¬ÓÐÐí¶àÖØÒªµÄ¹æÔòÐèÒª×ñÊØ¡£ÓÐÒ»ÌõºÜÖØÒªµÄÊÇ£ºWindows ÔÚÄÚ²¿Æµ·±Ê¹Óà ESI£¬EDI£¬EBP£¬EBX ¼Ä´æÆ÷£¬¶øÇÒ²¢²»È¥¼ì²âÕâЩ¼Ä´æÆ÷µÄÖµÊÇ·ñ±»¸ü¸Ä£¬ÕâÑùµ±ÄúҪʹÓÃÕâЩ¼Ä´æÆ÷ʱ±ØÐëÏȱ£´æËüÃǵÄÖµ£¬´ýÓÃÍêºóÔÙ»Ö¸´ËüÃÇ¡£
  ÔÚWIN32Ö¸¶¨ÄÚ´æÄ£Ê½²ÎÊýµ÷ÓùæÔòʱ¿ÉÕâÑù¶¨Ò壺
  .MODEL FLAT£¬STDCALL
  ´Ë´¦µÄSTDCALL ¸æËß±àÒëÆ÷²ÎÊýµÄ´«µÝÔ¼¶¨¡£Ç°ÃæÎÒÃÇÒѾ­Ì¸µ½Á˵÷ÓÃÔ¼¶¨µÄÎÊÌ⣬ÕâÀïÎÒÃÇÔÙÀ´×ÐϸÌÖÂÛһϣºÔÚWin16ÏÂÓÐÁ½ÖÖÔ¼¶¨£ºC ºÍ PASCAL¡£C Ô¼¶¨¹æ¶¨²ÎÊý´«µÝ˳ÐòÊÇ´ÓÓÒµ½×󣬼´×îÓұߵIJÎÊý×îÏÈѹջ£¬Óɵ÷ÓÃÕ߻ָ´¶ÑÕ»Ö¸Õë¡£PASCALÔ¼¶¨ºÍCÔ¼¶¨ÕýºÃÏà·´£¬Ëü¹æ¶¨²ÎÊýÊÇ´Ó×óÏòÓÒ´«µÝ£¬Óɱ»µ÷ÓÃÕ߻ָ´¶ÑÕ»¡£Win16²ÉÓÃÁËPASCALÔ¼¶¨£¬ ÒòΪPASCALÔ¼¶¨²úÉúµÄ´úÂëÁ¿ÒªÐ¡¡£STDCALLÊÇCÔ¼¶¨ºÍPASCALÔ¼¶¨µÄ»ìºÏÌ壬Ëü¹æ¶¨²ÎÊýµÄ´«µÝÊÇ´ÓÓÒµ½×󣬻ָ´¶ÑÕ»µÄ¹¤×÷½»Óɱ»µ÷ÓÃÕß¡£
  ÔÚBCËù½¨Á¢µÄ¹¤³ÌÖеĻã±àÄ£¿é£¬µ÷ÓÃCÄ£¿éÖеÄÍⲿ±äÁ¿Ê±¿É²»ÔÚ±äÁ¿Ç°¼ÓÏ»®Ïß¡°_¡±¡£ÓÉ´Ë£¬¿É½¨Á¢Ò»¸öµ÷Óûã±àÄ£¿éµÄ¼òµ¥Ê¾Àý³ÌÐòÈçÏ£¨ÒÑÔÚBCϵ÷ÊÔͨ¹ý£©£º
ÔÚBCÖÐн¨Ò»¸öAsmInc¹¤³Ì£¬´Ë´¦Ê¹ÓÃSDK·½·¨£¬¼´²»Ê¹ÓÃOWL£¬Ö»Ê¹ÓÃWINAPI¡£ÉèÖÃΪ¾²Ì¬Á¬½Ó£¬Ìí¼ÓÒÔϼ¸¸öÎļþ£º

´úÂë:--------------------------------------------------------------------------------
//³ÌÐòÃû£ºAsmInc.cpp
//////////////////////////////////////////////////////////////////////////////////////////////////
//Ô¤´¦Àí

#include "windows.h"
#include "stdio.h"
#include "string.h"

/////////////////////////////////////////////////////////////////////////////////////////////////
//È«¾Ö±äÁ¿

extern "C"
{
  void Gen( void );            //¶¨ÒåÍⲿģ¿é
  char username[255] = "";    //¶¨ÒåÓû§ÃûºÍÃÜÂë
  char serial[255] = "";
}
HINSTANCE hInst;  //Ó¦ÓóÌÐò½ø³Ì¾ä±ú£¬Ò»°ã³ÌÐòÖо­³£Óõ½´Ë±äÁ¿£¬¹ÊʹÓÃÈ«¾Ö±äÁ¿
HWND hwnd;    //Ö÷´°¿Ú¾ä±ú£¬Ò»°ã³ÌÐòÖо­³£Óõ½´Ë±äÁ¿£¬¹ÊʹÓÃÈ«¾Ö±äÁ¿

/////////////////////////////////////////////////////////////////////////////////////////////////
//º¯ÊýÉùÃ÷

LRESULT CALLBACK KeyGen(HWND, UINT, WPARAM, LPARAM);

/////////////////////////////////////////////////////////////////////////////////////////////////
//Ö÷º¯Êý

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
  DialogBox(hInst,MAKEINTRESOURCE( 1 ),NULL,(DLGPROC) KeyGen);
  return (FALSE);
}


/////////////////////////////////////////////////////////////////////////////////////////////////
//¶Ô»°¿òÖ÷º¯Êý

LRESULT CALLBACK KeyGen(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
  char *sn;            //ÓÃÓÚÁÙʱ´æ·ÅÉú³ÉµÄÃÜÂë
  
  switch(message)
  {
  case WM_COMMAND:
    switch(LOWORD (wParam))
    {
    case WM_INITDIALOG:
      LoadIcon( hInst , MAKEINTRESOURCE(1));  //ÉèÖóÌÐòͼ±ê
      break;
      
    case 105:            //´¦ÀíÊäÈëµÄÓû§Ãû
      GetDlgItemText( hDlg, 103, username, 255);
      Gen();                                           //µ÷ÓÃÍⲿģ¿é
      sn = serial;
      SetDlgItemText( hDlg , 104 , sn);      //°Ñ¼ÆËãºóµÄÃÜÂëÊä³ö
      break;
      
    case 106:
      {
        MessageBox( NULL, TEXT("********»ìºÏ±à³ÌʾÀý********\n\n*******By cao_cong********\n******2005Äê2ÔÂ5ÈÕ*****",
          TEXT("¹ØÓÚ",MB_OK);
        return 0;
      }
      break;
      
    case 107:
      EndDialog ( hDlg , 107);
      break;
    }
   
    default : return (FALSE);
  }
  return (TRUE);
}
--------------------------------------------------------------------------------


´úÂë:--------------------------------------------------------------------------------
;³ÌÐòÃû£ºGen.asm
.386
.MODEL  FLAT STDCALL     ;¶¨ÒåʹÓõÄÄÚ´æÄ£Ê½¼°²ÎÊýµ÷Ó÷½Ê½

PUBLIC  Gen              ;ÉùÃ÷º¯Êý

.DATA
EXTERN  username         ;ÉùÃ÷ÔÚÆäËûÄ£¿éÖж¨ÒåµÄ±äÁ¿
EXTERN  serial

.CODE
Gen  PROC C           ;Ö÷º¯Êý
  
  PUSH EBX         ;±£´æEBX
  XOR EAX,EAX
  XOR EBX,EBX
  XOR ECX,ECX
@LOOP:  MOV EBX,[username+ECX]   ;»ñµÃÓû§ÊäÈëµÄÐÕÃû
  MOV serial+ECX,EBX       ;°ÑÐÕÃûË͵½ÃÜÂëÖÐ
  INC ECX
  CMP BYTE PTR ES:[username+ECX],0   ;¼ì²âÊÇ·ñÒÑËÍÍê
  JNZ @LOOP
  
  POP EBX           ;»Ö¸´EBX
  ret

Gen endp
END
--------------------------------------------------------------------------------


´úÂë:--------------------------------------------------------------------------------
//×ÊÔ´Îļþ£ºAsmInc.rc£¨ÕªÂ¼£©
#define IDI_ICON  1
#define IDD_KEYGEN  1
#define IDC_STATICTEXT1  101
#define IDC_STATICTEXT2  102
#define IDC_NAME  103
#define IDC_SN  104
#define IDEXIT  107
#define IDABOUT  106
#define IDGEN  105

IDD_KEYGEN DIALOG 0, 0, 208, 85
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "»ìºÏ±à³ÌʾÀý"
FONT 9, "ËÎÌå"
LANGUAGE LANG_CHINESE , SUBLANG_CHINESE_SIMPLIFIED
{
CONTROL "ÐÕÃû£º", IDC_STATICTEXT1, "static", SS_CENTER | WS_CHILD | WS_VISIBLE, 8, 16, 36, 12
CONTROL "ÃÜÂ룺", IDC_STATICTEXT2, "static", SS_CENTER | WS_CHILD | WS_VISIBLE, 8, 40, 36, 12
CONTROL "", IDC_NAME, "edit", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 44, 12, 156, 14
CONTROL "", IDC_SN, "edit", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 44, 36, 156, 17
CONTROL "Éú³ÉÃÜÂë", IDGEN, "button", BS_PUSHBUTTON | BS_CENTER | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 24, 60, 44, 17
CONTROL "¹Ø    ÓÚ", IDABOUT, "button", BS_PUSHBUTTON | BS_CENTER | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 90, 60, 44, 17
CONTROL "Í˳ö", IDEXIT, "button", BS_PUSHBUTTON | BS_CENTER | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 156, 60, 44, 17
}
--------------------------------------------------------------------------------

  ÒÔÉϳÌÐò¹¦ÄÜÖ÷ÒªÊǰÑÄãÊäÈëµÄÐÕÃûÔÚÃÜÂë¿òÖÐÊä³ö£¬Ö÷ÒªÓÃÓÚ˵Ã÷µ÷Óûã±àÄ£¿éµÄ·½·¨¡£



²Î¿¼ÎÄÏ×£º
1¡¢ÁÖºàÀû¡¢³ÂάÐË¡¢³ÉÓå ±àÒë£ºÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÏµÍ³ TURBO C++Ó¦Óý̳̣¨ÖУ©£¬Ç廪´óѧ³ö°æÉ磬1992
2¡¢Ñî¼¾ÎÄ µÈ±àÖø£º80X86 »ã±àÓïÑÔ³ÌÐòÉè¼Æ½Ì³Ì£¬Ç廪´óѧ³ö°æÉ磬1998
3¡¢Çóʵ ±àÖø£º×îРBorland C++ ʵÓÃ½Ì³Ì 1£ºBorland C++ ÈëÃÅ£¬¿ÆÑ§³ö°æÉ磬1994
4¡¢ÍõËÉ ÕÅÁ¼ÖÎ ±à£ºBorland C++ ʵÓü¼ÊõÈëÞ«½â£¨3.1¡«4.0£©£¬µç×ӿƼ¼´óѧ³ö°æÉ磬1995

¡¾°æÈ¨ÉùÃ÷¡¿ ±¾ÎÄ´¿Êô¼¼Êõ½»Á÷, ×ªÔØÇë×¢Ã÷×÷Õß²¢±£³ÖÎÄÕµÄÍêÕû, лл!
2Â¥2006-08-23 13:07:59
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sirenshen

ľ³æ (ÕýʽдÊÖ)

0.5

лл¹²Ïí£¡
3Â¥2006-11-17 15:10:41
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] һ־Ըɽ¶«´óѧҩѧѧ˶Çóµ÷¼Á +3 ¿ª¿ªÐÄÐÄû·³ÄÕ 2026-03-23 4/200 2026-03-24 00:06 by ¿ª¿ªÐÄÐÄû·³ÄÕ
[¿¼ÑÐ] Ò»Ö¾Ô¸ºÓ±±¹¤Òµ´óѧ0817»¯¹¤278·ÖÇóµ÷¼Á +7 jhybd 2026-03-23 11/550 2026-03-23 23:29 by ´ô´ôʦ½ã
[¿¼ÑÐ] 384Çóµ÷¼Á +3 ×Óϵ²© 2026-03-22 6/300 2026-03-23 21:45 by ×Óϵ²©
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄϺ½²ÄÁÏר317·ÖÇóµ÷¼Á +3 ըѽըѽըÊíÌõ 2026-03-23 3/150 2026-03-23 20:47 by pswait
[¿¼ÑÐ] ÉϺ£µçÁ¦´óѧ²ÄÁÏ·À»¤ÓëвÄÁÏÖØµãʵÑéÊÒÕÐÊÕµ÷¼ÁÑо¿Éú£¨²ÄÁÏ¡¢»¯Ñ§¡¢µç»¯Ñ§£¬»·¾³£© +3 ÎÒ°®Ñ§µç³Ø 2026-03-23 3/150 2026-03-23 17:16 by AZMK
[¿¼ÑÐ] 08¹¤¿Æ 320×Ü·Ö Çóµ÷¼Á +11 À滨çóÍí·ç 2026-03-17 11/550 2026-03-22 17:42 by luoyongfeng
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +5 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 5/250 2026-03-22 16:42 by tcx007
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ071000£¬Çóµ÷¼Á +4 ÑØ°¶Óб´¿Ç6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[¿¼ÑÐ] 286Çóµ÷¼Á +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +4 ÄÝÄÝninicgb 2026-03-21 4/200 2026-03-21 18:39 by ѧԱ8dgXkO
[¿¼ÑÐ] 299Çóµ÷¼Á +5 shxchem 2026-03-20 7/350 2026-03-21 17:09 by ColorlessPI
[¿¼ÑÐ] Ò»Ö¾Ô¸Ìì½ò´óѧ»¯Ñ§¹¤ÒÕרҵ£¨081702£©315·ÖÇóµ÷¼Á +12 yangfz 2026-03-17 12/600 2026-03-21 03:30 by JourneyLucky
[¿¼ÑÐ] ²ÄÁϹ¤³Ì£¨×¨£©Ò»Ö¾Ô¸985 ³õÊÔ335Çóµ÷¼Á +3 hiloiy 2026-03-17 4/200 2026-03-21 03:04 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ£¬080502£¬354·ÖÇóµ÷¼Á +5 ÊØºòϦÑôCF 2026-03-18 5/250 2026-03-21 01:06 by JourneyLucky
[¿¼ÑÐ] 296Çóµ÷¼Á +6 www_q 2026-03-18 10/500 2026-03-20 23:56 by JourneyLucky
[¿¼ÑÐ] 330Çóµ÷¼Á +4 С²Ä»¯±¾¿Æ 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷°²½»Í¨´óѧ ѧ˶ 354Çóµ÷¼Á211»òÕß˫һÁ÷ +3 ÎÒÏëÒª¶ÁÑо¿Éú 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Öйúº£Ñó´óѧ£¬ÉúÎïѧ£¬301·Ö£¬Çóµ÷¼Á +5 1ËïÎò¿Õ 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[¿¼ÑÐ] ÉúÎïѧµ÷¼ÁÕÐÈË£¡£¡£¡ +3 ɽº£Ììá° 2026-03-17 4/200 2026-03-19 21:34 by ÔõôÊÍ»³
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á +3 ÄÝÄÝninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û