ÔÆÌ⺣ - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µ±Ç°Î»ÖãºÊ×Ò³ > ΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ ¹ËêÍ Ï°Ìâ²Î¿¼´ð°¸

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ ¹ËêÍ Ï°Ìâ²Î¿¼´ð°¸

  • 62 ´ÎÔĶÁ
  • 3 ´ÎÏÂÔØ
  • 2025/5/3 3:02:06

MESS2 DB 'LETTER:$' MESS3 DB 'LENGTH:$' DATA ENDS MOV DL,0AH MOV AH,2

INT 21H ;»»ÐÐÏÔʾ MOV AH,9 LEA DX,MESS3 INT 21H 25

23. ´ð£º DATA SEGMENT

STRING DB 'HELL MY MASM!' COUNT=$-STRING DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,0 26 27

µÚ6Õ ϰÌâ´ð°¸

ÂÔ¡£

µÚ7Õ ϰÌâ´ð°¸

1£®°ëµ¼Ìå´æ´¢Æ÷µÄ·ÖÀàÈçÏ£º

2£®Ê²Ã´ÊÇRAMºÍROM?RAMºÍROM¸÷ÓÐÊ²Ã´ÌØµã£¿2·Ö

Ëæ»ú´æÈ¡´æ´¢Æ÷RAM£¬ÓÖ³ÆÎª¶Á/д´æ´¢Æ÷£¬Æäÿ¸ö´æ´¢µ¥ÔªµÄÄÚÈÝ¿ÉÒÔËæÊ±°´ÐèÒª½øÐжÁ/д²Ù×÷¡£RAMÖ÷ÒªÓÃÀ´±£´æ¸÷ÖÖÊäÈë/Êä³öÊý¾Ý¡¢Öмä½á¹û¡¢ÓëÍâ´æ½»»»µÄÐÅÏ¢£¬Ò²¿É×÷¶ÑջʹÓ᣶øROMµÄÄÚÈÝÖ»ÄܶÁ³ö£¬²»ÄÜдÈë»ò¸Äд£¬Ò»°ãÓÃÀ´´æ·Å¹Ì¶¨µÄ³ÌÐòºÍÊý¾Ý¡£

3£®°ëµ¼Ìå´æ´¢Æ÷µÄÖ÷Òª¼¼ÊõÖ¸±ê£º´æ´¢ÈÝÁ¿¡¢¶Á/дËÙ¶È£¨´æÈ¡Ê±¼äºÍ´æ´¢ÖÜÆÚ£©¡¢¿É¿¿ÐÔ¡£ 4£®8086CPUºÍ´æ´¢Æ÷Á¬½ÓʱҪ¿¼ÂÇÄÄЩ·½ÃæµÄÒòËØ£¿£¨2·Ö£©

8086CPUºÍ´æ´¢Æ÷Á¬½ÓʱҪ¿¼ÂÇ£º´æ´¢Ð¾Æ¬Êý£¬AB¡¢DBºÍһЩ¿ØÖÆÐźŵÄÁ¬½Ó£¬Ææ¡¢Å¼Æ¬µÄÉèÖ㬵ØÖ·ÒëÂ뷽ʽµÈ¡£

5£®³£ÓõĴ洢Æ÷µØÖ·ÒëÂ뷽ʽÓÐÄÄЩ£¿£¨2·Ö£©

³£ÓõĴ洢Æ÷µØÖ·ÒëÂ뷽ʽÓУºÈ«µØÖ·ÒëÂë¡¢²¿·ÖµØÖ·ÒëÂë¡¢ÏßÑ¡·¨¡£ 6.ÔÚ8086ϵͳÖУ¬ÈôÓÃ1024*1λµÄRAMоƬ×é³É16K*8λµÄ´æ´¢Æ÷£¬ÐèÒª¶àÉÙоƬ£¿ÏµÍ³µØÖ·

29

×ÜÏßÖÐÓжàÉÙλ²ÎÓëÆ¬ÄÚѰַ£¿¶àÉÙλÓÃ×÷оƬѡÔñÐźţ¿£¨2·Ö£©

ÐèÒª(16k?8)/(1024?1)=128Ƭ£¬CPUµØÖ·ÏßÖÐÆ¬ÄÚѰַ10λ£¬Æ¬Íâ4λ¡£ 7£®

µÚ8Õ ϰÌâ´ð°¸

1£®¼òÊöI/O ½Ó¿ÚµÄ¹¦ÄÜ¡££¨2·Ö£©

I/O ½Ó¿ÚµÄ¹¦ÄÜ£º¶ÔÊäÈë/Êä³öÊý¾Ý½øÐлº³åºÍËø´æ¡¢¶ÔÐźŵÄÐÎʽºÍÊý¾ÝµÄ¸ñʽ½øÐÐ±ä »»¡¢¶ÔI/O ¶Ë¿Ú½øÐÐѰַ¡¢ÌṩÁªÂçÐźŵȡ£

2£®CPUÓëÍâÉèÖ®¼äµÄÊý¾Ý´«Ê䷽ʽÓÐÄÄЩ£¿¼òҪ˵Ã÷¸÷×Եĺ¬Òå¡££¨2·Ö£©

