µ¥Æ¬Î¢ÐͼÆËã»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ ó{·æ°æ ¿Îºó´ð°¸µÚ4Õ ÏÂÔØ±¾ÎÄ

.רҵÕûÀí.

INC DPTR

TABLE£º JMP@A+DPTR £»¶à·ÖÖ§×ªÒÆ

JPTAB£ºLTMP LOOPl £»³¤×ªÒÆÖ¸ÁîΪ3¸ö×Ö½Ú LJMP LOOP2

×¢Ò⣺³¤×ªÒÆÖ¸ÁîΪ3×Ö½Ú£¬Òò´Ë£¬AÖÐÄÚÈÝÓ¦³ËÒÔ3¡£Èô´óÓÚÒ»¸ö×Ö½Ú£¬ÔòDPHÒª¼Ó1¡£

·ÖÖ§³ÌÐòÁ÷³ÌͼÈçͼ4-2Ëùʾ¡£

¡¾4-9¡¿Ñ­»·½á¹¹³ÌÐòÓкÎÌØµã?80C51µÄÑ­»·×ªÒÆÖ¸ÁîÓÐÊ²Ã´ÌØµã?ºÎνѭ»·Ç¶Ì×?±à³ÌʱӦעÒâʲô?

¡¾´ð¡¿Ñ­»·ÊÇÇ¿ÖÆCPUÖØ¸´¶à´ÎµØÖ´ÐÐÒ»´®Ö¸ÁîµÄ»ù±¾³ÌÐò½á¹¹¡£´Ó±¾ÖÊÉÏ¿´£¬Ñ­»·³ÌÐò½á¹¹Ö»ÊÇ·ÖÖ§³ÌÐòÖеÄÒ»¸öÌØÊâÐÎʽ¡£Ñ­»·³ÌÐòÓÉ4¸ö²¿·Ö¹¹³É£¬¼´Ñ­»·³õʼ»¯¡¢Ñ­»·Ì塢ѭ»·¿ØÖƺͽáÊø²¿·Ö¡£

Ñ­»·´ÎÊýÒÑÖªÇé¿öÏ£¬²ÉÓüÆÊýÑ­»·³ÌÐò£¬ÆäÌØµãÊDZØÐëÔÚ³õʼ»¯²¿·ÖÉ趨¼ÆÊýµÄ³õÖµ£¬Ñ­»·¿ØÖƲ¿·ÖÒÀ¾Ý¼ÆÊýÆ÷µÄÖµ¾ö¶¨Ñ­»·´ÎÊý¡£ ¸ù¾Ý¿ØÖÆÑ­»·½áÊøµÄÌõ¼þ£¬¾ö¶¨ÊÇ·ñ¼ÌÐøÑ­»·³ÌÐòµÄÖ´ÐС£ËùνµÄ½áÊøÌõ¼þ¿ÉÒÔÊÇËÑË÷ µ½Ä³¸ö¹Ø¼ü×Ö(±ÈÈç»Ø³µ·ûCR)£¬Ò²¿ÉÒÔÊÇ·¢ÉúµÄijÖֱ仯(Èç¹ÊÕÏÒýÆðµç·µçƽ±ä»¯)µÈ£¬Ê² ôʱºò½áÊøÑ­»·ÊDz»¿ÉÔ¤ÖªµÄ¡£

80C5 1ÉèÓй¦ÄÜÇ¿µÄÑ­»·×ªÒÆÖ¸Á

DJNZ Rn£¬rel£® £® £»ÒÔ¹¤×÷¼Ä´æÆ÷×÷Ϊ¿ØÖƼÆÊýÆ÷ DJNZ direct£¬rel£® £»ÒÔÖ±½ÓѰַµ¥Ôª×÷Ϊ¿ØÖƼÆÊýÆ÷ CJNE A£¬direct£¬rel £»±È½Ï²»ÏàµÈ×ªÒÆ

Õ⼸Ìõ»ù±¾Ö¸Áî¿ÉÅÉÉú³öºÜ¶àÌõ²»Í¬¿ØÖƼÆÊýÆ÷µÄÑ­»·×ªÒÆÖ¸Á´ó´óÀ©³äÁËÓ¦Ó÷¶Î§ ºÍ¶àÖØÑ­»·²ã´Î¡£

Ñ­»·Ç¶Ì×¾ÍÊÇÔÚÑ­»·ÄÚÌ×ÓÃÑ­»·µÄ½á¹¹ÐÎʽ£¬Ò²³Æ¡°¶àÖØÑ­»·¡±¡£ Ñ­»·µÄÖ´Ðйý³ÌÊÇ´ÓÄÚÏòÍâÖð²ãÕ¹¿ªµÄ¡£ÄÚ²ãÖ´ÐÐÍêÈ«²¿Ñ­»·ºó£¬Íâ²ãÔòÍê³ÉÒ»´ÎÑ­»·£¬ Öð´ÎÀàÍÆ¡£²ã´Î±ØÐë·ÖÃ÷£¬²ã´ÎÖ®¼ä²»ÄÜÓн»²æ£¬·ñÔò½«²úÉú´íÎó¡£

±à³ÌʱҪעÒâÑ­»·µÄÕýÈ·Í˳ö£¬Òª·ÀÖ¹³öÏÖ¡°ËÀÑ­»·¡±¡£ ¡¾4-10¡¿Ê²Ã´ÊÇ×Ó³ÌÐò?ËüµÄ½á¹¹ÌصãÊÇʲô?ʲôÊÇ×Ó³ÌÐòǶÌ×? ¡¾´ð¡¿ÔÚ±àÖÆÓ¦ÓóÌÐòʱ£¬ÍùÍù½«ÐèÒª¶à´ÎÓ¦Óõ«Íê³ÉµÄÔËËã»ò²Ù×÷ÏàͬµÄ³ÌÐò¶Î£¬±àÖÆ ³ÉÒ»¸ö×Ó³ÌÐò£¬²¢¾¡Á¿Ê¹Æä±ê×¼»¯£¬´æ·ÅÓÚij´æ´¢ÇøÓò¡£µ÷ÓÃ×Ó³ÌÐòµÄ³ÌÐò³ÆÎª¡°Ö÷³ÌÐò¡±»ò ¡°µ÷ÓóÌÐò¡±¡£

×Ó³ÌÐòÊÇÓÉרÃŵÄ×Ó³ÌÐòµ÷ÓÃÖ¸ÁîCALLµ÷Ó㬶øÒÔ×Ó³ÌÐò·µ»ØÖ¸ÁîRET½áÊøµÄ³ÌÐò ¶Î¡£×Ó³ÌÐòµÄµÚÒ»ÌõÖ¸ÁîµØÖ·£¬Í¨³£³ÆÎª¡°×Ó³ÌÐòÊ×µØÖ·¡±»ò¡°È˿ڵØÖ·¡±£¬ÍùÍù²ÉÓñêºÅ(¿ÉÓÃÖú¼Ç·û)¼ÓÒÔ±íʾ£¬µ÷ÓÃ(ת×Ó)Ö¸ÁîµÄÏÂÒ»ÌõÖ¸ÁîµØÖ·£¬Í¨³£³ÆÎª¡°·µ»ØµØÖ·¡±»ò¡°¶Ï

.ѧϰ°ïÊÖ.

.רҵÕûÀí.

µã¡±¡£

ÔÚ×Ó³ÌÐòÖе÷ÓÃ×Ó³ÌÐòµÄÏÖÏóͨ³£³ÆÎª×Ó³ÌÐòǶÌס£ ¡¾4-11¡¿ÊÖ¹¤»ã±àÏÂÁгÌÐò£º KEY EQU 2 0H ORG 2000H

MOV RO£¬#30H £»Êý¾ÝÇøÊ×Ö· MOV Rl£¬#1 6 £»Êý¾ÝÇø³¤¶È

MOV 20H£¬#KEY £»¹Ø¼ü×ÖËÍ20Hµ¥Ôª CLR F0 £»ÇåÓû§±ê־λ MOV 21H£¬#0l £»ÐòºÅÖÃl LP£º MOV A£¬@R0 £»È¡Êý CJNE A£¬20H£¬LP1£®

SJMP HERE £»ÕÒµ½¹Ø¼ü×Ö£¬½áÊø£® LPI£º INC 21H £»ÐòºÅ¼Ó1

INC R0 £»Êý¾ÝÇøµØÖ·Ö¸Õë¼Ó1

DJNZ R1£¬LP £»¼ÌÐø

SETB F0 £»Î´ËÑË÷µ½¹Ø¼ü×Ö£¬ÔòÖÃλÓû§±êÖ¾ HERE£ºSJMP HERE

¡¾´ð¡¿¸ù¾ÝÖ¸Áî²éÖ¸Áî±íµÃµ½»úÆ÷Â룬ÊÖ¹¤»ã±à½á¹ûÈçÏ£º KEY EQU 20H ORG 2000H

2000 7830 MOV R0£¬#30H £»Êý¾ÝÇøÊ×Ö· 2002 7910 MOV R1£¬#1 6 £»Êý¾ÝÇø³¤¶È

2004 752020 MOV 20H£¬#KEY £»¹Ø¼ü×ÖËÍ20Hµ¥Ôª 2007 C2D5 CLR F0 £»ÇåÓû§±ê־λ 2009 752101 MOV 21H£¬#01 £»ÐòºÅÖÃ1 200C E6 LP£º MOV A£¬@R0 £»È¡Êý 200D B52002 CJNE A£¬20H£¬LPI

2010 8007 SJMP HERE £»ÕÒµ½¹Ø¼ü×Ö£¬½áÊø 2012 0521 LPI£ºINC 21H £»ÐòºÅ¼Ó1

2014 08 INC R0 £»Êý¾ÝÇøµØÖ·Ö¸Õë¼Ó1 2015 D9F5 DJNZ R1£¬LP £»¼ÌÐø

2017 D2D5 SETB F0 £»Î´ËÑË÷µ½¹Ø¼ü×Ö£¬ÔòÖÃλÓû§±êÖ¾ 2019 80FE HERE£ºSJMP HERE ¡¾4-12]°Ñ³¤¶ÈΪ10 HµÄ×Ö·û´®´ÓÄÚ²¿RAMµÄÊäÈ뻺³åÇøINBUFÏòÉèÔÚÍⲿRAMµÄÊä³ö»º³åÇøOUTBUF½øÐд«ËÍ£¬Ò»Ö±½øÐе½Óö¼û×Ö·û¡°CR\ʱֹͣ¡£Èô×Ö·û´®ÖÐÎÞ×Ö·û¡°CR¡±£¬ÔòÕû¸ö×Ö·û´®È«²¿´«ËÍ¡£¼ÓÉϱØÒªµÄαָÁ²¢¶ÔÔ´³ÌÐò¼ÓÒÔ×¢ÊÍ¡£ ¡¾´ð¡¿³ÌÐòÈçÏ£º ORG 0000H AJMP MAIN ORG 0030H

