²Ä¹s³¹¡@¶i¤J 64 ¦ì¤¸


«e¨¥

¤p¤ì°¸¦b³o³¡¤À­n¤¶²Ð Win64 ²Õ¦X»y¨¥¡AWin64 ¬O«ü 64 ¦ì¤¸ª©ªº Windows §@·~¨t²Î¡A¥]§t Windows XP/Vista/7/8/8.1/10¡C­nª`·Nªº¬O¡A«e­±³o¨Ç Windows¡A³£¥]§t 32 ¦ì¤¸»P 64 ¦ì¤¸¨âºØ¡A¦b¥~Æ[¤W«ÜÃø°Ï¤À¡AŪªÌ¥i¥H¦Û¦æ¦bºô¸ô¤W·j´M¦p¦ó§PÂ_ Windows ¬O 32 ¦ì¤¸ÁÙ¬O 64 ¦ì¤¸¡C

³o³¡¤Àªº¤º®e¡A´N¬O­n½Í½Í¦b 64 ¦ì¤¸ªº Windows §@·~¨t²Î¤§¤U¡A¦p¦ó¼¶¼g²Õ¦X»y¨¥¡CŪªÌ¥i¯à»Ý­n¦³ DOS ²Õ¦X»y¨¥ªº°ò¦¡A¤£¹L¤p¤ì°¸·|ºÉ¶q¥H²LÅ㪺¤è¦¡»¡©ú¡C³o¬O¤@¶µÁ}Ãøªº¤u§@¡A¥u¯àºÉ¤O¦Ó¬°¡C¦b³o¤§«e¡A¥ý¤¶²Ð 64 ¦ì¤¸ CPU ªºµo®i²¥v¡A³o¬O¤@­Ó»´ÃPªº¥DÃD¡C


64 ¦ì¤¸ªº CPU

¨ã¦³ 64 ¦ì¤¸ªº¶×¬y±Æ¬O§_¤]ºâ 64 ¦ì¤¸ªº CPU

¦­¦b¥Á°ê 83 ¦~ 3 ¤ë¡A¤]´N¬O¦è¤¸ 1994 ¦~¡A­^¯Sº¸´N¤w±À¥X¨ã¦³ 64 ¦ì¤¸ªº¸ê®Æ¶×¬y±Æªº©bÄˤ¤¥¡³B²z¾¹ ( Pentium CPU )¡A©bÄË»P¥~³¡½u¸ô·¾³q¸ê®Æ¬O¥H 64 ¦ì¤¸ªº¤è¦¡¶Ç¿é¡C·í®É¦³³\¦h¼s§i«ÅºÙ¥¦¬O 64 ¦ì¤¸ªº CPU ( ¦Ü¤µÁÙ¬O¦³¨Ç®Ñ¤´µM¦p¦¹¼g )¡C¦ý¤º¦æ¤H¤@¬Ý¡A«Kª¾³o¬O¸Ø¤j¨äµü¡IPentium Áö¨ã¦³ 64 ¦ì¤¸¸ê®Æ¶×¬y±Æ¡A¦ý«o¥u¦³ 32 ¦ì¤¸ªº¼È¦s¾¹¡A¨C¦¸¹Bºâ¤]¥u¯à³B²z 32 ¦ì¤¸ªº¸ê®Æ¡C§Y¨Ï Pentium ¨C¦¸¥i¥H¥Ñ¶×¬y±Æ±µ¦¬ 64 ¦ì¤¸ªº¸ê®Æ¡A¦ý¹Bºâ®É±o¤À¨â¦¸¡CÄY®æ¨Ó»¡¡APentium ¤´ÄÝ 32 ¦ì¤¸ªº CPU¡C

¹ïµ{¦¡³]­p®v¦Ó¨¥¡APentium »P 80386/80486 ¤ñ¸û¡APentium °£¤F¦h¥X³B²z¦h´CÅé¸ê®Æªº«ü¥O¶°¥H¤Î¸û¬°§Ö³tªº¹Bºâ³t²v¤§¥~¡AÃö©ó¨t²Î¤è­±ªº«ü¥O¡A¦p©w§}¼Ò¦¡¡B°O¾ÐÅéºÞ²zµ¥¡A´X¥G»P 80386/80486 ¦p¥X¤@Âá¡A¤@¯ë§Ú­Ì³£ºÙ©I¥¦­Ì¬° IA¡Ð32 ( Intel Architecture 32-bit )ªº CPU¡A¦³®É¤]ºÙ¬° i386¡Bx86¡Ð32 ©ÎªÌ x86¡C°£¤F 80386/80486/Pentium¡A´N³s«á¨Ó­^¯Sº¸¥X²£ªº CPU¡A¦p Pentium Pro¡BPentium II¡BPentium III¡BCeleron¡BPentium 4¡BPentium M¡BCore¡BCeleron M¡BCeleron D ³£Äݩ󦹤@¬[ºc¡C¬ü°Ó¶W·L¤]¶}µo¥X³\¦hºØÃþªº IA¡Ð32 CPU¡A¦p K5¡BK6¡BK6¡Ð2¡BK6¡ÐIII¡BDuron¡BAthlon¡BAthlon XP¡BAthlon MP¡BAthlon XP¡ÐM µ¥¡C

IA¡Ð32 ¬[ºcªº CPU¡A¥i¥H©w§}¨ì 232 ­Ó¦ì¤¸²Õ¡A¥ç§Y 4GB¡A¬Û·í©ó 4294967296 ­Ó¦ì¤¸²Õ¡A¬Û¹ï©ó 8086 ¥u¯à©w§} 1MB ( ¥ç§Y 1048576 ) ¦ì¤¸²Õ¡A¥i¥H»¡¬O¬Û·íªº¤j¡C³o¤]´N¬O»¡¡AIA¡Ð32 ¬[ºcªº CPU ¥i¥H¨Ï¥Î 4G ¦ì¤¸²Õªº°O¾ÐÅé¡A¤ñ 8086 ¨º¨Ç 16 ¦ì¤¸ªº CPU ¥u¯à¨Ï¥Î 1MB ªº°O¾ÐÅé±j¤j³\¦h¡C

­^¯Sº¸ªº IA¡Ð64 ¬[ºc»P¶W·Lªº AMD64 ¬[ºc¡A½Ö¯à³Ó¥X

¦ý¬O­±¹ï¸ê®Æ®w¡B¼v­µ³B²zµ¥ªºÃe¤jªº¸ê®Æ®É¡A¤´¬O¤O¦³¥¼¶e¡C©ó¬O­^¯Sº¸»P¬ü°ê´f´¶¤½¥q ( Hewlett-Packard ) ¦X§@¶}©l¬ãµo 64 ¦ì¤¸ªº CPU¡A«á¨Ó¦b¥Á°ê 90 ¦~ 6 ¤ëµoªí²Ä¤@¥N Itanium ( ¤¤¤å¦WºÙ¬°¡u¦wÄË¡v)¡A«á¨Ó¤S¦b¦¸¦~µoªí Itanium 2¡A³o¨âºØ CPU ¬[ºcºÙ¬° IA¡Ð64 ( Intel Architecture 64-bit )¡Aªí©ú¬O 64 ¦ì¤¸¬[ºcªº CPU¡A¥¦¯à¤@¦¸³B²z 64 ¦ì¤¸ªø«×ªº¸ê®Æ¡A¨Ã¯à´£¨Ñ©w§}ªÅ¶¡¬° 264 ( ¡×18446744073709551616¡Ü1.84¡Ñ1019 ) ¦ì¤¸²Õ¡C­^¯Sº¸¥»¨Óªº­pµe¬O±Ë±ó¦æ¤§¦h¦~ªº IA¡Ð32 ¬[ºc¡A¥H·sªº IA¡Ð64 ¥N´À¡A¦ý¬O IA¡Ð64 »P IA¡Ð32 ¤£¬Û®e¡F¥²¶·¨Ï¥Î¦UºØ¼ÒÀÀ¨Ó°õ¦æ³nÅé¡A¥H³oºØ¼ÒÀÀ¤è¦¡¨Ó°õ¦æªº®Ä²v«D±`ÁV¿|¡A¥«³õ¤ÏÀ³¨Ã¤£¦n¡C

