ÔËÐгÌÐò£¬µ±Óöµ½¶Ïµãʱ³ÌÐò»áÍ£ÏÂÀ´£¬È»ºó¹Û²ìÊý¾Ý¡£¿ÉÒÔʹÓÃE0000:3000 À´¸Ä±ä¸ÃµØÖ·µ¥ÔªµÄÊý¾Ý£¬Èçͼ1-1-10 Ëùʾ£¬ÊäÈë11 ºó£¬°´¡°¿Õ¸ñ¡±¼ü£¬¿ÉÒÔ½Ó×ÅÊäÈëµÚ¶þ¸öÊý£¬Èç22£¬½áÊøÊäÈë°´¡°»Ø³µ¡±¼ü¡£
ͼ1-1-9 ¶ÏµãÉèÖÃÏÔʾ ͼ1-1-10 ÐÞ¸ÄÄÚ´æµ¥ÔªÊý¾ÝÏÔʾ½çÃæ
ʵÑéÀý³ÌÎļþÃûΪWmd861.asm¡£
1.1.5 ²Ù×÷Á·Ï°
±àд³ÌÐò£¬½«ÄÚ´æ3500H µ¥Ôª¿ªÊ¼µÄ8 ¸öÊý¾Ý¸´ÖƵ½3600H µ¥Ôª¿ªÊ¼µÄÊý¾ÝÇøÖС£Í¨¹ýµ÷ÊÔÑéÖ¤³ÌÐò¹¦ÄÜ£¬Ê¹ÓÃEÃüÁîÐÞ¸Ä3500Hµ¥Ôª¿ªÊ¼µÄÊý¾Ý£¬ÔËÐгÌÐòºóʹÓÃDÃüÁî²é¿´3600Hµ¥Ôª¿ªÊ¼µÄÊý¾Ý¡£
1.2 ÊýÖÆ×ª»»ÊµÑé
1.2.1 ʵÑéÄ¿µÄ
1. ÕÆÎÕ²»Í¬½øÖÆÊý¼°±àÂëÏ໥ת»»µÄ³ÌÐòÉè¼Æ·½·¨£¬¼ÓÉî¶ÔÊýÖÆ×ª»»µÄÀí½â£» 2. ÊìϤ³ÌÐòµ÷ÊԵķ½·¨¡£
1.2.2 ʵÑéÉ豸
PC»úһ̨£¬TD-PITE ʵÑé×°ÖÃÒ»Ìס£
1.2.3 ʵÑéÄÚÈݼ°²½Öè
¼ÆËã»úÊäÈëÉ豸ÊäÈëµÄÐÅÏ¢Ò»°ãÊÇÓÉASCII Âë»òBCD Âë±íʾµÄÊý¾Ý»ò×Ö·û£¬CPU Ò»°ã¾ùÓöþ½øÖÆÊý½øÐмÆËã»òÆäËüÐÅÏ¢´¦Àí£¬´¦Àí½á¹ûµÄÊä³öÓÖ±ØÐëÒÀÕÕÍâÉèµÄÒªÇó±äΪASCIIÂë¡¢BCD Âë»òÆß¶ÎÏÔʾÂëµÈ¡£Òò´Ë£¬ÔÚÓ¦ÓÃÈí¼þÖУ¬¸÷ÀàÊýÖÆµÄת»»ÊDZز»¿ÉÉٵġ£
¼ÆËã»úÓëÍâÉè¼äµÄÊýÖÆ×ª»»¹ØÏµÈçͼ1-2-1Ëùʾ£¬ÊýÖÆ¶ÔÓ¦¹ØÏµÈç±í1-2-1Ëùʾ
ͼ1-2-1 ÊýÖÆ×ª»»¹ØÏµ
±í1-2-1 ÊýÖÆ¶ÔÓ¦¹ØÏµ±í
Ðø±í1-2-1
1. ½«ASCIIÂë±íʾµÄÊ®½øÖÆÊýת»»Îª¶þ½øÖÆÊý Ê®½øÖƱíʾΪ£º
£¨£©
Di´ú±íÊ®½øÖÆÊý0£¬1£¬2£¬?£¬9£» ÉÏʽת»»Îª£º
£¨2£©
ÓÉʽ£¨2£©¿É¹éÄÉÊ®½øÖÆÊýת»»Îª¶þ½øÖÆÊýµÄ·½·¨£º´ÓÊ®½øÖÆÊýµÄ×î¸ßλDn ¿ªÊ¼×÷³Ë10¼Ó´ÎλµÄ²Ù×÷£¬ÒÀ´ÎÀàÍÆ£¬Ôò¿ÉÇó³ö¶þ½øÖÆÊýµÄ½á¹û¡£³ÌÐòÁ÷³ÌͼÈçͼ1-2-2 Ëùʾ¡£ÊµÑé²Î¿¼³ÌÐòÈçÏ¡£
ʵÑé³ÌÐòÇåµ¥£¨Àý³ÌÎļþÃû£ºA2-1.ASM£©
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS DATA SEGMENT
SADD DB 30H,30H,32H,35H,36H ;Ê®½øÖÆÊý:00256 DATA ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV AX, OFFSET SADD MOV SI, AX MOV BX, 000AH MOV CX, 0004H MOV AH, 00H MOV AL, [SI] SUB AL, 30H
A1: IMUL BX
MOV DX, [SI+01] AND DX, 00FFH ADC AX, DX SUB AL, 30H INC SI LOOP A1
A2: JMP A2 CODE ENDS
END START
ͼ1-2-2 ת»»³ÌÐòÁ÷³Ìͼ
ʵÑé²½Öè
£¨1£©»æÖƳÌÐòÁ÷³Ìͼ£¬±àдʵÑé³ÌÐò£¬¾±àÒë¡¢Á´½ÓÎÞÎóºó×°Èëϵͳ£»
£¨2£©´ýת»»Êý¾Ý´æ·ÅÓÚÊý¾Ý¶Î£¬¸ù¾Ý×Ô¼ºÒªÇóÊäÈ룬ĬÈÏΪ30H£¬30H£¬32H£¬35H£¬36H£» £¨3£©ÔËÐгÌÐò£¬È»ºóÍ£Ö¹³ÌÐò£»
£¨4£©²é¿´AX ¼Ä´æÆ÷£¬¼´Îª×ª»»½á¹û£¬Ó¦Îª£º0100 £» £¨5£©·´¸´ÊÔ¼¸×éÊý¾Ý£¬ÑéÖ¤³ÌÐòµÄÕýÈ·ÐÔ¡£
2. ½«Ê®½øÖÆÊýµÄASCIIÂëת»»ÎªBCD Âë
´Ó¼üÅÌÊäÈëÎåλʮ½øÖÆÊýµÄASCIIÂ룬´æ·ÅÓÚ3500HÆðʼµÄÄÚ´æµ¥ÔªÖУ¬½«Æäת»»ÎªBCD Âëºó£¬ÔÙ°´Î»·Ö±ð´æÈë350AH ÆðʼµÄÄÚ´æµ¥ÔªÄÚ¡£ÈôÊäÈëµÄ²»ÊÇÊ®½øÖƵÄASCIIÂ룬Ôò¶ÔÓ¦´æ·Å½á¹ûµÄµ¥ÔªÄÚÈÝΪ¡°FF¡±¡£Óɱí1-2-1¿ÉÖª£¬Ò»×Ö½ÚASCIIÂëÈ¡ÆäµÍËÄλ¼´±äΪBCD Âë¡£ ʵÑé³ÌÐòÇåµ¥£¨Àý³ÌÎļþÃû£ºA2-2.ASM£©
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS CODE SEGMENT
ASSUME CS:CODE
START: MOV CX, 0005H ;ת»»Î»Êý
MOV DI, 3500H ;ASCIIÂëÊ×µØÖ·
A1: MOV BL, 0FFH ;½«´íÎó±êÖ¾´æÈëBL
MOV AL, [DI] CMP AL, 3AH