CPUÓëÍâÉèÖ®¼äµÄÊý¾Ý´«Ê䷽ʽÓгÌÐò¿ØÖÆ·½Ê½£¨ÎÞÌõ¼þ´«Ê䷽ʽºÍ³ÌÐò²éѯ·½Ê½£©¡¢ÖжϷ½Ê½¡¢DMA¡¢Í¨µÀ¿ØÖƺÍI/O´¦ÀíÆ÷¡£

ÎÞÌõ¼þ´«Ê䷽ʽ£ºCPU²»ÐèÒªÁ˽âÍâÉè״̬£¬Ö±½ÓÓëÍâÉè´«ÊäÊý¾Ý£¬ÊÊÓÃÓÚ°´Å¥¿ª¹Ø¡¢·¢¹â¶þ¼«¹ÜµÈ¼òµ¥ÍâÉèÓëCPUµÄÊý¾Ý´«Ë͹ý³Ì¡£

³ÌÐò²éѯ·½Ê½£ºCPUÓëÍâÉè´«ÊäÊý¾Ý֮ǰ£¬Ïȼì²éÍâÉè״̬£¬Èç¹ûÍâÉè´¦ÓÚ¡°×¼±¸ºÃ¡±×´Ì¬£¨ÊäÈëÉ豸£©»ò¡°¿ÕÏС±×´Ì¬£¨Êä³öÉ豸£©£¬²Å¿ÉÒÔ´«ÊäÊý¾Ý¡£

ÖжϷ½Ê½£ºÍâÉèÔÚÊý¾Ý×¼±¸ºÃÖ®ºóÔÙ֪ͨCPU£¬ÕâÑù£¬CPUÔÚû½Óµ½ÍâÉè֪ͨǰֻ¹Ü×ö×Ô¼ºµÄÊÂÇ飬ֻÓнӵ½Í¨ÖªÊ±²ÅÖ´ÐÐÓëÍâÉèµÄÊý¾Ý´«Ê乤×÷¡£

DMA£ºÖ±½Ó´æ´¢Æ÷´æÈ¡·½Ê½£¬½«ÍâÉèÓëÄÚ´æ¼ä½¨Á¢ÆðÖ±½ÓµÄͨµÀ£¬CPU²»ÔÙÖ±½Ó²Î¼ÓÍâÉèÓëÄÚ´æ¼äµÄÊý¾Ý´«Ê䣬¶øÊÇÔÚϵͳÐèÒª½øÐÐDMA´«Êäʱ£¬½«CPU¶ÔµØÖ·×ÜÏß¡¢Êý¾Ý×ÜÏß¼°¿ØÖÆ×ÜÏߵĹÜÀíȨ½»ÓÉDMA¿ØÖÆÆ÷½øÐпØÖÆ¡£

ͨµÀ¿ØÖƺÍI/O´¦ÀíÆ÷£ºÖ÷CPUÆô¶¯Í¨µÀ¹¤×÷£¬Í¨µÀ¿ØÖÆÆ÷¼´´ÓÖ÷´æ»òͨµÀ´æ´¢Æ÷ÖÐÈ¡³öÏàÓ¦µÄ³ÌÐò£¬¿ØÖÆÊý¾ÝµÄÊäÈë/Êä³ö¡£

3£®Ê²Ã´ÊǶ˿ڣ¿Í¨³£ÓÐÄļ¸Àà¶Ë¿Ú£¿I/O¶Ë¿ÚµÄѰַ·½Ê½ÓÐÄÄÁ½ÖÖ£¿ÔÚ80X86ϵͳÖУ¬²ÉÓÃÄÄÒ»ÖÖ£¿£¨2·Ö£©

ÿ¸öI/O½Ó¿ÚÄÚ²¿Ò»°ãÓÉ3Àà¼Ä´æÆ÷×é³É£¬CPUÓëÍâÉè½øÐÐÊý¾Ý´«Êäʱ£¬¸÷ÀàÐÅÏ¢ÔÚ½Ó¿ÚÖнøÈ벻ͬµÄ¼Ä´æÆ÷£¬Ò»°ã³ÆÕâЩ¼Ä´æÆ÷ΪI/O¶Ë¿Ú¡£°üÀ¨Êý¾Ý¶Ë¿Ú¡¢×´Ì¬¶Ë¿Ú¡¢¿ØÖƶ˿ڡ£¶Ë¿ÚѰַ·½Ê½Óд洢Æ÷Ó³ÏñµÄI/OѰַ¡¢I/OÓ³ÏñµÄI/OѰַ¡£80X86ϵͳ²ÉÓúóÕß¡£

4£®M/£ºµÍµçƽ£¬ALE£º¸ßµçƽ£¬£ºµÍµçƽ£»ÊäÈëʱDT/ΪµÍµçƽ£¬ÎªµÍµçƽÓÐЧ£»Êä³öʱDT/Ϊ¸ßµçƽ£¬ÎªµÍµçƽÓÐЧ¡£