¥t¤@®a CPU ¤j¼t¡A¬ü°Ó¶W·L ( AMD ) «o¥tÅPÁÑ®|¡C¦b IA¡Ð32 ¬[ºc¤Wµo®i¤F 64 ¦ì¤¸ªºÂX¥R¡A¨Ã©R¦W¬° AMD64¡C¨Ã©ó¥Á°ê 92 ¦~ ( ¦è¤¸ 2003 ¦~ 4 ¤ë )¡Aµoªí¤F²Ä¤@´Ú AMD64 ¬[ºcªº CPU¡AOpteron¡A¤§«á¤S¥ý«áµoªí¤F Athlon 64¡BAthlon 64 FX¡BAthlon 64 X2¡BOpteron¡BSempron¡BTurion 64¡BPhenom¡C¦]¬° AMD64 ¬O¦b IA¡Ð32 °ò¦¤WÂX¥R¬° 64 ¦ì¤¸¡A©Ò¥H¹ï¦³ªº³nÅ馳«Ü¦nªº¬Û®e©Ê¡AÀò±o¦U®a¼t°Ó¤ä«ù¡A¥]§t·L³n¤]¬° AMD64 ¶}µo Windows XP 64 Edition §@·~¨t²Î¡C

«á¨Ó­^¯Sº¸²´¨£Ävª§¹ï¤â¦b 64 ¦ì¤¸ CPU ¤Wªº¦¨¥\¡A¤]±À¥X¤F»P¤§´X¥G¤@¼Ò¤@¼Ë¬[ºcªº³B²z¾¹¡A¨Ã©R¦W¬° IA¡Ð32e ( ¥ç§Y IA¡Ð32 ÂX¥R¤§·N )¡A¦Ó«á§ó¦W¬° EM64T ( Extended Memory 64 Technology ) ©Î Intel 64¡C

²{¦b¤£ºÞ¬O AMD64 ©Î IA¡Ð32e¡BEM64T¡BIntel 64 ³£³Q²ÎºÙ¬° x86¡Ð64 ©Î x64 ³oºØ¤¤©Êªº¦WºÙ¡Aªí¥Ü¤£°¾³R¥ô¦ó¤@®a¼t°Ó¡C­^¯Sº¸¥X²£ªº Xeon ( ¦Û Nocona °_ªº³¡¤À«¬¸¹ )¡BCeleron D ( ¦Û Prescott °_ªº³¡¤À«¬¸¹ )¡BPentium 4 ( ¦Û Prescott °_ªº³¡¤À«¬¸¹ )¡BPentium D¡BPentium Extreme Edition¡BXeon¡]Woodcrest¡^¡BIntel Core 2¡BDual-Core¡BCeleron¡]¦Û Core °_ªº«¬¸¹¡^¡BNehalem¡BCore i7¡BIntel Core i5 µ¥³£ÄÝ©ó x64 ¬[ºc¡C

¦]¬°µo®i¶¶§Ç¤Î°Ó·~¦Ò¶q¡A¥H­P©ó¦¹³B¦³³\¦hÃö©ó 32 ¦ì¤¸©Î 64 ¦ì¤¸ªº¦Wµü¡A«Ü®e©ö·d²V¡A¥Î¤Uªíµy§@¾ã²z¡G

CPU ªº¦ì¤¸¦WºÙ¶}µo¼t°Ó¨Ï¥Îª¬ªp
32x86¡BIA¡Ð32¡Bx86¡Ð32 ¤TªÌ¦P¸q­^¯Sº¸´¶¹M
64IA¡Ð64­^¯Sº¸¤£´¶¹M
64x64¡BAMD64¡BIA¡Ð32e¡BEM64T¡BIntel64¡Bx86¡Ð64 §¡¦P¸q¶W·L´¶¹M