MAIN£º MOV R7£¬#10H £»Êý¾Ý³¤¶È MOV R0£¬#INBUF £»Ô´Êý¾ÝÊ×µØÖ· MOV DPTR£¬#OUTBUF £»Ä¿µÄÊý¾ÝÊ×µØÖ·

.ѧϰ°ïÊÖ.

.רҵÕûÀí.

LOOP£º MOV A£¬@R0 £»°ÑÔ´Êý¾ÝµÄÖµ¸³¸øA

CJNE A£¬#0DH£¬LOOPl £»ÅжÏÊÇ·ñΪ¡°CR¡±(ASCIIÂëֵΪ0DH)

SJMP ENDl £»ÊÇ¡°CR\£¬Ôò½áÊø´«ËÍ

LOOPl£º MOVX @DPTR£¬A £»°ÑAµÄÖµ¸³¸øÄ¿µÄÊý¾Ý INC R0 £»Ô´Êý¾ÝÏÂÒ»¸öµØÖ·Öµ INC DPTR £»Ä¿µÄÊý¾ÝÏÂÒ»¸öµØÖ·Öµ

DJNZ R7£¬L00P £»ÅжÏÊý¾Ý´«ËÍÊÇ·ñÍê±Ï ENDI£º SJMP ENDI END

¡¾4-13¡¿ÄÚ²¿RAM´Ó2OHµ¥Ôª¿ªÊ¼´æ·ÅÒ»¸öÕýÊý±í£¬±íÖÐÖ®ÊýΪÎÞÐòÅÅÁУ¬²¢ÒÔ¡°-1¡±×÷Ϊ½áÊø±êÖ¾¡£±à³ÌʵÏÖÔÚ±íÖÐÕÒ³ö×îСÕýÊý£¬´æÈë10H¡£¼ÓÉϱØÒªµÄαָÁ²¢¶ÔÔ´³ÌÐò¼ÓÒÔ×¢ÊÍ¡£

