µ±Ç°Î»ÖãºÊ×Ò³ > ΢»úÔÀíÓë½Ó¿Ú¼¼Êõ֪ʶµã×ܽáÕûÀí
AAA AAD DIV AL
½á¹ûAL_________£¬AH=___________,BL=_____________¡£ 2¡¢Ô´³ÌÐòÈçÏ£º
MOV AX£¬ SEG TABLE £»TABLEΪ±íÍ·
MOV ES£¬ AX
MOV DI£¬ OFFSET TABLE MOV AL£¬ ¡®0¡¯ MOV CX£¬ 100 CLD
REPNE SCASB
ÎÊ£º1) ¸Ã¶Î³ÌÐòÍê³Éʲô¹¦ÄÜ£¿
2) ¸Ã¶Î³ÌÐòÖ´ÐÐÍê±ÏÖ®ºó£¬ZFºÍCXÓм¸ÖÖ¿ÉÄܵÄÊýÖµ£¿¸÷´ú±íʲô
º¬Ò壿
3¡¢Ô´³ÌÐòÈçÏ£º
CMP AX£¬ BX JNC L1 JZ L2 JNS L3 JNO L4 JMP L5
ÉèAX=74C3H£¬BX=95C3H£¬Ôò³ÌÐò×îºó½«×ªµ½Äĸö±êºÅ´¦Ö´ÐУ¿ÊÔ˵Ã÷ÀíÓÉ¡£ 4¡¢Ô´³ÌÐòÈçÏ£º
MOV DX£¬ 143H MOV AL£¬ 77H OUT DX£¬ AL MOV AX£¬ 0 DEC DX DEC DX OUT DX£¬ AL MOV AL£¬ AH OUT DX£¬ AL
Éè8253µÄ¶Ë¿ÚµØÖ·Îª140H~143H£¬ÎÊ£º (1)³ÌÐòÊǶÔ8253µÄÄĸöͨµÀ½øÐгõʼ»¯£¿ (2)¸ÃͨµÀµÄ¼ÆÊý³£ÊýΪ¶àÉÙ£¿
(3)Èô¸ÃͨµÀʱÖÓÂö³åCLKµÄÖÜÆÚΪ1¦Ìs£¬ÔòÊä³öÂö³åOUTµÄÖÜÆÚΪ¶àÉÙ¦Ìs£¿
Îå¡¢±à³ÌÌâ
1¡¢8255µÄ±à³Ì¡£Éè8255µÄ¶Ë¿ÚµØÖ·Îª200H~203H¡£
(1)ÒªÇóPA¿Ú·½Ê½1£¬ÊäÈ룻PB¿Ú·½Ê½0Êä³ö£»PC7~PC6ΪÊäÈ룻PC1~PC0ΪÊä³ö¡£ÊÔд³ö8255µÄ³õʼ»¯³ÌÐò¡£
(2)³ÌÐòÒªÇóµ±PC7=0ʱÖÃλPC1£¬¶øµ±PC6=1ʱ¸´Î»PC0£¬ÊÔ±àÖÆÏàÓ¦µÄ³ÌÐò¡£2¡¢×ÔBUFFER¿ªÊ¼µÄ»º³åÇøÓÐ6¸ö×Ö½ÚÐ͵ÄÎÞ·ûºÅÊý£º10£¬0£¬20£¬15£¬38£¬236£¬ÊÔ±àÖÆ8086»ã±àÓïÑÔ³ÌÐò£¬ÒªÇóÕÒ³öËüÃǵÄ×î´óÖµ¡¢×îСֵ¼°Æ½¾ùÖµ£¬·Ö±ðË͵½MAX¡¢MINºÍAVIÈý¸ö×Ö½ÚÐ͵ÄÄÚ´æµ¥Ôª¡£ÒªÇó°´ÍêÕûµÄ»ã±àÓïÑÔ¸ñʽ±àдԴ³ÌÐò¡£
ģʽÊÔÌâÈý²Î¿¼´ð°¸
Ò»¡¢Ìî¿ÕÌâ 1¡¢
0010 0101 BCD
2¡¢148D -20D -108D 3¡¢BX=0000H CF=1 ZF=1 OF=0 SF=0 4¡¢×ÜÏß½Ó¿Ú¹¦ÄÜ Ö¸ÁîµÄÒëÂë¼°Ö´Ðй¦ÄÜ 5¡¢¸ß8λÊý¾ÝÏßD15~D8ÓÐЧ 6¡¢4 T1 ¸øÍⲿµÄµØÖ·Ëø´æÆ÷Ìṩһ¸öµØÖ·Ëø´æÐźŠ7¡¢35H 000D4H~000D7H ¶þ¡¢¼ò´ð¼°ÅжÏÌâ 1¡¢¡ß FFFF0 FF00
1 0FEF0
×ÔÈ»¶ªÊ§
¹ÊÎïÀíµØÖ·Îª0FEF0H¡£ Ö¸Ïò¸ÃÎïÀíµØÖ·µÄCS£¬IPÖµ²»Î¨Ò»¡£ ÀýÈ磺CS£ºIP=0000:FEF0HÒ²Ö¸Ïò¸ÃÎïÀíµØÖ·¡£
2¡¢×´Ì¬±êÖ¾±íʾËãÊõÔËËã»òÂß¼ÔËËãÖ´ÐÐÖ®ºó£¬ÔËËã½á¹ûµÄ״̬£¬ÕâÖÖ״̬½«×÷ΪһÖÖÌõ¼þ£¬Ó°ÏìºóÃæµÄ²Ù×÷¡£¿ØÖƱêÖ¾ÊÇÈËΪÉèÖõģ¬Ö¸ÁîϵͳÖÐÓÐרÃŵÄÖ¸ÁîÓÃÓÚ¿ØÖƱêÖ¾µÄÉèÖûòÇå³ý£¬Ã¿¸ö¿ØÖƱêÖ¾¶¼¶ÔÄ³Ò»ÌØ¶¨µÄ¹¦ÄÜÆð¿ØÖÆ×÷Óá£
3¡¢Ã¿Ö¡Õ¼1711=10룬²¨ÌØÂÊΪ4800 bit/s,¹Êÿ·ÖÖÓÄÜ´«Ë͵Ä×î´ó×Ö
480060 ·ûÊýΪ 28800¸ö 28800(¸ö) 10
Èý¡¢¶ÁͼºÍ×÷ͼÌâ
1¡¢ (1) A7 A6 A5 A4 A3 A2 A1 A0
0 Y0 1 0 0 0 ÈÎÒâ
1 0 0 1 ÈÎÒâ 0 Y1 1 0 1 0 ÈÎÒâ 0 Y2 0 Y3 1 0 1 1 ÈÎÒâ
8255µÄ¶Ë¿ÚµØÖ·Îª 80H£¬ 82H£¬ 84H£¬ 86H 8253µÄ¶Ë¿ÚµØÖ·Îª 90H£¬ 92H£¬ 94H£¬ 96H
8259µÄ¶Ë¿ÚµØÖ·Îª A0H£¬ A2H£¬ 8251µÄ¶Ë¿ÚµØÖ·Îª B0H£¬ B2H£¬
(2) OUT 80H£¬ AL IN AL£¬ 82H
2¡¢ (1) ¿ØÖÆÏßÁ¬½ÓͼÈçͼËùʾ¡£
(2) ͨµÀ0¹¤×÷ÔÚ·½Ê½2¡ª·ÖƵ·¢ÉúÆ÷£»
ͨµÀ1¹¤×÷ÔÚ·½Ê½3¡ª·½²¨ËÙÂÊ·¢ÉúÆ÷
ËÄ¡¢³ÌÐòÔĶÁÌâ
1¡¢AL=01H AH=00 H BL=08H
2¡¢(1) ´ÓÄ¿µÄ´®ÖвéÕÒÊÇ·ñ°üº¬×Ö·û ¡®0¡¯£¬ÈôÕÒµ½ÔòÍ£Ö¹£¬·ñÔò¼ÌÐøÖØ¸´ËÑË÷¡£
(2) ZF=1, ˵Ã÷ÒÑÕÒµ½×Ö·û ZF=0, ˵Ã÷δÕÒµ½×Ö·û CX¡®0¡¯ 3¡¢ ¡ß 74C3H
95C3H DF00H
ÇÒÓУºCF=1£¬ ZF=0£¬ SF=1£¬ OF=1 ³ÌÐò½«×ªµ½L5±êºÅ´¦Ö´ÐС£
4¡¢ (1) ³ÌÐò¶Ô8253µÄͨµÀ1½øÐгõʼ»¯¡£ (2)¼ÆÊý³£ÊýΪ10000D£¬BCD¼ÆÊý¡£
(3)¹¤×÷ÔÚ·½Ê½3£¬·½²¨ËÙÂÊ·¢ÉúÆ÷ ÖÜÆÚ=10000
1¦Ìs=10000¦ÌS=10ms
0£¬ËµÃ÷ÖÐ;ÒÑÕÒµ½×Ö·ûÍ˳ö CX=0£¬ÇÒZF=0˵Ã÷´®ÖÐÎÞ×Ö·û
Îå¡¢±à³ÌÌâ
1¡¢(1) MOV DX, 203H MOV AL, B OUT DX, AL (2) MOV DX, 202H IN AL, DX MOV AH, AL TEST AL, 80H
JNZ NEXT1
MOV DX, 203H
MOV AL, 00000011B £»¶ÔPC1ÖÃλ
OUT DX£¬ AL (2·Ö) NEXT1£º MOV AL£¬ AH TEST AL£¬ 40H JZ NEXT2
MOV AL£¬ 00000000B £» ¶ÔPC0¸´Î» MOV DX£¬ 203H OUT DX£¬ AL
NEXT2£º¡¡¡ (3·Ö) 2¡¢ DATA SEGMENT
BUFER DB 10£¬0£¬20£¬15£¬38£¬236 MAX DB 0 MIN DB 0
AVI DB 0
DATA ENDS (2·Ö)
STACK SEGMENT PARA STACK¡®STACK¡¯ DW 100 DUP (?) STACK ENDS CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA£¬SS£ºSTACK (1·Ö)
START PROC FAR
BEGIN£º PUSH DS MOV AX£¬0 PUSH AX
MOV AX£¬DATA MOV DS£¬AX
LEA DI£¬BUFFER
MOV DX£¬0 £»Ê¹DH=0£¬DL=0 MOV CX£¬6
MOV AX£¬0 £» ºÍÇå0 MOV BH£¬0 £» ×î´óÖµ
MOV BL£¬0FFH ; ×îСֵ (2·Ö) LOP1: CMP BH£¬[DI]
JA NEXT1 £» Èô¸ßÓÚ×ªÒÆ MOV BH£¬[DI]£» ´óÖµBH NEXT1: CMP BL£¬[DI] ;
JB NEXT2 £» ÈôµÍÓÚ×ªÒÆ
¹²·ÖÏí92ƪÏà¹ØÎĵµ