¤ñ¸û¯S§Oªº¬O IA¡Ð32e ¬O«ü 64 ¦ì¤¸ªº CPU¡A¥B¬Û®e©ó IA¡Ð32 CPU µ{«×°ª¡C

¦b´X¦~«e ( ¤p¤ì°¸¼g³oºô­¶®É¬O¥Á°ê 110 ¦~¡A¡u´X¦~«e¡v·N¨ýµÛ¤]´N¬O¦è¤¸ 2021 ¦~¤§«e )¡A¨º®É 64 ¦ì¤¸ªº CPU ¦­¤w¤j¦æ¨ä¹D¤F¡A¦ý¬O§@·~¨t²Î¡B³nÅé«oÁÙ¥¼¸ò¤W¡C¦b¨º®É­Ô¡A¦³¨Ç¹q¸£¸ËµÛ 64 ¦ì¤¸ªº CPU¡A«o¦w¸Ë 32 ¦ì¤¸ªº Windows¡A°õ¦æµÛ 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡F©Î¬O¸ËµÛ 64 ¦ì¤¸ªº CPU »P 64 ¦ì¤¸ªº Windows¡A¤´°õ¦æ 32 ¦ì¤¸ªºÀ³¥Îµ{¦¡¡C³o¤]¬Ý±o¥X¨Ó¡Ax64 CPU ªº¬Û®e©Ê«Ü°ª¡A¯à°õ¦æ 32 ¦ì¤¸ªº³nÅé¡C¦ý²{¦b±¡ªp¤w¸g§ïÅܤF¡C

¨ì²{¦b ( ¥Á°ê 110 ¦~¡B¦è¤¸ 2021 ¦~ ) ¬°¤î¡A64 ¦ì¤¸ªº¹q¸£¨t²Î¥i»¡¤w¸g«D±`§¹³Æ¤F¡A¨ä¤¤¥¡³B²z¾¹¬°­^¯Sº¸©Î¶W·L©Ò¥Í²£ x64 ¬[ºcªº CPU¡F¦Ó§@·~¨t²Î¨Ï¥Îªº¬O 64 ¦ì¤¸ª©¥»ªº Windows XP/Vista/7/8/8.1/10 ( ¬°¤F¤è«K¡A³o¨Ç 64 ¦ì©óªº§@·~¨t²ÎºÙ¤§¬° Win64¡A¦³§O©ó¥H«eªº Win32 )¡C°O¾ÐÅéÀH«K³£¥iÂX¥R¦Ü 4GB¡B8GB ¥H¤W¡C¤£¦A¹³ 32 ¦ì¤¸ªº§@·~¨t²Î¨º¼Ë¡A§Y¨Ï¹q¸£¸Ë¤F¶W¹L 4GB ªº°O¾ÐÅé¡A¦ý¬OÁÙ¬O¥u¯à¨Ï¥Î 4GB¡CÀ³¥Î³nÅé¤]³vº¥¨«¦V 64 ¦ì¤¸­ì¥Í³nÅé¡A¦Ó¤£¬O¹³«e´X¦~¡A¦b 64 ¦ì¤¸§@·~¨t²Î¤W°õ¦æ 32 ¦ì¤¸µ{¦¡¡C

¨º»ò¤p¤ì°¸³ÌÁé·Rªº²Õ¦X»y¨¥¬O§_¯à¼¶¼g 64 ¦ì¤¸ªºµ{¦¡©O¡Hµª®×·íµM¬O¥i¥Hªº¡C³o³¡¤À¡A´N¬O­n¥H²Õ¦X»y¨¥¼¶¼g 64 ¦ì¤¸ªº Windows À³¥Îµ{¦¡¡A¨Ï¨ä¦b Win64 ¤W°õ¦æ¡C


x64 CPU ¼È¦s¾¹

¦ì¤¸¡B¦ì¤¸²Õ¡B¦r²Õ

¦b»¡©ú¼È¦s¾¹¤§«e¡A¥ý¨Ó»¡»¡¤°»ò¬O¦ì¤¸ ( bit )¡B¦ì¤¸²Õ ( byte )¡B¦r²Õ ( word )¡C¹q¸£ùتº°O¾ÐÅé¬O¥Ñ³\¦h¹q´¹Åéºc¦¨ªº½ÆÂø½u¸ô¡A·í¹q´¹Åé¬Y­Ó±µ¸}³B©ó°ª¹q¦ì®É¥iµø¬°¡u1¡v¡A§C¹q¦ì®É¥iµø¬°¡u0¡v¡A³o¼Ë¤@­Ó¹q´¹Åé¯à°÷Àx¦s¤@­Ó¡u0¡v©Î¡u1¡v¡AºÙ¤§¬°¤@­Ó¦ì¤¸ ( bit¡A¤j³°Â½¦¨¦ì )¡C

¤@­Ó¦ì¤¸¥u¯àªí¥Ü¨âºØ¼Æ­È¡A§Y¡u0¡v©Î¡u1¡v¡F¦pªG¦³¨â­Ó¹q´¹Åé¡A´N¯àÀx¦s¨â­Ó¦ì¤¸¡A¥i¥H­Ó§O¬O¡u0¡v©Î¡u1¡v¡A¦]¦¹¥i¥Hªí¥Ü¥|ºØ¼Æ­È¡A§Y¡u00¡v¡B¡u01¡v¡B¡u10¡v¡B¡u11¡v¡F¦pªG¦³¤T­Ó¦ì¤¸¡A´N¯àªí¥Ü¤KºØ¼Æ­È ( 23 )¡F¡K¡K¡C¤@­Ó¦ì¤¸¤Ó¤p¡A©Ò¥H§Ú­Ì§â¤K­Ó¦ì¤¸¦X°_¨Ó¡AÅܦ¨¤@­Ó¦ì¤¸²Õ ( byte¡A¤j³°Â½¦¨¦r¸` )¡C¤@­Ó¦ì¤¸²Õ¥i¥Hªí¥Ü 28 ºØ¼Æ­È¡A28 µ¥©ó 256¡A¥ç§Y¯àªí¥Ü 0¡ã255 ½d³òªº¼Æ­È¡Cµ²¦X¨â­Ó¦ì¤¸²Õ¡A¥ç§Y 16 ­Ó¦ì¤¸¡A´N§Î¦¨¤@­Ó¦r²Õ ( word )¡A¤@­Ó¦r²Õ¯àªí¥Ü 216 ­Ó¤£¦Pªº¼Æ­È¡A±q 0¡ã65535¡C¦b¹q¸£­p¶qùØ¡A±`¥Î K ªí¥Ü 210¡A210 µ¥©ó 1024¡A¦Ó 65536 µ¥©ó 64K¡C¾ã²z¦p¤Uªí¡G

­^¤å¦WºÙ¤¤¤å¦WºÙ¦ì¤¸¼Æ©Ò¯àªí¥Üªº¥¿¾ã¼Æ½d³ò
BIT¦ì¤¸10¡ã1
BYTE¦ì¤¸²Õ80¡ã255
WORD¦r²Õ160¡ã65,535

¤Q¤»­Ó¤»¤Q¥|¦ì¤¸ªº¼È¦s¾¹

¼È¦s¾¹ ( register¡A¤j³°Â½¦¨±H¦s¾¹ ) ¬O¦b CPU ¤º³¡ªº¤@¤p¶ô°O¾ÐÅé¡A¥i¥H¥Î¨Ó¼È®ÉÀx¦s¸ê®Æ¨Ã¯à°ª³t¹Bºâ¡CCPU ªº¹Bºâ¡A¤j³¡¤À³£µo¥Í¦b¼È¦s¾¹¸Ì¡C­n¼¶¼g 64 ¦ì¤¸ªºµ{¦¡¡A­º¥ý¥ý¨Ó¬Ý¬Ý x64 ªº CPU ¸Ì­±ªº¼È¦s¾¹©M¥H©¹ªº x86 ¦³¦ó¤£¦P¡H

x64 ¬[ºcªº CPU ¥]§t¤F 16 ­Ó 64 ¦ì¤¸ªº³q¥Î¼È¦s¾¹ ( general-purpose registers )¡A³o 16 ­Ó¼È¦s¾¹¦WºÙ¤À§O¬O RAX¡BRBX¡BRCX¡BRDX¡BRBP¡BRSP¡BRSI¡BRDI¡BR8¡BR9¡BR10¡BR11¡BR12¡BR13¡BR14¡BR15¡C¥¦­Ì³£¥H¡uR¡v¶}ÀY¡A¬O¡uregister¡vªº·N«ä¡C«e­±ªº¤K­Ó¼È¦s¾¹¡ARAX¡BRBX¡BRCX¡BRDX¡BRBP¡BRSP¡BRSI¡BRDI¡A¬O§â¦³ªº¦WºÙ¥[¥HÂX¥R¬G»P¦WºÙÃþ¦ü ( ¨£ DOS ²Õ¦X»y¨¥ªþ¿ý¤T )¡F«á­±ªº¤K­Ó¼È¦s¾¹¡AR8¡BR9¡BR10¡BR11¡BR12¡BR13¡BR14¡BR15¡A¬O·s¼Wªº¡A¨ä¦WºÙ³£¥H¼Æ¦r©R¦W¡C¦p¤U¹Ï©Ò¥Ü¡C

¤U¹Ï¤¤³Ì¤W­±ªº¥Õ¦â¦r¡A¥Nªí¦ì¤¸½s¸¹¡C¨Ò¦p RAX ¼È¦s¾¹¬O±q³Ì§C¦ì¤¸ªº¼Ð¸¹ 0 ¶}©l¡A¨ì³Ì°ª¦ì¤¸ªº½s¸¹ 63 ¬°¤î¡A¦@ 64 ¦ì¤¸¡CRAX ¥]§tµµ¦âÃä®Ø®Ø¦íªº EAX ¼È¦s¾¹¡AEAX «h¬O¥Ñ RAX ªº½s¸¹ 0 ªº¦ì¤¸¨ì 31¡A¦@ 32 ¦ì¤¸¡C¦P²z¡AEAX ¤S¥]§t¤F¬õ¦âÃä®Ø®Ø¦íªº AX ¼È¦s¾¹¡CAX ¤S¤À¬°¨â­Ó¤K¦ì¤¸ªº AL ¼È¦s¾¹©M AH ¼È¦s¾¹¡A¦]¦¹ AX ¬O 16 ¦ì¤¸ªº¼È¦s¾¹¡C

ÁöµM¬O¦b 64 ¦ì¤¸¨t²Î¤¤ªºµ{¦¡¡A¦ý¬OÁÙ¬O¥i¥H¨Ï¥Î 32¡B16¡B8 ¦ì¤¸ªº¼È¦s¾¹¡A¦p¤W¹Ï©Ò¥Ü¡A¤p¤ì°¸¦C¥X©³¤Uªºªí¡G

¤K¦ì¤¸ªº¼È¦s¾¹¡G¦³¤G¤Q­Ó¡A¤À§O¬O¦³ªº AL¡BBL¡BCL¡BDL »P¨ä¸û°ª¦ì§}ªº AH¡BBH¡BCH¡BDH¡AÁÙ¦³·s¼Wªº SIL¡BDIL¡BBPL¡BSPL¡BR8B¡BR9B¡BR10B¡BR11B¡BR12B¡BR13B¡BR14B¡BR15B¡C·s¼Wªº«e¥|­Ó¼È¦s¾¹¥H¡uL¡vµ²§ô¡A¡uL¡v¬O§C¦ì¤¸²Õªº·N«ä¡F³Ì«á 8 ­Ó¦ì¤¸¼È¦s¾¹¦WºÙ¥H¡uB¡vµ²§ô¡A¡uB¡v¬O¦ì¤¸²Õªº·N«ä¡A¦ì¤¸²Õ­^¤å¬° BYTE¡A¤@­Ó¦ì¤¸²Õ¬O¤K­Ó¦ì¤¸¡C

¤Q¤»¦ì¤¸ªº¼È¦s¾¹¡G¦³¤Q¤»­Ó¡A¤À§O¬Oªº AX¡BBX¡BCX¡BDX¡BDI¡BSI¡BBP¡BSP »P·s¼Wªº R8W¡BR9W¡BR10W¡BR11W¡BR12W¡BR13W¡BR14W¡BR15W¡A³oùتº¡uW¡v¡AÅãµM´N¬O¦r²Õªº·N«ä¡A¦r²Õ­^¤å¬° WORD¡A¤@­Ó¦r²Õ¬O 16 ¦ì¤¸¡C

¤T¤Q¤G¦ì¤¸ªº¼È¦s¾¹¡G¦³¤Q¤»­Ó¡A¦p EAX¡BEBX¡BECX¡BEDX¡BESI¡BEDI¡BEBP¡BESP »P·s¼W¥[ªº R8D¡BR9D¡BR10D¡BR11D¡BR12D¡BR13D¡BR14D¡BR15D¡A«á¤K­Ó¼È¦s¾¹¦Wµ²§Àªº¡uD¡v¬O«üÂù¦r²Õªº·N«ä¡AÂù¦r²Õ­^¤å¬O Double Word¡A¤@­ÓÂù¦r²Õ¬O 32 ¦ì¤¸¡C

¬Ý°_¨Ó¦n¹³¦³«Ü¦h¼È¦s¾¹¥i¥H¨Ï¥Î¡A¦ý¬O¹ê»Ú¤W¦³³\¦h¬O­«Å|ªº¡C¨Ò¦p¡AAX ¼È¦s¾¹¥]§t¤F AL ¼È¦s¾¹»P AH ¼È¦s¾¹¡A«eªÌ¬O¦ì©ó AX ¸û§Cªº¤K­Ó¦ì¤¸¡A«áªÌ«h¦b AX ¸û°ªªº¤K­Ó¦ì¤¸¡C¦P²z¡ARAX ¥]§t EAX ¡FEAX ¥]§t AX¡C¦pªG§A­×§ï¤F¤p½d³òªº¼È¦s¾¹ªº¼Æ­È¡A¨º»ò¦P¤@­Ó¤j½d³ò¼È¦s¾¹¤§­È¤]·|§ïÅÜ¡C¨Ò¦p¡A­ì¥» EAX¡×0a1234h ( ¼Æ¦r«á­±¦³¡uh¡v©Î¡uH¡vªº¡Aªí¥Ü¦¹¼Æ¦r¬O¤Q¤»¶i¦ì¼Æ¡AC »y¨¥¥H 0x ªí¥Ü¡A0a1234h¡×0x0a1234 µ¥©ó¤Q¶i¦ìªº 660020 )¡A³o®É­Ô AH¡×12h¡AAL¡×34h¡AAX¡×1234h¡F°²³]µ{¦¡°õ¦æ«á§â AL ªº¤º®eÅܦ¨ 50h¡A¨º»ò AX ´NÅܦ¨ 1250h¡AEAX Åܦ¨ 0a1250h¡AAH ¤£ÅÜ¡C

¥iÅÜ»P¤£Åܪº¼È¦s¾¹ ( Volatile and Nonvolatile Registers )

¦b Win64 ¨t²Î¤º³¡¡A¤×¨ä¬O Windows API¡A·|¨Ï¥Î RBX¡BRBP¡BRDI¡BRSI¡BRSP¡BR12¡BR13¡BR14¡BR15 ¼È¦s¾¹§@¬°¹Bºâ¹ï¶H¡A¦]¦¹À³¥Îµ{¦¡¤£¥iÅܧó³o¨Ç¼È¦s¾¹¡A§_«h«Ü®e©ö·í¾÷¡C¦]¬°³o¨Ç¼È¦s¾¹¤§­È¤£¯à§ó§ï¡AºÙ¬°¡unonvolatile¡v¡C³Ñ¤Uªº RAX¡BRCX¡BRDX¡BR8¡BR9¡BR10¡BR11 ¼È¦s¾¹¡A¥i¥H¥Ñ§Ú­ÌªºÀ³¥Îµ{¦¡¥ô·N§ïÅܨä¼Æ­È¡AºÙ¬°¡uvolatile¡v¡C

ÁöµM x64 CPU ´£¨Ñ¤F¤Q¤»­Ó¼È¦s¾¹¡A¦ý¬O¥Ñ©ó§@·~¨t²ÎªºÃö«Y¡A«o¥u¯à¨Ï¥Î¤C­Ó¡A¦ü¥G¦³ÂI¨à¤Ö¡C¦ý¬O¦n¦b¨º¨ÇºÙ¬°¡unonvolatile¡vªº¼È¦s¾¹¡A¤]¤£¬O¯uªºµw¨¹¨¹ªº¡A§¹¥þ¤£¥i¨Ï¥Î¡C¦Ó¬O¦b¨Ï¥Î«e¡A¥²¶·§â¥¦­Ìªº¼Æ­È«O¦s°_¨Ó¡A¨Ï¥Î§¹²¦¦A«ì´_­ì¨Óªº¼Æ­È¡C


·Ç³Æ¤u§@

­n¥Î²Õ¦X»y¨¥¼¶¼g Win64 µ{¦¡¡A»Ý­n¶×¤Jµ{¦¡®w¡]°ÆÀɦW¬° .LIB¡^»P¥]§tÀÉ¡]°ÆÀɦW¬° .INC ©Î .MAC¡^¡B²ÕĶ¾¹¡B°£¿ù¾¹¡B°Ñ¦Ò¸ê®Æµ¥¤u¨ã©Î¸ê®Æ¤~¯à°µ¨ì¡C¨ì¥Ø«e¬°¤î¡A¦ü¥GÁÙ¨S¦³¤@®M±j¦Ó¦³¤Oªº¶}µoÀô¹Ò¡A¦ý¬O¤ñ°_¥H«e¤w¸g¦n«Ü¦h¤F¡C¤p¤ì°¸¦b¦¹¤¶²Ð¨âºØ¼¶¼g Win64 ²Õ¦X»y¨¥ªºÀô¹Ò¡G①MASM64 SDK¡B②JWASM/HJWASM/UASM ·f°t WinInc¡C

MASM64 SDK

MASM64 SDK ¬O hutch-- ¤j¤j¥H·L³n 64 ¦ì¤¸ªº²ÕĶ¾¹¡AML64.EXE¡A·f°t¥L¦Û¤v©Ò¥D¾É©Ò¶}µoªíªº¥]§tÀÉ¡C

¦w¸Ë¶×¤Jµ{¦¡®w»P¥]§tÀÉ

¨ì The MASM Forum ½×¾Â¤W¡Ahutch-- ¤j¤j©Òµoªíªº©«¤l¡A¤U¸ü install64.zip¡C¤U¸ü¦^¨Ó«á¡AùØ­±´N¥u¦³¤@­Ó¤l¥Ø¿ý¡Ainstall64¡A±N¨ä¸ÑÀ£ÁY¨ì¥ô¦ó¤@­ÓºÏºÐ¾÷ªº®Ú¥Ø¿ýùØ¡A¨Ã±N¨ä§ï¦W¬°¡umasm32¡v´N¥i¥H¤F¡C¦Ó§Ú­Ì©Ò­n¼¶¼gªº²Õ¦X»y¨¥­ì©lµ{¦¡¡A¥²¶·©ñ¦b»P¡umasm32¡v¥Ø¿ý¦P¤@­ÓºÏºÐ¾÷ªº¥ô¦ó¤l¥Ø¿ý¸Ì§Y¥i¡C

¨Ò¦p¡A¤p¤ì°¸§â¡uinstall64.zip¡vùتº¡uinstall64¡v¤l¥Ø¿ý¸ÑÀ£ÁY¨ì¡uE:\¡v¡AµM«á¦A§â¡uE:\install64¡v¤l¥Ø¿ý¦WºÙ§ï¦¨¡uE:\masm32¡v¡C¦b¡umasm32\lib64¡v¤l¥Ø¿ýùØ¡A´N¦³³o¨Ç¶×¤Jµ{¦¡®w¡F¦Ó¦b¡umasm32\include64¡v¤l¥Ø¿ýùØ¡A¦³©w¸q Windows API ­ì«¬ªº¥]§tÀÉ¡C§Ú­Ì©Ò¦Û¦æ¼¶¼gªº²Õ¦X»y¨¥­ì©lµ{¦¡­n©ñ¦b¦P¤@­ÓºÏºÐ¾÷ªº¥ô¤@¤l¥Ø¿ý¸Ì¡A¤p¤ì°¸´N©ñ¦b¡uE:\Homepage\SOURCE\Win64¡v¸Ì¡Cº¸«á¦U³¹ªº Win64 ²Õ¦X»y¨¥­ì©lµ{¦¡·í«ö«e­z¤è¦¡³B²z¡C

¦w¸Ë ML64 ²ÕĶ¾¹¤Î¤u¨ã

§Ú­Ì©Ò¼¶¼gªº²Õ¦X»y¨¥µ{¦¡¡AºÙ¬°­ì©lµ{¦¡©Î¨Ó·½ÀÉ¡A­^¤å¬O¡usource file¡v¡A¤]¥i½Ķ¦¨µ{¦¡½X¡A¨ä°ÆÀɦW³q±`¬O .ASM¡C¤£½×¥s­þ¤@ºØ¦WºÙ¡A³£¬O¯Â¤å¦rÀÉ¡AµLªk°õ¦æ¡A¥²¶·¸g¹Lµ{¦¡¡u½Ķ¡v«á¡A¤~¯àÅܬ° CPU ©Ò¯àÃѧOªº¥i°õ¦æÀÉ¡C³oºØ¡u½Ķ²Õ¦X»y¨¥­ì©lµ{¦¡¡vªºµ{¦¡ºÙ¬°¡u²ÕĶ¾¹¡v¡]assembler¡^¡C­è¤~¤U¸ü¦^¨Óªº install64.zip ¨Ã¤£¥]§t²ÕĶ¾¹¡C

·L³n´£¨Ñªº²ÕĶ¾¹¦³¨âºØ¡G①ML.EXE¡A¬O¶}µo 16 ¦ì¤¸¤Î 32 ¦ì¤¸µ{¦¡ªº²ÕĶ¾¹¡F②ML64.EXE¡A¬O¶}µo 64 ¦ì¤¸µ{¦¡ªº²ÕĶ¾¹¡C¥»½gÁ¿­zªº¬O¥Î²Õ¦X»y¨¥¼¶¼g 64 ¦ì¤¸µ{¦¡¡A¦]¦¹´£¨ì²ÕĶ¾¹¡A«üªº´N¬O ML64.EXE¡]©Îª½±µºÙ¨ä¥DÀɦW¡AML64 ¥ç¥i¡^¡CML64.EXE ¬O·L³nÄÀ©ñ¥X¨ÓªºÀɮסA¨S¦³ª©Åvªº°ÝÃD¥i©ñ¤ß¨Ï¥Î¡C

°£¤F²ÕĶ¾¹¤§¥~¡AÁÙ¶·¤U¸ü¡u³sµ²¾¹¡v¤Î¤@¨Ç¤u¨ã¡C³sµ²¾¹ªº¥\¯à¬O­n§â²ÕĶ¾¹¡u½Ķ¡v«áªºÀÉ®×»P¶×¤Jµ{¦¡®wµ¥³sµ²°_¨Ó¡A³o¨Çµ{¦¡®w¥]§t³\¦h±`¥Îµ{¦¡¡A¥i¥H¸`¬Ù§Ú­Ì¤£¤Ö®É¶¡¡A·L³nªº³sµ²¾¹ºÙ¬°¡uLINK.EXE¡v¡C¨º»ò¡A°£¤F²ÕĶ¾¹»P³sµ²¾¹¥~¡AÁٻݭn¨ä¥LÀɮ׶ܡH¦b­è­è¸ÑÀ£ÁY¨Ã§ï¦W«áªº¡uE:\masm32\bin64¡v¤l¥Ø¿ýùØ¡A¦³¤@­Ó¦W¬°¡uMicrosoft_File_List.txt¡vªº¯Â¤å¦rÀÉ¡A¤º®e¦p¤U¡G

**********************************************
Files that must be obtained from Microsoft and
copied into the following directories.
Usually this is from a Visual Studio download.
**********************************************

---------------
bin64 directory
---------------
cvtres.exe
dumpbin.exe
editbin.exe
lib.exe
link.exe
link.exe.config
ml64.exe
msobj140.dll
mspdb140.dll
mspdbcmf.exe
mspdbcore.dll
mspdbsrv.exe
mspdbst.dll
mspft140.dll
msvcdis140.dll
msvcp140.dll

-----------
In dir 1033
-----------
bscmakeui.dll
clui.dll
cvtresui.dll
linkui.dll
LocalESPCui.dll
mspdbcmfui.dll
mspft140ui.dll
pgort140ui.dll
pgoui.dll

¤W­±©Ò¦C¥Xªº²ÕĶ¾¹¥H¤Î¤@¨Ç¤u¨ãµ{¦¡¡A¤U¸ü¦^¨Ó«áÀ³¸Ó­n§â¥¦­Ì¦s©ñ¦b¡uE:\masm32\bin64¡vùØ¡F³Ì«áªº¤E­ÓÀɮסAÀ³¸Ó¦s©ñ¦b¡uE:\masm32\bin64\1033¡vùØ¡C§Ú­Ì¥i¥H¨ì PCONLIFE ºô¯¸¤U¸ü³o¨ÇÀɮסC

PCONLIFE ºô¯¸ªº¥D¦®¬O¥i¥HÅý¨Ï¥ÎªÌ«ì´_ Windows ¦]¬Y¨Ç­ì¦]¦Ó¥¢¥hªº DLL ©Î EXE ÀɮסA¦b¦¹³B§Ú­Ì¥i¥H¥Î¥¦¨Ó«Ø¥ß¡u\masm32\bin64¡vùتº¤@¨ÇÀɮסC©³¤U¬O¤p¤ì°¸­««Ø¡uML64.EXE¡vªº¹Lµ{¡C­º¥ý¡A¦b①½s¿è®Ø¿é¤J¡uML64.EXE¡v¡]PCONLIFE ·|©¿µø¤j¤p¼g¡^¡AµM«á«ö¤U②³Bªº«ö¶s¡A

PCONLIFE ·|§â¥¦¸ê®Æ®wùتº ML64.EXE ¦C¥X¨Ó¡A¦p¤U¹Ï¡G

¦³³o»ò¦hª©¥»ªº ML64.EXE¡A¤p¤ì°¸¿ï¾Üªº¬O 64 ¦ì¤¸ªº¡u14.25.28614.0¡vª©¥»¡A³o¬O¡uVisual Studio 2019¡v¤º©Òªþªº²ÕĶ¾¹¡CµM«áÂI¿ï③³Bªº¶W³sµ²¤U¸ü¡AÀx¦s¦b¡uE:\masm32\bin64¡vùØ¡C

¡uMicrosoft_File_List.txt¡v¤¤ªº¨ä¥LÀɮפ]¦pªk¬¶»s¡A­nª`·Nªº¬O¡AÀ³¸Ó¾¨¶q¿ï¾Üª©¥»¬Û¦P©Î¬Ûªñªº¡A¥H§K±N¨Ó²ÕĶ¡B³sµ²®Éµo¥Í°ÝÃD¡C°²¦p§A¨S¦³®É¶¡¤@¤@·j´M¤U¸ü¡A¤p¤ì°¸¤w¸g§â¡uMicrosoft_File_List.txt¡v¤ºªºÀÉ®×»s§@¦¨¡ubin64.rar¡vÀ£ÁYÀÉ¡A¥i¨ì³oùؤU¸ü¡C

°£¿ù¾¹

¦b Win64 ¨t²Î¤¤¡A³Ì±`¥Îªº°£¿ù¾¹¬O·L³nªº WinDbg¡CÁöµM·L³n¨S¦³³æ¿W¤U¸üªº WinDbg¡A³£¥]§t¦b SDK ùØ¡C¦ý¬Oºô¸ô¤W¡A¤£¥F¯à¤H¡A³ºµM¯à§ä¨ì³æ¿W¤U¸üªº WinDbg¡A½Ð«ö³oùØ¥i¥H¤U¸ü WinDbg 6.12.2.633 ª©¡A¤j¤p¬° 17529856 ­Ó¦ì¤¸²Õ¡C¤U¸ü§¹¡A¥i¥Hª½±µ¦w¸Ë¡A´N¤£¦AÂØ­z¡C