¡¾´ð¡¿³ÌÐòÈçÏ£º ORG 0000H AJMP MAIN ORG 0030H

MAIN£º MOV R0£¬#20H £»ÕýÊý±íÊ×Ö·

MOV 1 0H£¬#7FH £»³õʼֵÉèΪÕýÊý×î´óÖµ LOOP£º MOV A£¬@R0 CJNE A£¬¡°-1¡¯¡¯£¬CHK £»±È½Ï½áÊø±êÖ¾¡°-1¡± SJMP END1 £»ÊÇ¡°-l\£¬½áÊø±È½Ï

CHK£º CJNE A£¬10H£¬CHKI £»±È½ÏÁ½¸öÊý´óС SJMP LOOP1 £»Á½¸öÊýÏàµÈ£¬²»½»»» CHKI£º JNC LOOP1 £»A½Ï´ó£¬²»½»»» MOV 10H£¬A £»A½ÏС£¬½»»» LOOP1 INC R0 SJMP LOOP ¡®

END1£º SJMP END1 END

ÀýÈ磺ÒÑÖª(20H)=22 H£¬(21H)=23H£¬(22H)=0CH£¬(23H)=20H£¬(24H)=16H£¬ (25H)=-1¡£ Ö´Ðнá¹û£º(10H)=0CH

