¦b³o¤@³¹¸Ì¡A§Ú·Qn»¡©ú¦p¦ó§â¤@Ó¤K¦ì¤¸¼È¦s¾¹¤¤ªº¤Q¤»¶i¦ì¼Æ¦L¦b¿Ã¹õ¤W¡C¤K¦ì¤¸ªº¼È¦s¾¹¦³ 8 Ӧ줸¡A8 Ӧ줸¥i¥Hªí¥Ü¨â¦ì¤Q¤»¶i¦ì¼Æ¡C´N¹³¨C¯Z 48 ¤H¡A³o¥|¤Q¤K¬O¨â¦ì¼Æ¡A¦Ó¥B¬O¤Q¶i¦ìªº¨â¦ì¼Æ¡C
mov dl,01 mov ah,2 int 21h¨º´N¿ù¤F¡A¦]¬°³o¼Ë¥u·|¦L¥X DL ¤º ASCII ½X©Ò¥Nªíªº¦r¤¸¡A¤]´N¬O¯ºÁy¡A¨Ã¤£·|¦L¥X¡u0¡v¡B¡u1¡v¨âÓªü©Ô§B¼Æ¦r¨Ó¡C
¦pªG·Qn¦b¿Ã¹õ¤W¦L¥X 01 ¨Ó¡An¤À¦¨¨âÓ¨BÆJ¡A²Ä¤@¨B¥ý¦L¥X°ª¦ì¼Æ¡u0¡v¡A²Ä¤G¨B¦A¦L¥X§C¦ì¼Æ¡u1¡v¡A´N¦n¤ñ§ÚÌ¥®É¼g¤Q¶i¦ìªº¡u48¡v¡A¤@¯ë¥ý¼g¤Q¦ì¼Æ¡u4¡v¡A¦A¼gÓ¦ì¼Æ¡u8¡v¡C§Ú̱o¥ý¬d¥X ASCII ½X¥Nªí¡u0¡v³oÓ¦r¤¸¬O 48¡]¤Q¤»¶i¦ì30H¡^¡A¦Ó¡u1¡v¬O¥Î ASCII ½Xªº 49 ªí¥Ü¡C¦]¦¹¦b²Ä¤@¨B®Én¥ý±N DL ¦s¤J 48¡]¥ç§Y 30H¡^¡A©I¥s AH=2/INT 21H ¤¤Â_¦L¥X¨Ó¡F²Ä¤G¨Bn¦b DL ¦s¤J 49¡]¥ç§Y 31H¡^¡A¦A©I¥s AH=2/INT21H ¦L¥X¨Ó¡C
¼È¦s¾¹¤¤ªº¼ÆȬO¤Q¤»¶i¦ì¼Æ¡A¤Q¤»¶i¦ì¥]§tªü©Ô§B¼Æ¦r¤Î^¤å¦r¥À¡An·Q±N¤Q¤»¶i¦ì¼Æ¦L¥X¨ÓÁÙnª`·N¤U±ªº¨Æ±¡¡Cªü©Ô§B¼Æ¦r¡u9¡v¦b ASCII ½X¬O¥H 57d(39h) ªí¥Ü¡A¤ñ 9 ¦h¤@ªº¼Æ¬O¤Q¡A¤Q¤»¶i¦ì¤¤¬O¥H¡uA¡vªí¥Ü¡A^¤å¦r¥À¡uA¡v¦b ASCII ½X¤¤¬O¥H 41h¡]65d¡^¦Ó¤£¬O 3Ah¡A¨âªÌ¨Ã¤£³sÄò¡A©Ò¥H¶W¹L 9 ªºÁÙn¦A¥[¤W 7 ( 65d ´î 57d ) ¤~¯à¥¿½TÅã¥Ü¥X^¤å¦r¥À¡uA¡v¨Ó¡C
èè´£¹L¡A¤K¦ì¤¸ªº¼È¦s¾¹¡A¦³¨â¦ì¤Q¤»¶i¦ì¼Æ¡A¦]¦¹§Ú̱o¥ý¨ú¥X¸û°ª¦ìªº¥|Ӧ줸¹Bºâ¡F¦A¨ú¥X¸û§C¦ìªº¥|Ӧ줸¹Bºâ¡C
§Ú±N¦L¥X BL ¼È¦s¾¹¤§Èªºµ{¦¡¦C¦b¤U±¡G
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
25 26 27 28
29 30 31 32
33 |
;***************************************
code segment
assume cs:code,ds:code
org 100h
;---------------------------------------
start: mov bl,2bh
;¥H¤U¤E¦æ¦L¥X BL ¤º¸û°ªªº 4 Ӧ줸¡A¨Ò¦p BL=2B «h¦b¿Ã¹õ¦L¥X¡u2¡v
mov cl,4 ;±N 4 ¦s©ó CL
mov dl,bl ;±N BL ¤§¤º®e¦s©ó DL ¤¤¥H¤è«K¦L¥X
shr dl,cl ;§â BL ¸û°ª¤§ 4 ¦ì¤¸Åܦ¨ DL ¤¤¸û§C¤§ 4 ¦ì¤¸
add dl,30h ;¥[¤W 30H
cmp dl,'9' ;¤ñ¸û¬Ý¬Ý¬O§_¶W¹L 39H
jbe ok_1 ;¨S¶W¹Lª½±µ¦L¥X
add dl,7 ;Y¶W¹L¦A¥[¤W 7
ok_1: mov ah,2
int 21h ;¦L¥X
;¥H¤U 8 ¦æ¦L¥X BL ¸û§Cªº 4 Ӧ줸¡A¨Ò¦p BL=2B «h¦b¿Ã¹õ¦L¥X¡uB¡v
mov dl,bl ;±N BL ¤§È¦s¤J DL
and dl,0fh ;¨ú±o DL ¤§¸û§Cªº 4 Ӧ줸
add dl,30h ;¥[¤W 30H
cmp dl,'9' ;¤ñ¸û¬Ý¬Ý¬O§_¶W¹L 9
jbe ok_2 ;¨S¶W¹Lª½±µ¦L¥X
add dl,7 ;Y¶W¹L¦A¥[¤W 7
ok_2: mov ah,2
int 21h ;¦L¥X
mov ax,4c00h;µ²§ôµ{¦¡
int 21h
;---------------------------------------
code ends
end start
|
©³¤U¨Ó¤¶²Ð³oÓµ{¦¡©Ò¥Îªº·s«ü¥O¡C
²Ä¤@Ó¬O SHR¡A³oÓ«ü¥O¬O±N¼È¦s¾¹¦V¥k²¾¼ÆӦ줸¡A¦A±Nµ²ªG¦s¦^ì¼È¦s¾¹¡A¨ä»yªk¦p¤U¡G
shr ¼È¦s¾¹,cl ©Î shr ¼È¦s¾¹,¼Æ¦rn¦ì²¾ªº¦ì¤¸¼Æ¥i¥Hª½±µ¥H¼Æ¦r©Î¨Æ¥ý¦s©ó CL ¼È¦s¾¹¡C
Á|¨Ò¨Ó»¡¡A°²¦p BL ¼È¦s¾¹¤º®e¬° 2BH¡A«h¦b BL ¼È¦s¾¹¤ºªº¨CӦ줸¦p¤U¹Ï¡G¡]Y§A¤£ª¾¬°¦ó 2BH ·|Åܦ¨¤U±¤@¤j¦êªº 0 »P 1¡A½Ð¬Ýªþ¿ý¤@¡^
¸g¹L¦V¥k²¾¤@Ӧ줸«á¡ABL ¤§È·|Åܦ¨
¦¹¥~¨Ï¥Î 8088/8086 CPU ®É¡A¦pªGn¤@¦¸¥k²¾¦n´XӦ줸¡AÀ³¥ý±N¥k²¾¦¸¼Æ¦s¨ì CL ¼È¦s¾¹¤¤¡A¦A¥Î¡uSHR ¼È¦s¾¹,CL¡v«ü¥O¡A¦pªG¬O¥u¥k²¾¤@¦ì¡A¥i¥Hª½±µ¥Î¡uSHR ¼È¦s¾¹,1¡v¡C¦pªG¥Î 80286 µ¥¯Å¥H¤Wªº CPU¡A¥k²¾ªº¦ì¤¸¼Æ§Y¨Ï¶W¹L¤@¡A¤]¥i¥H¥Î¡uSHR ¼È¦s¾¹,¦¸¼Æ¡v¨Ó°µ¡C
add ¼È¦s¾¹,¼È¦s¾¹ add ¼È¦s¾¹,¼Æ¦r(±`¼Æ) add ¼È¦s¾¹,ÅܼƦW add ÅܼƦW,¼È¦s¾¹ add ÅܼƦW,¼Æ¦r¤W±¨º¦æªº§@¥Î¬O§â«á±ªº¼Æ¦r¡BÅܼƩμȦs¾¹¥[¨ì«e±ªºÅܼƩμȦs¾¹¤¤¡A¥u¦³«e±ªºÅܼƩμȦs¾¹ªº¤º®e·|§ïÅÜ¡A«á±ªº¤£ÅÜ¡C¨Ò¦p¦³¤@µ{¦¡¤ù¬q¡G
mov ax,3 mov bx,5 add ax,bx°õ¦æ³Ì«á¤@¦æ®É¡A¬O±N BX ¤§È©M AX ¤§È¥[°_¨Ó¡A¦A¦s¦^¨ì AX¡A©Ò¥H³Ì«á AX ¬° 8¡A¦Ó BX ¤´¬° 5¡C
add ax,ax«h·|¨Ï AX ¤§ÈÅܬ°¨â¿¡Cnª`·Nªº¬O¥[¼Æ»P³Q¥[¼Æ³£¥²»Ý¦P®É¬° 16 ¦ì¤¸©Î¦P®É¬° 8 ¦ì¤¸¡A¤]´N¬O»¡ add ax,bl ¬O¤£¦Xªkªº¡C
cmp dl,'9' jbe ok_1·N«ä´N¬O¥ý¤ñ¸û DL ©M 39H ¤§¤j¤p¡AY DL ¤p©ó©Îµ¥©ó 39H ªº¸Ü¡A«h¸õ¨ì¼Ð°O ok_1 ³BÄ~Äò°õ¦æ¡F§_«h´N°õ¦æ¡ujbe ok_1¡vªº¤U¤@¦æ«ü¥O¡C¦¹³B¦pªG©ú¥Õ^¤å§t¸q´N«Ü®e©ö°O¦í¤F¡Acmp ·íµM¬O compare¡]¤ñ¸ûªº·N«ä¡^¡Ajbe ªº j ¬O«ü jump¡]¸õÅD¡^¡Ajbe ªº e ¬O«ü equal¡]¬Ûµ¥¡^¡Ab ¬O«ü¤p©ó¡Aa ¬O«ü¤j©ó¡C¦]¦¹ JA¡BJB¡BJAE ªº·N¸q¤À§O´N¬OY¤j©ó¡B¤p©ó¡B¤j©ó©Îµ¥©ó´N¸õÅD(µù¤@)¡C¦¹¥~¡A³o¥|ºØ¸õÅD«ü¥O¡AJA¡BJB¡BJAE¡BJBE¡AºÙ¬°±ø¥ó¸õÅD¡A¥ç§Yn²Å¦X±ø¥ó¤~¸õÅD¡A¦Ó¥B¸õÅD½d³ò¤£¯à¶W¹L 128 ¦ì¤¸²Õ¡A§_«h²ÕĶ¾¹·|¥X¿ù¦ÓµLªk²ÕĶ¡C
¦¹¥~nª`·Nªº¬O cmp dl,'9' ©M cmp dl,9 ¬O§¹¥þ¤£¤@¼Ëªº·N¸q¡A«eªÌ¦³¥[¤Þ¸¹ªº¬O«ü¤ñ¸û¡u9¡v³oÓ¦r¤¸¡A¥¦©Ò¥Nªíªº¬O ASCII ½Xªº 39H¡A¦b°O¾ÐÅ餤¥¦ªº¼ÆȬO¤Q¤»¶i¦ìªº 39H¡A¦]¦¹ cmp dl,'9' ·N«ä¬O cmp dl,39h¡C¦Ó«áªÌ¤£¥[¤Þ¸¹ªº´N¬Oªí¥Ü¼ÆÈ 9¡A¦b°O¾ÐÅ餤¥¦ªº¼ÆÈ´N¬O 9H¡C
and ¼È¦s¾¹,¼Æ¦r and ¼È¦s¾¹,ÅÜ¼Æ and ¼È¦s¾¹,¼È¦s¾¹ and ÅܼÆ,¼Æ¦r and ÅܼÆ,¼È¦s¾¹³oÓ«ü¥O¬O±N¼È¦s¾¹ªº¤º®e»P«á±ªº¼Æ¦r°µ AND ¹Bºâ¡A¦A±Nµ²ªG¦s¤J¸Ó¼È¦s¾¹©ÎÅܼƤ¤¡CAND ½Ķ¦¨¡u¥B¡vªº·N«ä¡A³oºØ¹Bºâ¬O¥u¦³·í¨âÓ±ø¥ó³£¦¨¥ß®É¤~¬°¯u¡C¨Ò¦p§A©ñ¾Ç¦^®a¡A¶ý¶ý»¡¡G¡un¼g§¹¤µ¤Ñªº§@·~¨Ã¥B¹w²ß§¹©ú¤éªº¥\½Ò¤~¯àª±¹q¸£¡C¡v·N«ä´N¬O¦pªG§A¡u¤µ¤é§@·~¡v©M¡u¹w²ß©ú¤é¥\½Ò¡v¥un¦³¤@¶µ¨S°µ§¹¡A´N¤£¯à¡uª±¹q¸£¡v¡A¥u¦³·í¨â¶µ³£°µ¦n¤F¤~¥i¥Hª±¹q¸£¡C¦b¹q¸£¤¤¡A¡u1¡vªí¥Ü¯u©Î¦¨¥ßªº·N«ä¡A¡u0¡vªí¥Ü°°©Î¤£¦¨¥ßªº·N«ä¡C©Ò¥H¡A¥u¦³·í¨âӼƳ£¬°¤@¡A°µ AND ¹Bºâ®É¡A¨äµ²ªG¤~¬°¤@¡A¥un¹Bºâªº¨â¼Æ¦³¤@Ó¬°¹s¡Aµ²ªG´N¬°¹s¡C°²¦p DL=2BH¡A°õ¦æ and dl,0fh «ü¥O¥H¤U¹Ï»¡©ú¡G
§Ú̬ݳ̥kÃ䨺¦ì¼Æ ( ¤]´N¬O³Ì§C¦ì¼Æ¡A¤@¯ëºÙ¬°²Ä 0 ¦ì¤¸ )¡A¤£ºÞ¬O DL ¤§È©Î¬O 0F ¤§È³£¬O¤@¡A©Ò¥Hµ²ªG¬°¤@¡F³Ì¥kÃä²Ä¤G¦ì¼Æ¤]¬O¤@¼Ë¡F³Ì¥kÃä²Ä¤T¦ì¼Æ¡A¦]¬° DL ¬°¹s¡A¥un¦³¤@Ó¬°¹s¡A©Ò¥Hµ²ªG´N¬O¹s¡F¨ä¾lÃþ±À¡C
§A¥i¯à·|µo²{¡A¦pªG§Ún±o¨ì¬YÓ¤K¦ì¤¸ªº¼È¦s¾¹¡]¨Ò¦p AL ¼È¦s¾¹¡^³Ì§Cªº¥|Ӧ줸¡]¥kÃä¥|Ӧ줸¡^¡A¨Ã¥B¨Ï¸û°ªªº¥|Ӧ줸¬°¹s¡A´N¥Î¡uAND AL,0FH¡v§Y¥i¡F¬Û¤Ïªº¡A¦pªG§Ún±o¨ì¸û°ªªº¥|Ӧ줸¡A¥B±N¸û§Cªº¥|Ӧ줸Åܦ¨¹s¡A´N¥Î¡uAND 0F0H,AL¡v³oºØ¹Bºâ¡A«Ü±`¦b²Õ¦X»y¨¥À³¥Î¨ì¡C
µM«á¥Î SHR «ü¥O±N DL ¥k²¾¥|Ӧ줸¡A¦A¥[¤W 30H ¨Ï DL ªº¤º®e¹ïÀ³¨ì ASCII ½Xªº 30H ¨ì 39H¡A³o¼Ë¦b¿Ã¹õ¤WÅã¥Üªº¦r¤¸´N¬Oªü©Ô§B¼Æ¦rªº¡u0¡v¨ì¡u9¡v¡A¦ý¬OY DL ªº¼ÆȶW¹L 9 ®É¡A·Ó¤W±ªº¹Bºâ·|±o¨ì 3AH¡A¦ý ASCII ½X 3AH ©Ò¥Nªíªº¦r¨Ã«D¹ïÀ³¨ì^¤å¦r¥À¡uA¡v¡A¬dªí±oª¾¡uA¡vªº ASCII ½X¬O 41H¡A©Ò¥H¦pªG¶W¹L 39H ªº¸Ü¡An¥ý¥[¤W 7 ¦A¦L¥X¨Ó¡C(¬°¦ó¥[ 7¡A·Q·Q¬Ý§a¡I)
µ{¦¡¨ä¾l³¡¤À¬O±N BL ¸û§Cªº¥|¦ì¤¸¦L¦b¿Ã¹õ¤W¡Aì²z©M¤W±®t¤£¦h¡A´N¤£¦A«½Æ¤F¡C
¥»³¹ùاAÀ³¸Ó¾Ç¨ìªº¦³¡G
¥»³¹ªº³oÓµ{¦¡¤À¨â³¡¤À¡A¤À§O±N¸û°ªªº¥|Ӧ줸©M¸û§Cªº¥|Ӧ줸¦L¥X¨Ó¡A©Ò¥H¦³³\¦h³¡¤À¬O«½Æªº¡A³o¨Ç¥i¥H¥Î¡u°Æµ{¦¡¡v¨Ó²¤Æ¡A¤U¤@³¹§Ų́ӽͽͰƵ{¦¡¡C