°£¤F WinDbg ¤§¥~¡A¤]¥i¥H¿ï¾Ü x64dbg °£¿ù¾¹¡C³o­Ó°£¿ù¾¹¬O¶}©ñ­ì©l½X¡A¦w¸Ë¤èªk¡B¨Ï¥Î¤èªk»P°£¿ù¤¶­±³£»P OllyDbg «Ü¬Û¦ü¡A¦pªG§A´¿¦b Win32 ¼¶¼g¹L²Õ¦X»y¨¥¡A¨Ï¥Î x86dbg À³¸Ó¬O¾r»´´N¼ô¡Cx64dbg §ó·s±o«Ü§Ö¡A¤p¤ì°¸¦b¼g³o¤@³¹®É³Ì·sª©¥»¬O 2021 ¦~ 11 ¤ë 3 ¤éÄÀ¥Xªº 11.01 ª©¡A¥i¥H¨ì x64dbg ªººô¯¸¤W¤U¸ü¡C¤U¸ü¦^¨Ó¬O¤@­Ó¦W¬°¡usnapshot_2021-11-03_11-01.zip¡vªºÀ£ÁYÀÉ¡A±N¥¦¸ÑÀ£ÁY«á©ñ¦b¥ô¦ó¤@­Ó¤l¥Ø¿ý¡AµM«á§â¡ux64dbg\release\x64\x64dbg.exe¡v¥i°õ¦æÀɧ@¦¨±¶®|¡A´Nºâ¬O¦w¸Ë§¹¦¨¤F¡Cx64dbg ¤]¯à°£¿ù 32 ¦ì¤¸ªºµ{¦¡¡A¥i¥H°Ñ¦Ò J.J.'s Blogs¡A¦³§ó¸ÔºÉªº¦w¸Ë¤èªk»P¤¶²Ð¡C

°Ñ¦Ò¸ê®Æ

¼¶¼g Windows µ{¦¡¡A³Ì­«­nªº°Ñ¦Ò¸ê®Æ¡A´N¬O MSDN¡C¦Û±q 2008 ¦~¤§«á¡A·L³n¦ü¥G¤w¤£¦A¥X MSDN ¥úºÐ¡A¦Ó¬O¦bºô¸ô¤W¬d¾\¡C¤p¤ì°¸¬d¾\¨ì³Ì«á¤@ª©ªº¬O¡uMSDN Library for Visual Studio 2008 SP1¡v¡A¥i¥H¨ì·L³n¤U¸ü¤¤¤ß¤U¸ü¡A¦p­n½u¤W¬d´M¡A¥i¥H¨ì·L³n¤åÄmºô¯¸¬d´M¡C

³Ì«áª`·N¨Æ¶µ

¨ì¦¹¥Î²Õ¦X»y¨¥¼¶¼g Win64 µ{¦¡©Ò»ÝÀô¹Ò¡A¤w«Ø¥ß§¹¦¨¡C³Ì«áÁÙ¦³¥|¥ó¨Æ±¡­nª`·N¡G

  1. §ó·s³¡¥÷ªº¶×¤Jµ{¦¡®w»P¥]§tÀÉ¡C¨ì The MASM Forum ½×¾Â¤U¸ü m64upd2.zip À£ÁYÀÉ¡]¦pªG¸üÂI¥¢®Ä¥i¨ì¤p¤ì°¸ªº¶³ºÝ¤U¸ü¡^¡A¸ÑÀ£ÁY¨ì¡uE:\masm32\¡v¤l¥Ø¿ýùØ¡A´N·|¦Û°Êªº§âÂÂÀÉ®×Âл\¹L¥h¡CµM«á¶}±Ò¡u©R¥O´£¥Ü¦r¤¸¡v¡A¤Á´«¨ì¡uE:\masm32\m64lib¡v¤l¥Ø¿ýùØ¡A°õ¦æ¡umakeit.bat¡v«Ø¥ß·sªº¶×¤Jµ{¦¡®w¡A´N§¹¦¨§ó·s¤F¡C
  2. ±N¨Ó­n¼¶¼g²Õ¦X»y¨¥­ì©l½X®É¡A­ì©l½X©Ò¦bªº¤l¥Ø¿ý¤@©w­n©M¡umasm32¡v¦P¤@­ÓµwºÐ¡C¨Ò¦p¡A¤p¤ì°¸§â install64.zip ¸ÑÀ£ÁY¨ì¡uE:\install64¡vùØ¡A¦Ó«á§ï¦W¬°¡uE:\masm32¡v¡A©Ò¥H­ì©l½X¤]­n©ñ¦b¡uE:¡vªº¥ô¦ó¤@­Ó¤l¥Ø¿ýùØ¡C
  3. §ó·s¡umacros64.inc¡v¡C¨ì The MASM Forum ½×¾Â¤U¸ü macros64_27_04_2021.zip ¡]¦pªG¸üÂI¥¢®Ä¥i¨ì¤p¤ì°¸ªº¶³ºÝ¤U¸ü¡^¡A³o­ÓÀ£ÁYÀÉùØ­±¥u¦³¤@­ÓÀɮסumacros64.inc¡v¡A±N¥¦Âмg¨ì­ì¨Óªº¡u/masm32/macros64/macros64.inc¡vÀɮקY¥i¡C
  4. ­ì©l½Xªº²Ä¤@¦æ¡A³q±`¬O¡uinclude \masm32\include64\masm64rt.inc¡v¡C¡umasm64rt.inc¡v·|­t³d¤Þ¤J¦U¥]§tÀÉ¡B¦U¶×¤Jµ{¦¡®w¥H¤Î¥¨¶°ÀɮסC³o¨Ç³£¤£»Ý­n§Ú­Ì¾á¤ß¡A½Ñ¦ì¥ý¶i³£¤w¬°§Ú­Ì³]·Q¦n¤F¡C¦pªG±z¦³¿³½ì¡A¤]¥i¥H¶}±Ò¡umasm64rt.inc¡v¨Ó¬Ý¬ÝùØ­±ªº¤º®e¡C±z·|µo²{¡Amasm64rt.inc ¤]¥]§t¤F³\¦h¥]§tÀÉ¥H¤Î¶×¤Jµ{¦¡®w¡A³o¨ÇÀɮשε{¦¡®w³£·|¦b²ÕĶ®É¸ü¤J¡A¦Ó masm64rt.inc §â¥¦­Ì³£¼g¦º¦b¡u\masm32\include64\¡v¡B¡u\masm32\lib64\¡v©M¡u\masm32\macro64\¡vùØ¡A³o¤]´N¬O¬°¤°»ò­ì©l½X¥²¶·©M¡u\masm32¡v¦b¦P¤@­ÓµwºÐùؤF¡C

JWASM/HJWASM/UASM ·f°t WinInc

¦]¬°·L³n¤½¥q²¾°£¤F ML64.EXE ªº°ª¶¥«ü¥O¡A¨Ò¦p INVOKE¡B.IF/.ELSEIF/.ELSE/.ENDIF¡B.WHILE/ENDW¡Kµ¥µ¥¡A¨Ï ML64.EXE Åܦ¨´Ý¼o¡A¨Ã¥B¦Ü¤µ¤£¥´ºâ¥[¤J¡A¦]¦¹«e½ú­Ì¸Õ¹Ï¥H¤£¦Pªº¤èªk«ì´_³o¨Ç°ª¶¥«ü¥O¡C¦³¨Ç¤H¸Õ¹Ï¥H¥¨¶°«ü¥O¹ê²{³o¨Ç°ª¶¥«ü¥O¡A¨Ò¦p«X°êªº Vasily Sotnikov ©M«e­±´£¨ìªº hutch--¡C¦³¨Ç¤H«h¬O­«·s¥´³y²ÕĶ¾¹¡A¹³ Japheth ©Ò¶}µoªº²ÕĶ¾¹ JWASM¡C

JWASM °_·½©ó¥[®³¤jªº Watcom ³nÅ餽¥q¡C¦è¤¸ 1988 ¦~¡AWatcom ¤½¥q´¿¸gµo°â»D¦W©ó¥@ªº Watcom C/C++ ½sĶ¾¹¡CWatcom C/C++ ½sĶ¾¹ªº¯S¦â¬O¡A©Ò²£¥Íªº¥i°õ¦æÀɤj¤p¤ñÄvª§¹ï¤â§ó¤p¡A¦Ó¥B³t«×§ó§Ö¡C¨º®ÉµÛ¦Wªº¹CÀ¸³nÅé¡A¨Ò¦p·´·À¾Ô¤h¡]Doom¡^¡B·´·À¤½Àï 3D¡]Duke Nukem 3D¡^¡B«LµsÂy¨®¤â¡]Grand Theft Auto¡^¡B²§¹Ð¾l¥Í¡]Fallout¡^µ¥¡F¬Æ¦Ü°Ó·~®M¸Ë³nÅé¡A¨Ò¦p FoxPro 2¡BNetware386 µ¥¡A³£¬O¥Î Watcom C/C++ ¶}µoªº¡C¤]¦]¬°¨äÀu²§ªº©Ê¯à¡AWatcom C/C++ ½sĶ¾¹¯à°÷»P·L³n¡BÄ_Äõ¡]Borland¡A³ÌµÛ¦Wªº²£«~¬O Turbo C/C++¡^¤½¥q¶}µo¦æ C ½sĶ¾¹¤À®x¤®Â§¨Ã¤T¤À¤Ñ¤U¡C

¦ý¦n´º¤£±`¡A¦è¤¸ 1994 ¦~¡APowersoft ¦¬ÁʤF Watcom¡F¦è¤¸ 1995 ¦~®É¡ASybase ¤S¨Ö§]¤F Powersoft¡CSybase ¥»·Q±N Watcom C/C++ ½sĶ¾¹­«·s©w¦ì¬°µøı RAD ¤u¨ã¡A¦ý Watcom C/C++ ·|»P Sybase ­pµeµo°âªº PowerBuilder ¤¬¬ÛÄvª§¡C©ó¬O Sybase ¦b 2003 ¦~°±¤î¤F Watcom C/C++ ªº¶}µo»P¾P°â­pµe¡A¨Ã¥H·sªº¦WºÙ¡AOpen Watcom¡AÄÀ¥X­ì©l½X¡C