¡¾4-14¡¿±È½ÏÁ½¸öASCIIÂë×Ö·û´®ÊÇ·ñÏàµÈ¡£×Ö·û´®µÄ³¤¶ÈÔÚÄÚ²¿RAMµÄ2 Hµ¥Ôª£¬µÚÒ»¸ö×Ö·û´®µÄÊ×µØÖ·ÔÚ30HÖУ¬µÚ¶þ¸ö×Ö·û´®µÄÊ×µØÖ·ÔÚ50HÖС£Èç¹ûÁ½¸ö×Ö·û´®ÏàµÈ£¬ÔòÖÃÓû§±êÖ¾FOΪ0£»·ñÔò£¬ÖÃÓû§±êÖ¾FOΪ1¡£¼ÓÉϱØÒªµÄαָÁ²¢¶ÔÔ´³ÌÐò¼ÓÒÔ×¢ÊÍ(ÿ¸öASCIIÂë×Ö·ûΪһ¸ö×Ö½Ú£¬ÈçASCIIÂë¡°A¡±±íʾΪ41H)¡£ LOOPl£º MOVX @DPTR£¬A £»°ÑAµÄÖµ¸³¸øÄ¿µÄÊý¾Ý INC R0 £»Ô´Êý¾ÝÏÂÒ»¸öµØÖ·Öµ INC DPTR £»Ä¿µÄÊý¾ÝÏÂÒ»¸öµØÖ·Öµ

DJNZ R7£¬L00P £»ÅжÏÊý¾Ý´«ËÍÊÇ·ñÍê±Ï ENDI£º SJMP ENDI

END

