΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ¿¼ÊÔÊÔÌâ¼°´ð°¸ ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚÁù ÎÄÕÂ΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ¿¼ÊÔÊÔÌâ¼°´ð°¸¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁf7753370fc4ffe473368ab8b

»òÕß

MOV DX, 889Fh (¿ØÖƼĴæÆ÷µÄ¶Ë¿ÚµØÖ·ÕýÈ·£¬¿ÉµÃ1·Ö) MOV AL, 01110111b (³õʼ»¯¿ØÖƼĴæÆ÷µÄÖµÕýÈ·£¬¿ÉµÃ1·Ö) OUT DX, AL

MOV DX, 889Dh (¼ÆÊýÆ÷1µÄ¶Ë¿ÚµØÖ·ÕýÈ·£¬¿ÉµÃ1·Ö) MOV AX, 2000h

OUT DX, AL ;µÍ8λ (µÍ8λÊý¾ÝÕýÈ·£¬¿ÉµÃ1·Ö) MOV AH, AL

OUT DX, AL ; ¸ß8λ (¸ß8λÊý¾ÝÕýÈ·£¬¿ÉµÃ1·Ö)

3. ÏÂͼÊÇʹÓÃSRAMоƬ£¬ÔÚISA×ÜÏßÉÏÀ©³äÄڴ档ͼÖÐSBHEΪ×ÜÏ߸ß×Ö½ÚÔÊÐíÐźţ¬¸ßÓÐЧ£»SA0~SA23ºÍSD0~SD15·Ö±ðΪϵͳµØÖ·ÏߺÍϵͳÊý¾ÝÏߣ¬Çë»Ø´ðÈçÏÂÎÊÌ⣺£¨±¾Ìâ8·Ö£©

£¨1£©Ð´³öÿƬSRAM µÄ´æ´¢ÈÝÁ¿¡££¨2·Ö£© ´ð£ºÃ¿Æ¬ÈÝÁ¿Îª64KB£¨Bytes£©£¨»ò512kbit£©¡£ £¨2£©Ð´³ö¸÷ƬµÄµØÖ··¶Î§¡££¨2·Ö£©

´ð£ºSRAM0µÄµØַΪ£º0C0000H~0DFFFFHµÄ128KBÖеÄżµØÖ·£¬

SRAM1µÄµØַΪ£º0C0000H~0DFFFFHµÄ128KBÖеÄÆæµØÖ·¡£

£¨3£©¸ÃµØÖ·ÒëÂëµç·ÊÇÈ«ÒëÂëµç·»¹ÊDz¿·ÖÒëÂëµç·£¿£¨1·Ö£©

´ð£ºÎªÈ«ÒëÂëµç·¡£

£¨4£©ËµÃ÷ÐźÅSBHEºÍSA0ÔÚµç·ÖеÄ×÷Ó㨰´Á½ÐźŵÄ

±àÂë˵Ã÷£©¡££¨3·Ö£©

´ð£ºSBHEºÍSA0µÄ×÷ÓÃÊǶÔÁ½¸ö´æ´¢ÌåÈçºÎÑ¡ÔñµÄÐźţ¬±àÂëÈçÏ£º SBHE SA0

1 0 ´æÈ¡16λÊý¾Ý£» 1 1 ´æÈ¡¸ß8λÊý¾Ý£» 0 0 ´æÈ¡µÍ8λÊý¾Ý£» 0 1 ÎÞ²Ù×÷

SA1~SA16µØÖ·ÒëÂëÆ÷SA23SA22SA21SA20SA19SA18SA17A0~A15RDWRSRAM0CEA0~A15RDWRSRAM1CEMEMRMEMWCS1SA0SBHECS2SD0~SD7SD0~SD15SD8~SD15ͼ1. ÔÚISA×ÜÏßÉÏÀ©³ä´æ´¢Æ÷

4. £¨10·Ö£©Ä³ÈËÉè¼Æ³öÒ»¶¨Ê±µç·¡£¸Ãµç·ÿ¸ô1Ãëͨ¹ý8259Ïò8088ÇëÇóÒ»´ÎÖжϣ¬ÏàÓ¦µÄÖжϷþÎñ³ÌÐò(ÃûΪINTPR)Ö»Íê³É¶ÔÖжϵĴÎÊý½øÐÐͳ¼Æ¡£´ËÈËÒѱàдºÃÁËÃûΪINCINITµÄÓÃÓÚÌîдÏà

Ó¦ÖжÏÏòÁ¿¼°Ïà¹Ø8259³õʼ»¯²Ù×÷µÄ×Ó³ÌÐò¡£ÊÔ±àд³ÌÐò£¨°üÀ¨ÖжϷþÎñ³ÌÐò£©£¬ÓÃDOS 2ºÅ¹¦ÄÜÏÔʾϵͳʱ¼ä£¨Ö»ÐèÏÔʾÿСʱÄÚÃëµÄ±ä»¯Çé¿ö£©¡£Éè8259ÖжϽáÊøÓÉÈçÏÂÁ½ÌõÖ¸ÁîÍê³É£ºMOV AL,20H£¬OUT 20H,AL¡£ÒªÇóд³öÍêÕûµÄÊý¾Ý¶ÎÓë´úÂë¶Î¡£

* ×¢£º DOS 2ºÅ¹¦ÄÜ - Èë¿Ú£ºAHÖÃ2£¬DL = ´ýÏÔʾ×Ö·ûµÄASCIIÂë¡£

DATA SEGMENT INCNUM DB 0

LTVAL DB 2 £»Ç°´ÎÔÚÆÁÄ»ÉÏÏÔʾµÄÊý DATA ENDS

CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA £»ÖжϷþÎñ³ÌÐò

INTPR: PUSH AX ; ±£»¤ÏÖ³¡ PUSH DS

MOV AX, DATA

MOV DS, AX STI £»¿ªÖÐ¶Ï INC INCNUM ; ¼Ó1

MOV AL, 20H £»·¢EOIÃüÁî OUT 20H, AL POP DS POP AX ; »Ö¸´ÏÖ³¡ IRET £»Ö÷³ÌÐò

START: MOV AX, DATA

MOV DS, AX

CALL INCINIT £»ÓëÖжÏÏà¹ØµÄ³õʼ»¯

STI

£»¿ªÖжÏ

LOOP1: CLI £»¼ì²éÊýÊÇ·ñÒÑ´ï60£¬×¢ÒâÊý¾ÝÍêÕûÐÔ

·ÖÖÓ

LT60: λÊý

MOV AL, INCNUM CMP AL, 60

JC LT60

SUB AL, 60 £»ÉèÏÔʾËÙ¶È×ã¹»¿ì£¬ÖͺóСÓÚ1MOV INCNUM, AL STI

CMP AL, LTVAL

JZ LOOP1 £»¸ÃÊýÒÑÔÚÆÁÄ»ÉÏÏÔʾÁË

MOV LTVAL, AL

MOV AH, 0 MOV BL, 10 DIV BL MOV BX, AX

£»BHº¬ÃëµÄ¸öλÊý£¬BLº¬ÃëµÄÊ®MOV DL, ¡® ¡¯ £»ÎªÇø·ÖÇ°Ò»¸öÏÔʾ£¬ÏÈÏÔʾ¿Õ¸ñ MOV AH, 2 INT 21H MOV DL, BL

£»ÏÔʾÃëÖµ

MOV AH, 2 INT 21H MOV DL, BH MOV AH, 2 INT 21H JMP LOOP1