·í¦~¡A¦b³o®M Watcom C/C++ ùØ­±¡A¥]§t¤F¤@­Ó²ÕĶ¾¹¡AºÙ¬° WASM¡]Watcom Assembler¡^¡C¶}©ñ­ì©l½X«á¡A¥Ñ«e½ú Japheth ¥D¾É¶}µo¡A¨Ã§¹¦¨¤F 32 ¤Î 64 ¦ì¤¸ªº²ÕĶ¾¹¡A¦]¬°¥Ñ Japheth ¥D¾É¡A¬G«e­±«a¤W¨ä¦W¦r¡AºÙ¬° JWASM¡CJWASM ¨ã¦³¥H¤Uªº¯S¦â¡G

  1. ¯à²ÕĶ¦¨¦hºØ¥ØªºÀɮ榡¡A¥]§t­^¯Sº¸ªº OMF¡B·L³nªº COFF¡BLinux ªº ELF µ¥¡A³£¦P®É¥]§t 32 ¦ì¤¸¤Î 64 ¦ì¤¸ªº®æ¦¡¡C
  2. ·f°t¾A·íªº³sµ²¾¹¡A´N¯à»s§@¥X¥i¦b DOS¡BWindows¡BLinux ªº¥i°õ¦æÀÉ¡C
  3. JWASM ¬O¥H C »y¨¥¼¶¼g¡A¥i¥H²¾´Ó¡A³Ì·sª©¥»¬O 2.12¡]¥Á°ê 102 ¦~µo¦æ¡A§Y 2013.12.19¡^¡C
  4. ¤ä´© x64 «ü¥O¶°¤Î¦h´CÅé«ü¥O¶°¡]©Ò¤ä´©ªº¦h´CÅé«ü¥O¶°¥]§t MMX¡B3DNow!¡BSSE¡]1¡ã4.2¡^¡BAVX¡BVMX¡^¡C
  5. JWASM ªº­ì©l½X¥i¦b Sybase Open Watcom Public License ¨óij¤U¡A¤¹³\§K¶O©M«D°Ó·~¥Î³~¡C
  6. ³Ì­«­n¤@ÂI¬O§¹¥þ¤ä´© MASM 6.x ¤Î MASM 8.0 ªº»yªk¡C´«¥y¸Ü»¡¡A´N¬O MASM 6.x ªº°ª¯Å»yªk³£¦^¨Ó¤F¡I