5£®ÔÚÊäÈë/Êä³öµç·ÖУ¬ÎªÊ²Ã´³£³£ÒªÊ¹ÓÃËø´æÆ÷ºÍ»º³åÆ÷£¿£¨2·Ö£© ÔÚÍâÉè½Ó¿Úµç·ÖУ¬¾­³£ÐèÒª¶Ô´«Êä¹ý³ÌÖеÄÐÅÏ¢½øÐÐËø´æ»ò»º³å£¬ËùÒÔÐèÒªËø´æÆ÷ºÍ»º³åÆ÷¡£ 6£®

DATA SEGMENT AT 2000H ORG 2000H

BUF DB 100 DUP(£¿) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN PROC FAR

START: MOV AX,DATA

30

MOV DS,AX LEA SI,BUF MOV CX,100

INPUT: MOV DX,0FFE2H IN AL,DX ;¶Á״̬¶Ë¿Ú

TEST AL,01H ;²âÊäÈë״̬D0λ JZ INPUT ;δ¡°×¼±¸ºÃ¡±×ªINPUT MOV DX,0FFE0H ;¶ÁÈ¡ÊäÈë×Ö·û IN AL,DX

MOV [SI],AL ;ÊäÈë×Ö·û´æ»º³åÇø INC SI 30

LOOP INPUT

MOV AH,4CH ;·µ»ØDOS INT 21H CODE ENDS END START 7£® LED0 IOW LED1 LED7 OE G Q0

74LS373 D0¡«D7 Q1 Q7

. .

...

Y ¡Ý1 D0¡«D7

CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0

31

PUSH AX

MOV DX,200H ;ÉèI/O ¶Ë¿ÚΪ200H AGAIN: MOV AH,1 ;¶Á¼üÅÌ»º³åÇø×Ö·û INT 16H

CMP AL,1BH ;ÈôΪ¡°Esc¡±¼ü,ÔòÍ˳ö JZ EXIT

MOV AL,0FFH ;µÆÈ«ÁÁ OUT DX,AL ;Êä³ö¿ØÖÆLED

MOV BX,5 ;Ïò×Ó³ÌÐò´«µÝ²ÎÊý,ʵÏÖ50ms ÈíÑÓʱ CALL DELAY ;×Ó³ÌÐòDELAY ʵÏÖ10ms ÑÓʱ NOT AL ;µÆÈ«Ãð

MOV BX,2 ;Ïò×Ó³ÌÐò´«µÝ²ÎÊý,ʵÏÖ20ms ÈíÑÓʱ CALL DELAY JMP AGAIN EXIT: RET MAIN ENDP

DELAY PROC NEAR PUSH CX

WAIT0: MOV CX,2801 WAIT1: LOOP WAIT1 DEC BX JNZ WAIT0 POP CX 31 RET

DELAY ENDP CODE ENDS END START 8£®

CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX

MOV DX,200H ;ÉèI/O¶Ë¿ÚΪ200H MOV CL,01H ;ÉèÖÃÊä³ö³õÖµ

AGAIN: MOV AH,1 ;¶Á¼üÅÌ»º³åÇø×Ö·û INT 16H

CMP AL,1BH ;ÈôΪ¡°Esc¡±¼ü,ÔòÍ˳ö JZ EXIT MOV AL,CL

OUT DX,AL ;Êä³ö¿ØÖÆLED

MOV BX,50 ;Ïò×Ó³ÌÐò´«µÝ²ÎÊý,ʵÏÖ0.5sÈíÑÓʱ

32

  • ÊÕ²Ø
  • Î¥¹æ¾Ù±¨
  • °æÈ¨ÈÏÁì
ÏÂÔØÎĵµ10.00 Ôª ¼ÓÈëVIPÃâ·ÑÏÂÔØ
ÍÆ¼öÏÂÔØ
±¾ÎÄ×÷Õߣº...

¹²·ÖÏí92ƪÏà¹ØÎĵµ

Îĵµ¼ò½é£º

MESS2 DB 'LETTER:$' MESS3 DB 'LENGTH:$' DATA ENDS MOV DL,0AH MOV AH,2 INT 21H ;»»ÐÐÏÔʾ MOV AH,9 LEA DX,MESS3 INT 21H 25 23. ´ð£º DATA SEGMENT STRING DB 'HELL MY MASM!' COUNT=$-STRING DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,0 26 27 µÚ6Õ ϰÌâ´ð°¸ ÂÔ¡£ µÚ7Õ ϰÌâ´ð°¸ 1£®°ëµ¼Ìå´æ´¢Æ÷µÄ·ÖÀàÈçÏ£º 2£®Ê²Ã´ÊÇRAMºÍROM?RAMºÍROM¸÷ÓÐ

¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
µ¥Æª¸¶·ÑÏÂÔØ
ÏÞÊ±ÌØ¼Û£º10 Ôª/·Ý Ô­¼Û:20Ôª
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºfanwen365 QQ£º370150219
Copyright © ÔÆÌ⺣ All Rights Reserved. ËÕICP±¸16052595ºÅ-3 ÍøÕ¾µØÍ¼ ¿Í·þQQ£º370150219 ÓÊÏ䣺370150219@qq.com