8259DMA interrupt

来源:互联网 发布:车牌识别有没有数据库 编辑:程序博客网 时间:2024/06/03 16:30
SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:PUSH DSMOV AX, 0000HMOV DS, AXMOVAX, OFFSET MIR7MOV SI, 003CH;0FHMOV [SI], AXMOV AX, CSMOV SI, 003EHMOV [SI], AXMOV AX, OFFSET MIR6MOV SI, 00001110B*4;0EHMOV [SI], AXMOV AX, CSMOV SI, 00001110B*4+2MOV [SI], AXCLIPOP DS;INIT THE MAINMOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, ALMOV AL, 2FH;00101111BOUT 21H, ALSTIAA1:NOPJMP AA1MIR7:PUSH AXSTIMOV AH, 01HMOV AL, '7'INT 10HMOV AH, 01HMOV AL, ' 'INT 10HMOV AL, 20H;ABLE TO INTERUPTEOUT 20H, ALPOP AXIRETMIR6:PUSH AXSTIMOV AH, 01HMOV AL, '6'INT 10HMOV AH, 01HMOV AL, ' 'INT 10HMOV AL, 20H;ABLE TO INTERUPTEOUT 20H, ALPOP AXIRETCODEENDSEND START



8259主从片中断,i386

SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:PUSH DSMOV AX, 0000HMOV DS, AXMOVAX, OFFSET MIR7MOV SI, 003CHMOV [SI], AXMOV AX, CSMOV SI, 003EHMOV [SI], AXMOV AX, OFFSET SIR1MOV SI, 00C4HMOV [SI], AXMOV AX, CSMOV SI, 00C6HMOV [SI], AXCLIPOP DS;INIT THE MAIN 8259MOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, AL;INIT THE EXTRA 8259MOV AL, 11HOUT 0A0H, ALMOV AL, 30HOUT 0A1H, ALMOV AL, 02HOUT 0A1H, ALMOV AL, 01HOUT 0A1H, ALMOV AL, 0FDHOUT 0A1H, ALMOV AL, 6BHOUT 21H, ALSTIAA1:NOPJMP AA1MIR7:PUSH AXMOV AX, 014DHINT 10HMOV AX, 0137HINT 10HMOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, ALPOP AXIRETSIR1:PUSH AXMOV AX, 0153HINT 10H;SMOV AX, 0131HINT 10H;SHOW THE 1MOV AX, 0120HINT 10HMOV AL, 20HOUT 0A0H, ALOUT 20H, ALPOP AXIRETCODEENDSEND START


0 0