¨ì¤F¦è¤¸ 2014 ¦~¤¸¤ë¡AJapheth ©ñ±ó¶}µo·sª©ªº JWASM ²ÕĶ¾¹¡A¦ý¬O¦b MASM32 ½×¾Â¤W¡A¦³¤@¸s¥H Habran ¬°­ºªº¥ý¶i±µ´À Japheth ªº¤u§@¡AÄ~ÄòºûÅ@¨Ã¶}µo·sªº²ÕĶ¾¹¡A¨Ã±N¥¦§ï¦W¬° HJWASM¡C¨ì¤F¦è¤¸ 2017 ¦~¤­¤ë¡AHJWASM ¥Ñ Branislav Habus »P John Hankinson Ä~Äò§ï¨}¡A¨Ã§ó¦W¬° UASM¡C¦è¤¸ 2023 ¦~ 4 ¤ë¡A³Ì·sª©¥»¬O 2.56 ª©¡C

¦w¸Ë UASM ²ÕĶ¾¹¤Î¤u¨ã

¶i¤J UASM ºô¯¸«á¡A§ä¨ì¤U­±ªºµe­±¡G

UASM 2.56 (32bit)27/10/2022 uasm256_x86.zip32bit Binary Package (Windows)
UASM 2.56 (64bit)27/10/2022 uasm256_x64.zip64bit Binary Package (Windows)
UASM 2.56 (Linux 64bit)27/10/2022 uasm256_linux64.zip64bit Linux Executable (GCC)
UASM 2.47 (OSX Universal)17/11/2018 uasm247_osx.zip64bit OSX Executable (GCC)

