Öµ£¬×¢Òâ¹Û²ì¿´ÊÇ·ñ·ûºÏÔ¤ÆÚ¡£Èçͼ4-9Ëùʾ
ͼ4-9 µ¥²½Ö´ÐÐ
ͼ4-10 ²é¿´Êý¾Ý
ͨ¹ý²é¿´Êý¾Ý´°¿ÚÁ˽â³ÌÐòÖ´ÐÐÇé¿ö£¬»ñÖª³ÌÐòÖ´Ðнá¹û¡£Èçͼ4-10¡¢Í¼4-11Ëùʾ¡£
ͼ4-11 DSÊý¾Ý´°¿Ú
ËÄ¡¢ÊµÑ鱨¸æ
»ã±à,Á¬½Ó¼°µ÷ÊÔʱ²úÉúµÄ´íÎó,ÆäÔÒò¼°½â¾ö°ì·¨¡£
Àý³Ì
DATA SEGMENT MESSAGE DB 0DH,0AH
DB 'THIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAY',0DH,0AH DB 'PLEASE STRIKE THE KEY!',0DH,0AH,'$' DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DW 50 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MAS: MOV DX,OFFSET MESSAGE
MOV AH,9 INT 21H
AGAIN: MOV AH,1
INT 21H CMP AL,1BH JE EXIT £»ESC ³ÌÐò½áÊø CMP AL,61H JC ND CMP AL,7AH JC ND1 JMP MAS
ND: ADD AL,20H ND1: MOV DL,AL
MOV AH,2 INT 21H JMP AGAIN
EXIT: CODE
MOV INT ENDS END
AH,4CH 21H START
ʵÑé2 BCDµ½ASCIIÂëת»»
Ò»¡¢ÊµÑéÄ¿µÄ
1. Á˽âBCDÖµºÍASCIIÖµµÄÇø±ð 2. Á˽âÈçºÎ½«BCDֵת»»³ÉASCIIÖµ
3. Á˽âÈçºÎ²é±í½øÐÐÊýֵת»»¼°¿ìËÙ¼ÆËã¡£
¶þ¡¢ÊµÑéÄÚÈÝ
¸ø³öÒ»¸öBCDÊý£¬½«Æäת»»³ÉASCIIÖµ¡£
Èý¡¢ÊµÑé²½Öè £¨ÓëʵÑé1Ïàͬ£© Àý³Ì
¸ø³öҪת»»ÊýBCDÂë È¡³öBCDÂë¸ßËÄλ
²é±íµÃµ½ASCIIÂë
±£´æ¸ßλASCIIÂë È¡³öBCDÂëµÍËÄλ ²é±íµÃµ½ASCIIÂë
±£´æµÍλASCIIÂë
½áÊø
DATA SEGMENT RESULT DB 2 DUP(?) ASCIITAB:
DB \ ; ¶¨ÒåÊý×Ö¶ÔÓ¦µÄASCII±í DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA START PROC NEAR MOV AX, DATA MOV DS, AX MOV AX, 1AH MOV BL, AL SHR BL, 4 MOV BH, 0
MOV AH, BYTE PTR ASCIITAB[BX] MOV RESULT, AH AND AL, 0FH MOV BL,AL
MOV AH, BYTE PTR ASCIITAB[BX] MOV RESULT+1,AH JMP $ CODE ENDS END START
ʵÑé4 Á½¸ö¶àλʮ½øÖÆÊýÏà¼õ
Ò»¡¢ÊµÑéÄ¿µÄ
1¡¢ ѧϰÊý¾Ý´«ËͺÍËãÊõÔËËãÖ¸ÁîµÄÓ÷¨¡£
2¡¢ ÊìϤÔÚPC»úÉϽ¨Á¢¡¢»ã±à¡¢Á´½Ó¡¢µ÷ÊÔºÍÔËÐлã±àÓïÑÔ³ÌÐòµÄ¹ý³Ì¡£
¶þ¡¢ÊµÑéÄÚÈÝ
½«Á½¸ö¶àλʮ½øÖÆÊýÏà¼õ£¬ÒªÇó±»¼õÊý¡¢¼õÊý¾ùÒÔASCIIÂëÐÎʽ˳Ðò´æ·ÅÔÚÒÔDATAIºÍDATA2ΪÊ×µÄ5¸öÄÚ´æµ¥ÔªÖУ¨µÍλÔÚǰ£©£¬½á¹ûËÍDATA1´¦¡£
Èý¡¢ÊµÑé²½Ö裨ÓëʵÑé1Ïàͬ £©
Çå³ý×îµÍ½øÎ»Î»
´ø½øÎ»¼õ ½á¹ûËͱ»¼õÊýÇø µ÷ÕûÆ«ÒÆÁ¿
¿ªÊ¼ ÏÔʾ¼õÊýºÍ±»¼õÊý ¼õÊýºÍ±»¼õÊýת»»³ÉÊ®Áù½øÖÆÉèÖüÆÊýÖµ N ¼ÆÊýÖµ£1£½0£¿