¡¾´ð¡¿×Ö·û´®ÖÐÿһ¸ö×Ö·û¶¼¿ÉÒÔÓÃÒ»¸öASCIIÂë±íʾ¡£Ö»ÒªÓÐÒ»¸ö×Ö·û²»Ïàͬ£¬¾Í¿ÉÒÔÅжÏ×Ö·û´®²»ÏàµÈ¡£ ORG 0000H ¡¯

.ѧϰ°ïÊÖ.

.רҵÕûÀí.

AJMP MAIN ¡¤ ORG 0030H

MAIN£º MOV R0£¬#30H µÚÒ»¸ö×Ö·û´®µÄÊ×µØÖ· MOV R1£®£¬#5 0H µÚ¶þ¸ö×Ö·û´®µÄÊ×µØÖ·

LOOP£º MOV A£¬@R0 µÚÒ»¸ö×Ö·û´®µÄ×Ö·ûÖµ¸³¸øA MOV B£¬@R1 £»µÚ¶þ¸ö×Ö·û´®µÄ×Ö·ûÖµ¸³¸øB CJNE A£¬B£¬NEXT £»Á½¸ö×Ö·ûÖµ±È½Ï INC R0 ×Ö·ûÖµÏàµÈ£¬Ôò¼ÌÐø±È½Ï INC R1£®

DJNZ 20H£¬LOOP ;ÅжÏ×Ö·û´®ÊÇ·ñ±È½ÏÍê CLR F0 ×Ö·û´®ÏàµÈ£¬ÔòF0λÇå0 SJMP $

NEXT£º SETB F0 ×Ö·û´®²»µÈ£¬ÔòF0λÖÃ1 SJMP $ END

ÀýÈ磺(2OH)=03H£¬(3OH)=41H£¬(31H)=42H£¬(32H)=43H£¬(5OH)=41H£¬(51H)= 42H£¬(52H)=43H¡£Á½¸ö×Ö·û´®¾ùΪ¡°ABC\¡£ Ö´Ðнá¹û£ºF0=0

¡¾4¡ª1 5¡¿ÒÑÖª¾­A£¯Dת»»ºóµÄζÈÖµ´æÔÚ4 0 HÖУ¬É趨ζÈÖµ´æÔÚ4 1 HÖС£ÒªÇó±àд¿ØÖƳÌÐò£¬µ±²âÁ¿µÄζÈÖµ´óÓÚ(É趨ζÈÖµ+2¡æ)ʱ£¬´ÓP 1.0Òý½ÅÉÏÊä³öµÍµçƽ£»µ±²âÁ¿µÄζÈֵСÓÚ(É趨ζÈÖµÒ»2¡æ)ʱ£¬´ÓP 1.0Òý½ÅÉÏÊä³ö¸ßµçƽ£»ÆäËûÇé¿öÏ£¬P 1.0Òý½ÅÊä³öµçƽ²»±ä(¼ÙÉèÔËËãÖÐCÖеıêÖ¾²»»á±»ÖÃ1)¡£¼ÓÉϱØÒªµÄαָÁ²¢¶ÔÔ´³ÌÐò¼ÓÒÔ×¢ÊÍ¡£

¡¾´ð¡¿³ÌÐòÈçÏ£º ORG 0000H AJMP MAIN ORG ¡®0020H MAIN£º £®

MOV B£¬41H £»É趨µÄζÈÖµ MOV A£®B

ADD A£¬#02H

MOV B£¬A £»É趨ζÈÖµ+2¡æ MOV A£¬40H £»²âÁ¿µÄζÈÖµ CLR C SUBB A£¬B JNC LOWER £»²âÁ¿µÄζÈÖµ>(É趨ζÈÖµ+2¡æ)£¬×ªLOWER×Ó³ÌÐò£¬Ê¹P1£®0Òý½ÅÉÏÊä³öµÍµçƽ

MOV B£¬41H £»É趨µÄζÈÖµ MOV A£¬B DEC A

DEC A £®

MOV B£¬A £»É趨ζÈÖµÒ»2¡æ MOV A£¬40H £»²âÁ¿µÄζÈÖµ CLR C

.ѧϰ°ïÊÖ.