¦pªG±zªº¨t²Î¬O 64 ¦ì¤¸ªº Windows ´N¤U¸ü uasm256_x64.zip¡C

¤U¸ü¦^¨Óªº uasm256_x64.zip Àɮתø«×¬O 1587829 ­Ó¦ì¤¸²Õ¡A§â¥¦¸ÑÀ£ÁY¨ì¡uC:\UASM¡v¤l¥Ø¿ýùØ¡A´N¦w¸Ë§¹¦¨¤F¡C¦pªG¥H«á­n¸Ñ°£¦w¸Ë¡A§â¡uC:\UASM¡v¤l¥Ø¿ý³s¦P¨ä¤ºªº©Ò¦³ÀɮקR°£§Y¥i¡C°£¤F²ÕĶ¾¹¥~¡AÁÙ­n¦w¸Ë³sµ²¾¹¤Î¨ä¥L¤u¨ãµ{¦¡¡A¤èªk¸ò¨Ï¥Î ML64.EXE ªº¤@¼Ë¡A½Ð°Ñ¦Ò¤W­±ªº»¡©ú¡C©ÎªÌ¤]¥i¥H¨ì³oùؤU¸ü¤p¤ì°¸»s§@¦nªºÀ£ÁYÀÉ¡Abin64.rar¡AùØ­±¥]§t¤F³sµ²¾¹»P¨ä¥L¤u¨ãµ{¦¡¡C¦¹À£ÁYÀɪº¤º®e¬O¨Ì¾Ú MASM64 SDK ¤ºªº Microsoft_File_List.txt ÀÉ®×´£¨Ñªº¡Cbin64.rar ¤º¥u¦³¤@­Ó¤l¥Ø¿ý¡ubin64¡v¡A¸ÑÀ£ÁY¨ì¡uC:\UASM¡v¤l¥Ø¿ý§Y¥i¡A³sµ²¾¹¤Î¨ä¥L¤u¨ãµ{¦¡´N·|¦b¡uC:\UASM\bin64¡v¤l¥Ø¿ý¤º¡C

¦w¸Ë¥]§tÀÉ

²{¦b¤]¦³¦n´X²Õ¥]§tÀÉ¥i¨Ñ¨Ï¥Î¡A¤p¤ì°¸±ÀÂ˪º¬O¥Ñ Japheth ©Ò»â¾Éªº¤p²Õ©Ò»s§@ªº¡AºÙ¬° WinInc 2.08/2.09/2.10 ªº¥]§tÀÉ¡C¦U¦ìŪªÌ¥i¥H¨ì UASM ªººô¯¸¤W¤U¸ü¡C®Ú¾Ú¸Óºô¯¸ªº¸ê®Æ¡AWinInc ¬O±Mªù¬° JWASM/HJWASM/UASM¡BMASM µ¥²ÕĶ¾¹©Ò¥´³yªº¡A¥]§t¤F©Ò¦³ Win32/64 API ©Ò»Ý«Å§i¤Î­ì«¬¡C»P MASM32 ¤£¦Pªº¬O¡A¦b MASM32 ùتº WINDOWS.INC ¥]§t¤F©Ò¦³±`¼Æªº©w¸q¡A¦]¦¹Àɮ׫D±`¤j¡F¦ý¬O¦b WinInc ùØ¡A«o¬O¤Àªù§OÃþªº¦b¦U­Ó¥]§tÀÉùØ¡A¥¦­Ì¬O¥Ñ h2incx.exe Âà´«·L³nªº VC ©Ò´£¨Ñªº¥]§tÀÉ¡A*.H ©M *.INC¡A¥H 1¡G1 Âà´«¦Ó¨Óªº¡C°£¦¹¤§¥~¡AWinInc ¤]¤ä´©¸U°ê½X¡A³o¹ï¶}µo¦h°ê»y¨¥µ{¦¡¡A¬O­Ó¦n®ø®§¡C

§â WinInc210.zip ¤U¸ü¦^¨Ó«á¡A¥u»Ý§â¨ä¤ºªº Include ¤l¥Ø¿ý¾ã­Ó¸ÑÀ£ÁY¨ì¡uC:\UASM¡v´N§¹¦¨¤F¡C¦p¦¹¤@¨Ó¡A¥]§tÀÉ´N·|¦b¡uC:\UASM\Include¡v¤l¥Ø¿ýùØ­±¤F¡C

