΢»úÔ­ÀíϰÌâÓëʵÑé-F ÏÂÔØ±¾ÎÄ

Öµ£¬×¢Òâ¹Û²ì¿´ÊÇ·ñ·ûºÏÔ¤ÆÚ¡£Èçͼ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£¿