0000 0000 ªí¥Ü 0 0000 0001 ªí¥Ü 1 0000 0010 ªí¥Ü 2(µù¤@) 0000 0011 ªí¥Ü 3 0000 0100 ªí¥Ü 4 0000 0101 ªí¥Ü 5³o´N¬O¥Î¤@Ó byte¡]¦ì¤¸²Õ¡^¨Óªí¥Ü 0 ¨ì 255¡AÁ`¦@ 256 Ó¾ã¼Æ¡]28=256¡^¡A·íµM 2 Ӧ줸²Õ¡A´N¬Û·í©ó 16 Ӧ줸¡A´N¥i¥Hªí¥Ü¥X 65536 Ó¾ã¼Æ¡C¨º»ò¹q¸£¤Wªº^¤å¦r¥À¤S¦p¦ó¦b¿Ã¹õ¤WÅã²{¥X©O¡Hì¨Ó¦³¨ÇÁo©úªº¤H¡A¦¤w¸g·Q¦n¤F¤èªk¡C§Ú̧â¤@Ó¾ã¼Æ¥N´À¤@Ó¦r¥À©Îªü©Ô§B¼Æ¦r¡C¨Ò¦p 65 ³oÓ¼ÆÈ¥Nªí^¤å¦r¥À¡uA¡v¡A·í¹q¸£¡u¬Ý¨ì¡v³oÓ¼ÆȮɡA´N¥Î 65 ³oÓ¼Æȸg¹L¤@®M¹Bºâ¤è¦¡¡A¦Ó±o¨ì¡uA¡v³oÓ¦rªº§Îª¬¡A¦AÅã¥Ü¨ì¿Ã¥ú¹õ¤W¡C·íµM¡A¥²¶·¨C¤@Ó¤H³£¨Ï¥Î¦P¤@Ó¼ÆȨӪí¥Ü¦P¤@Ó¦r¡A¦pªG¬Y¤H¥H¡u65¡vªí¥Ü¡uA¡v¡A¦ý¥t¤@¤H¥H¡u61¡vªí¥Ü¡uA¡v¡A°Z¤£¤Ñ¤U¤j¶Ã¡C
©Ò¥H¬ü°ê¦³Ó¾÷ºc¨î©w¤F¤@ӲΤ@ªº¼Ð·Ç¡A±N 7 Ӧ줸¡]¦@¦³ 27 ¤]´N¬O 128 ºØªí¥Ü¤èªk¡A±q 0 ¨ì 127¡^¨Ó¥Nªí^¤å¦r¥À¡Bªü©Ô§B¼Æ¦r¤Î¤@¨Ç²Å¸¹¡AºÙ¬° ASCII ½X¡C«á¨Ó IBM ¤S¨î©w¤FÂX¥Rªº ASCII¡A³o¬O¥Ñ 8 ¦ì¤¸²Õ¦¨ªº¡A¦@¥i¥Hªí¥Ü 256 Ó¤å¦r¡A«e± 128 Ó»P«ezªº ASCII ½X¬Û¦P¡A«á 128 Ó¥i¥Hªí¥Üµ¼Ð¡B®Ø½u¤Î§Æþ¦r¥À¡C©³¤U¦C¥X´XÓ ASCII ½X¡A¥H¨Ñ»¡©ú¡A¨ä¾l¥i°Ñ¦Òªþ¿ý¥|¡C
¤Q¶i¦ì | ¤Q¤»¶i¦ì | ASCII | ¤Q¶i¦ì | ¤Q¤»¶i¦ì | ASCII |
32 | 20 |   | 33 | 21 | ! |
34 | 22 | " | 35 | 23 | # |
36 | 24 | # | 37 | 25 | % |
65 | 41 | A | 66 | 42 | B |
97 | 61 | a | 98 | 62 | b |
¤Wªí¤¤ªº²Ä¤@Ó¡A¤Q¶i¦ìªº¼ÆÈ 32 ( µ¥©ó¤Q¤»¶i¦ìªº 20 )¡A¥¦ªº ASCII ½X©Ò¥Nªíªº¦r¤¸ªÅ¥Õ¡F²Ä¤GÓ¡A¤Q¶i¦ìªº 33 ( µ¥©ó¤Q¤»¶i¦ìªº 21 )¡A¥¦ªº ASCII ½X¥Nªíªº¦r¤¸¬O!¡A¨ä¾l¨Ì¦¹Ãþ±À¡C·N«ä¬O»¡¡A¦pªGµ{¦¡·Q§â¬YÓ°O¾ÐÅ骺¤º®eÅã¥Ü¦b¿Ã¹õ¤W¡A°²¦p³oÓ°O¾ÐÅé¦sªº¬O 41h¡A¨º´N·|¦L¥X^¤å¦r¥À¡yA¡z¨Ó¡A¦Ó¤£·|¦L¥X 41 ©Î 65¡C
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 |
;***************************************
code SEGMENT
ASSUME cs:code,ds:code
ORG 100h
;---------------------------------------
start: mov cx,256 ;¦³ 256 Ó ASCII ½X
mov dl,0
next: mov ah,2 ;Loop °j°é¶}©l³B ¢w¢{
int 21h ; ¢x
inc dl ; ¢x
loop next ;Loop °j°éµ²§ô³B ¢w¢}
mov ax,4c00h
int 21h
;---------------------------------------
code ENDS
;***************************************
END start
|
¸g¹L²ÕĶ¡B³sµ²¡BÂà´«¦¨ COM ÀÉ«á¡A°õ¦æ¬Ý¬Ý¡G
§A·|Å¥¡§¹Í¡¨¤@Án¡AµM«á¦L¥X¤@¤j°ï¦r¡A¤S¦^¨ì´£¥Ü²Å¸¹¡C³o¬O¦]¬° ASCII ½Xªº 7 ´N¬O¥Nªí¹ÍÁn¡A¨ä¥LÁÙ¦³¤@¨Ç±±¨î½X¡A§Ú̵yÔ·|¥Î¨ì¡AµM«á¬Ý¨ì¹q¸£¦L¥X³\¦h²Å¸¹¡Bªü©Ô§B¼Æ¦r¡B^¤å¦rµ¥µ¥¡C©³¤U¸ÑÄÀ³oÓµ{¦¡¦p¦ó¹B§@¡C
³oÓ¤¤Â_ªA°Èµ{¦¡·|¦b¿Ã¹õ¤W¦L¥X¤@Ó¦r¤¸¡An¦L¥Xªº¦r¤¸©Ò¥Nªíªº ASCII ½X©ñ¤J DL ¼È¦s¾¹¤¤¡A¦A¨Ï AH ³]¬°¤G¡A³Ì«á©I¥s INT 21H ´N¥i¥HÅý DOS ªA°È¤¤Â_À°§Ú̦L¥X¦r¤¸¨Ó¡C
DOS ´£¨Ñ¤F³\¦hªA°Èµ{¦¡¡A³o¨ÇªA°Èµ{¦¡¥un¨Æ¥ý³]¦n¸Ó¦³ªº¾A·í¼ÆÈ¡A¤Î¸ÓªA°È»Ýnªº¸ê®Æ¡A¦A©I¥s¤¤Â_ªA°Èµ{¦¡´N¥i¥H¤F¡A¹³³oùتº
mov ah,2 int 21h
¬O¦L¥X¦r¤¸ªA°Èµ{¦¡¡A¦Ó²Ä¤@³¹ªº
mov ah,9 int 21h
¬O¦L¥X¦r¦êªA°Èµ{¦¡¡C¥¦Ì³£¬OÄÝ©ó DOS ´£¨ÑªºªA°Èµ{¦¡¡A¦Ó AH ¤ºªº¼ÆÈ«hªí¥Ün¨Ï¥Î¨º¤@ºØªA°È¡A³o¨ÇªA°È«D±`¦h¥BÁcÂø¡A¥i¥H°Ñ¦Ò Ralf Brown's Interrupt List¡A³o¬Oºô»Úºô¸ô¤W³ÌÅv«Âªº¤åÄm¡C
INC «ü¥Oªº»yªk¬O
INC ¼È¦s¾¹©ÎÅܼÆ
INC ·|¨Ï«á±±µªº¼È¦s¾¹©ÎÅܼƪº¼ÆȼW¥[¤@¡A³o¼È¦s¾¹¥i¥H¬O¦UºØ³q¥Î¼È¦s¾¹ ( ¦p AX¡BAH¡BAL¡BBX¡BBH¡K¡K)¡A¤]¥i¥H¬O SI¡BDI¡BBP¡BSP¡Cnª`·Nªº¬O¡A¦pªG AL ¤wµ¥©ó 0FFH¡A¦A°õ¦æ
inc al
AL ·|Åܦ¨¹s¡C
³oµ{¦¡ªº¥DÅ鳡¤À¬O¤@Ó LOOP °j°é¡CLOOP ªº»yªk¬O¡G
LOOP ¼Ð°O
·í CPU °õ¦æ¨ì LOOP ®É¡ACPU ·|¨Ï CX ¤ºªº¼ÆÈ´î 1¡A¦pªG´î¤@«á¡ACX ¤ºªº¼ÆȤ£¬°¹s¡ACPU ·|¸õÅD¨ì LOOP ©Ò«ü©wªº¼Ð°O³BÄ~Äò°õ¦æ¡F¦pªG´î¤@«á¡ACX ªº¼ÆÈÅܬ°¹s¡A¨º»ò CPU ´N·|¸õ¨ì LOOP ¤U¤@¦æªº«ü¥O°õ¦æ¡C¦]¦¹¦pªG¦³¤@¬qµ{¦¡¥²¶·°õ¦æ¦n´X¦¸¡A´N¥i¥H¥ý§â¦¸¼Æ©ñ¦b CX ùØ¡AµM«á§â¨º¤@¬qµ{¦¡©ñ¦b¼Ð°O»P LOOP ¤§¶¡¡ACPU ´N¥i¥H·Ó§Ú̪º³]p°õ¦æ¤@©w¦¸¼Æ¡C¹³³o¼Ë¤l§Ú̳]¦n¬Y¨Ç±ø¥ó¡A·í²Å¦X³o±ø¥ó®É¡Aµ{¦¡´N¦b¬Y¤@¬q¸¨«½Æ°õ¦æª½¨ì¤£²Å¦X³oÓ±ø¥ó¡A³oºØ¬yµ{ºÙ¬°°j°é¡C±zn¤p¤ßªº¬O¡A¤£n¨Ï±o¥Ã»·³£²Å¦X±ø¥ó¡A³o¼Ëµ{¦¡«K¤@ª½¦b°j°é¤¤°õ¦æ¡A¥Ã»·µLªk¸õ¥X³oÓ°j°é¡A©ó¬O´N·í¾÷¤F¡C¦b LOOP ªº¨Ò¤l¡ACX ªº§@¥Î¦n¤ñ¬Op¼Æ¾¹¡A¦]¦¹ CX ¤]¥sp¼Æ¼È¦s¾¹¡A^¤å¬° counter register¡C
µ{¦¡²Ä 6 ¦æ¡A¤p¤ì°¸¥ý§â 256 ¦s¤J CX ¤¤ ( ¦]¬°¦³ 256 Ó ASCII ¦r¤¸ )¡AµM«á²Ä¤C¦æ§â DL ³]¬°¹s¡A³o¬O²Ä¤@Ón¦L¥X¨Óªº¦r¤¸¡C±µ¤U¨Óµ{¦¡´N¶i¤J°j°é¤F¡A³oÓ°j°é±N³sÄò°õ¦æ 256 ¦¸¡A¨C¦¸¥u¦³¦L¥X¨Óªº¦r¤¸¤£¦P¡A¥Ñ¹s³vº¥¼W¥[¨ì 255¡A¨ä¾l³¡¤À¬Ò¬Û¦P¡A©Ò¥H¦b¦L¥X¦r¤¸¤§«á¨Ï DL ¼W¥[¤@¡A¦AÀˬd¬O§_¸ÓÂ÷¶}°j°é¡AÁÙ¬On¦^¨ì°j°éªº¶}ÀY¡C
§ó¸Ô²Óªº»¡¡A²Ä¤@¦¸ DL ¬° 0¡A´N¦L¥X ASCII ½X¬O 0 ªº¦r¤¸¡A³o¬O¤@ӪŦr¤¸ ( null )¡AµM«áµ{¦¡°õ¦æ¨ì
next: mov ah,2 ;08 Loop °j°é¶}©l³B ¢w¢{ int 21h ;09 ¢x
®É¡A¦L¥XªÅ¦r¤¸¡A±µ¤U¨Ó DL ·|¼W¥[¤@¡AµM«á°õ¦æ¨ì LOOP ®É¡ACPU Àˬd CX ¬O§_¬°¹s¡A¦¹¨è¬O²Ä¤@¦¸°õ¦æ¡ACX ¤´¬O 256¡A©Ò¥H CPU ¨Ï CX ´î¤Ö¤@¡A¦A¸õ¨ì next ¼Ð°O³B°õ¦æ¡C³o®É DL ¤w¸g¬O 1 ¤F¡A©ó¬O´N¦L¥X¤@Ó¯ºÁy ( ¦]¬°¯ºÁyªº ASCII ½X§Y¬° 1¡A°Ñ¦Òªþ¿ý¥| )¡A±µµÛ¤S¬O¦A¨Ï DL ¥[¤@¡A°õ¦æ LOOP¡AÀˬd CX ¬O§_¬°¹s¡K¡K¡C³Ì«á¡A¸Û¦p¤p¤ì°¸©Ò»¡ªº¡A1 ¥Nªí¯ºÁy³oÓ¦r¡A65 ¥Nªí¡ua¡v³oÓ¦r¡A0¡ã255 ¦@ 256 ӼƦr¡A¦U¥Nªí¤£¦Pªº¦r¤¸¡C
³Ì«á¡A§A¥i¯à·|¹ï¥»³¹ªºµ{¦¡¤£º¡¡A§Æ±æ¯à¥[¥H§ï¨}¡A³Ì¦n¯à¶¶«K¦L¥X ASCII ½X¤Î¨ä©Ò¥Nªíªº²Å¸¹©Î¤å¦r¡A¤U¤@³¹§ÚÌ´N°Q½×¦p¦ó¦L¥X¼Æ¦r¡C
µù¤@¡G¦]¬°¥u¯à¥Î 0 ©M 1 ªí¥Ü¡A©Ò¥H·í 0000 0001 ¦A¼W¥[¤@®É´Nµo¥Í¶i¦ì¤F¡AÅܦ¨ 0000 0010¡A³o´N¬O¤G¶i¦ì¼Æ¡C´N¦n¹³§ÚÌ©Ò¼ô±xªº¤Q¶i¦ì¤@¼Ë¡A¤Q¶i¦ì¯à¥Î 0¡B1¡B2¡B3¡K¡K8¡B9 µ¥¤QÓªü©Ô§B¼Æ¦rªí¥Ü¡A©Ò¥H·í 9 ¦A¼W¥[¤@µo¥Í¶i¦ì®É¡A´NÅܦ¨ 10¡C
¦P²z¤Q¤»¶i¦ì¥Î¤QÓªü©Ô§B¼Æ¦rªí¥Ü¥~¡AÁ٥ΠA ªí¥Ü 10¡AB ªí¥Ü 11¡AC ªí¥Ü 12 µ¥µ¥¡A¤@ª½¨ì F ªí¥Ü 15¡A·í F ¦A¼W¥[¤@®É´NÅܦ¨ 10¡A¦¹®É¬Oªí¥Ü¤Q¶i¦ìªº 16¡C