¦w¸Ë¶×¤Jµ{¦¡®w

¤p¤ì°¸ª¾¹D¦Ü¤Ö¦³¨âºØ¤èªk¦w¸Ë¶×¤Jµ{¦¡®w¡G①ª½±µ¨Ï¥Î MASM64 SDK ªº¶×¤Jµ{¦¡®w¡B②¥Ñ Windows SDK ©Î Visual Studio ªº¥úºÐ¤¤©â¨ú¡CÅãµM¬O①ªº¤èªk¸û¦n¡A©Ò±oªº¶×¤Jµ{¦¡®w¤]¸û·s¡C¤èªk«Ü²³æ¡A¤U¸ü MASM64 SDK ªº¦w¸Ëµ{¦¡¡G install64.zip À£ÁYÀÉ¡AµM«á±N¨ä¤¤¡uinstall64\lib64¡v¤l¥Ø¿ýùØ­±ªº©Ò¦³Àɮ׸ÑÀ£ÁY¨ì¡uC:\UASM\lib64¡v¤l¥Ø¿ý¸Ì­±§Y¥i¡C

¤p¤ì°¸ªº¿ï¾Ü

¤p¤ì°¸¦b¹q¸£¤W¦w¸Ë¤F¨âºØ²ÕĶ¾¹¤Î»P¤§·f°tªº¥]§tÀÉ¡G①hutch-- ¥D¾Éªº MASM64 SDK¡F②UASM ²ÕĶ¾¹»P WinInc ¥]§tÀÉ¡C¥¦­Ì¦U¦³¦Uªº¯S¦â¡A¥O¤p¤ì°¸Ãø¥H§à¾Ü¦b±µ¤U¨Óªº³¹¸`¤¤¡A­n¿ï¾Ü¥H²Ä①¬°¥D¡AÁÙ¬O¥H②¬°¥D¡CŲ©ó¤p¤ì°¸¦Û¾Ç Win64 ²Õ¦X»y¨¥ªº¾úµ{¡A¬O¦b MASM64 SDK ¥¼¦¨®ð­Ô¤§«e¡A¦]¦¹¨º®É¤p¤ì°¸¬O¥H WinInc ·f°t UASM ²ÕĶ¾¹¡C§Y¨Ï²{¦b¦³³\¦h¤H¨Ï¥Î MASM64 SDK¡A¦ý¦b±¡·P¤W¡A¤p¤ì°¸¬OÃø¥H³Î±Ë¡C

¦b«e¤Q³¹¡A¤p¤ì°¸·|¥H MASM64 SDK ¶i¦æ²ÕĶ»P³sµ²¡C¦Ó¦b§ó«á­±ªº³¹¸`¡A·|¥þ¥H²Ä②ºØ¤èªk²ÕĶ¡C©¯¦n¡A³o¨âªÌ­ì©l½X¡B²ÕĶ¤è¦¡³£¤j¦P¤p²§¡A¥u¦³¤@¨Ç²Ó¸`¤£¦P¡A²¤·Lª`·N§Y¥i¡C


·PÁ¡I

¦­¦b 16 ¦ì¤¸ªº DOS ®É¥N¡A·L³n©Ò¥X«~ªº²Õ¦X»y¨¥²ÕĶ¾¹¡AºÙ¬°¥¨¶°²ÕĶ¾¹¡AMacro ASM¡A²ºÙ MASM¡C­ì¥ý²ÕĶ¾¹ÀɦW¬° MASM.EXE¡A¨ì¤F 6.0 ª©¤§«á¡A²ÕĶ¾¹ÀɦW§ï¬° ML.EXE¡C6.0 ª©ÁÙ²K¥[¤F³\¦h¥\¯à¡A³Ì¥O¤H¬z¬z¼Ö¹Dªº´N¬O¥i¥H¨Ï¥Î INVOKE¡B.IF/.ELSEIF/.ENDIF¡B.WHILE/.ENDW µ¥°ª¶¥»yªk¡C¨ì¤F 7.0 ª©ªº®É¥N¡A·L³n¤£¦A¹ï¥«­±³c°â·sª©ªº²ÕĶ¾¹¡A¦ý«o·t«×³¯­Üªº±N¥¦¥]§t¦b¡uVisual C¡Ï¡Ï¡vùØ­±¡A§@¬°²ÕĶ¡uC¡Ï¡Ï¡vµ{¦¡¤º§tªº²Õ¦X»y¨¥µ{¦¡½X¡A¦P®É¤]§â«e­zªº°ª¶¥»yªk°£¥h¡C

¦bµo°â¡uVisual C¡Ï¡Ï 2005 Express Edition¡v®É¡A·L³n¦b³o­Ó¶}µo¤u¨ã¤º¡A·s²K¤F¤@­Ó¥i¥H²ÕĶ 64 ¦ì¤¸ªº²Õ¦X»y¨¥­ì©l½Xªº²ÕĶ¾¹¡AºÙ¬° ML64.EXE¡A¦P¼Ë¤£¤ä´©°ª¶¥»yªk¡Cº¸«áªº¨C¤@ª©¡uVisual C¡Ï¡Ï¡v©Î¡uVisual Studio¡v³£·|·f°t·s¤@ª©ªº ML.EXE »P ML64.EXE¡Cªí­±¤W¡A·L³nÁö¤£¦Aµo°â·sªº MASM¡A¦ý¬O¹ê»Ú¤W¤´§ëª`¸ê·½¤£Â_§ó·s¡C

¥Ñ©ó¦³·L³n³o¼Ëªº¤j¾a¤s¤ä´© MASM¡A¤]´N·|§l¤Þ¤Fºô¸ô¤Wªº°ª¤â¡A¨Ò¦p hutch--¡BVasily Sotnikov¡BVortex µ¥«e½ú¡A¥L­ÌÀu¨qªºµ{¦¡³]­p¯à¤O¡A¥´³y¤F¥¨¶°µ{¦¡¡AÅý ML64.EXE ¥i¥HÄ~Äò¨Ï¥Î°ª¶¥»yªk¡A¨Ã¥BºÜºÉ¤ß¤O¨Ï¤§§ó¥[§¹µ½¡F¤]»s§@¤F§t¦³¦UºØ¥]§tÀÉ»P¶×¤Jµ{¦¡®wªº¡uinstall64.zip¡v¡A´£¨Ñµ¹«á¤H¤U¸ü¨Ï¥Î¡A¥i¿×¥\¼wµL¶q¡C¦b¦¹¡A¤p¤ì°¸¤£±o¤£¨ØªA¥L­Ì¡A¤£¶È¬O¦]¬°¥L­Ìµ{¦¡³]­pªº¯à¤O°ª¶W¡A¤]¦]¬°¥L­Ì¨¯¶Ô¥B¤£­p³ø¹Sªº¤u§@¡A¶È¾ÌµÛº¡µÄªº¼ö±¡¡A³Ì«á¦¨¥\ªºÅý§Ú­Ì±o¥H¨É¨ü¥L­Ìªº¦¨ªG¡C¹ê¦b¬O¥O¤HµÂµM°_·q¡C