版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是冯·
·1945年提出了存储程序的概念和二进制原理,利用这种概念和原理设计的电子计算机系统统称为冯·诺依曼机。早期的冯· I/O之间传送数微型计算机由微处理器、存储器、输入/以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。ALU、累加器和寄存器组、指令指针寄存IP、段寄存器、标志寄存器、时序和控制逻辑部件、内部总线等组成。算术逻辑部件 主要完成算术运算及逻辑运算IP存放要执行的下一条指令的偏移地址,顺序执行指令时,每取一条 标志寄存器flags存放算术与逻辑运算结果的状态。分析,发出相应的控制信号和时序,将控制信号和时序送到微型计算机的相应部件, 答:计算机系统由硬件(Hardware)和软件(Software)制的各种程序,一般称为计算机的软件系统 运算
外部设 输入设
软件系 服务性程答:(1)面向系统的单总线结构(2)CPU的双总线结构8086PentiumII808620220=1MB什么是PCI总线?什么是PCI总线是微处理机机箱内的底板总线即系统总线的一种,是用来连接构成微处理机的PCI全称为PeripheralComponentInterconnect,即外设互连局部总线,是的32/64位标准总线。数据传输速率为 132MB/s,适用于Pentium微型机。
IntelPCIPCIUSB总线,通用串行总线(UniversalSerialBus),属于外部总线的一种,用作微处理机USB1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,不过直到近期,才得到广泛应用,已成为目前电脑USB接口支持设备的即插即用和热插拔功能,具有传输速度快,使用方便,连接灵活,独(1)DB(2)DQ (3)DW(4)DD答:(1)在汇编语言中定义字节数据。在汇编语言中定义4将下列二进制数转换为十进制数。1)1101.01B(2)(3)101011.0101B(4)111.0001B答:(1)13.25 AC.DCH(4)FAB.3H(3)172.859375( 答:(
将下列十进制数转换为8(1)+32 (3)+100 答:(1)[+32]原=[+32]反=[+32补=00100000B(2)[-12]原=10001100B12]反=11110011B12]补(3)[+100]原=[+100]反=[+100](4)[-92]原=11011100B92]反=10100011B92]补BCD码。()102(2)44(3)301答:(1)[102]压缩BCD=00000001[102]BCD=0000000100000000(2)[44][44]非压缩BCD=00000100(3)[301]BCD=00000011[301]BCD=0000001100000000(4)[1000]BCD=00010000[1000]非压缩BCD=000000010000000000000000(1)10000000B(2)00110011B(3)10010010B答:(1)看作原码时真值为-0,看作反码时真值为-127,看作补码时真值为--18-109--9-118-0尾数100000000000000001111111100000000000000(2)-10.625=-1010.101B=-1.01010123127+3=130=10000010B01010100000000011000001001010100000000127+6=133=10000101B100100010000000010000101100100010000000(4)-1200=-10010110000B=-1.0010110000210×,符号 127+10=137=10001001B001011000000000110001001001011000000000(1)010000000110000000000000(2)101111111000000000000000(3)010000000100100000000000答:(1)1.11(2)-1.0×20=-1B=-(3)1.10018086CPU答:8086CPU内部由执行单元EU和总线接口单 BIU组成主要功能为:执行单元EU负责执行指令。它由算术逻辑单元 16位标志寄存器(FLAGS)、EU控制电路等组成。EU在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS中。BIUCPUI/O8086CPU8086CPU416位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存416位通用寄存器AXBXCX、DX,用以存放普通CXDX用于乘除法指令等。指针和变址寄存BPSP、SIDI器CS、DS、SS、ES指令指针寄存器IP标志寄存 用来存放运算结果的特征8086CPU8088CPU8088CPU8086CPU:(1)8088指令队列长度 4个字节,8086是6个字节(2)8088BIU8EU1616位数的存//8086BIUEU内数据总线宽度都是16(3)80888AD7~AD0168808816(4)8088IO/MM/IO(5)80888BHESS0DTRIO/M一起决 SF、ZF、OFAFPFCFIFDFTF,对可屏蔽中断、字符串操作指针变换方向和单步运行起控制物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址, CPU访问存器的实际寻址地址,对 8086系统,地址范围 16位二进制数,程序设计时采用 =段基址×16+偏移地址。 0和1组成的一串代系统总线:微处理机机箱内的底板总线,用来连接构成微处理机的各个插件板, EISAPCI要完成下述运算或控制,用什么标志位判别?其值是什么1)(2) (4)采用偶校验方式,判定是否要补 SF,SF=1OF,OF=1CF,CF=1为溢出PF,PF=1对有符号数:无溢出时(OF=0)ZF=1ZF=0SF=0,则被减数大;如ZF=0且SF=1,则减数大;有溢出时(OF=1),如SF=1,则被减数大;如SF=0ZF=1CF=0CF=1,则减808680861MB的存储空间分成两个存储体:偶地址存储体和512KB。使用
BHE
A0=0时,选中偶地址存储体,与数据总线 当BHE=0时,选中奇地址存储体,与数据总线高 8位相连,从高8位数据总线读/写当A0=0BHE=0时,同时选中两个存储体,读/用伪指令DB在存储器中存储ASCII码字符串“Whattimeisit?”。并画出内存分布图。答:STR DB‘Whattimeisit?,’’$’ ‘‘‘‘t‘t‘i‘‘‘i‘‘i‘t’‘‘16(1)1234H(2)A122H(3)B100H答:NUMDW1234H,A122HB100H (1)1000H(2)1234H(3)2300H(4)E000H(5)AB00H(根据下列CS:IP(1)CS:IP=1000H:2000H(2)CS:IP=2000H:(3)CS:IP=1A00H:B000H(4)CS:IP=3456H:AB09H答:(1)12000H(2)21000H (4)3F069H(1)DS=1000H,DI=2000H(3)DS=A000H,BX=1000H答:(1)12000H 若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈 10个字节,SP内容是什么?若再出栈 6个字节,SP为什么值?答:物理地址:35000H~35800H。入栈10个字节后SP为7F6H。再出 6个字节后1EE5H2A8CHDS=7850H,数据存放的偏移地3121H285AH。试画图说明它们在存储器中的存放情况。若要读取这两个字,需1EE5H=78500H+3121H=7B621H,为奇数,故若要读取这个字,需要2A8CH=78500H+285AH=7AD5AH,为偶数,故若要读取这个字,只MMMM64Kdebugr-AX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC写出状态标志OF、SFZFCF答:(1)31FF0H21F00H说明80868086芯片中设计了两种工作模式,即最小模式和最大最小模式用于单机系统,系统中所需要的控制信号全部 8086直接提供;最大模式于多处理机系统,系统中所需要的控制信号由总线控制 8288提供8086系统中为什么要用地址锁存器?8282地址锁存器与CPU8086CPU的地址引脚和数据引脚分时复用,为了保证在总线操
208282的DI0~DI7分别
8282,其中OE的 相连,第三
CPU8282
ALE与CPUAD16~AD19DI4CPUBHE哪个标志位控制CPUINTRIF,中断允许标志,IF=1时,允许可屏蔽中断,IF=0什么叫总线周期?在CPU/答:CPU完成一次存储器访问 I/O端口操作所需要的时间称为一个总线周期,由几 状态组成。在读/写总线周期中,数据 8284答:OSC:振荡器输出信号,是内部振荡电路的 在PC/XT中,其频率为14.318MHzCLKOSC4.77MHz1/38086CPUPCLKCLK2.38636MHz,TTL1/2,PC/XT机的外设使用。8086CPU 8086CPU80868086CPUI/O182843828228286(1)MOVAX (2)MOVCL, (3)MOVBXMOV5[BX], (5)MOV[BP+100H],AX(6)MOV[BX+DI]MOVDX,ES:[BX+SI](8)MOVVAL[BP+DI],(9)INAL (10)MOVDS,答:(1)立即数,寄存器(2)立即数,寄存 (7)(8) 已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别 2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX(1)MOVAX (2)MOVAX (3)MOVAX(4)MOVAX (5)MOVAX, (6)MOVAX,答:(1)0200H(2)2A10H(4)5946H DS=1000H,ES=2000H,SS=3500H,SI=00A0HDI=0024H,BX=0100HVAL0030H,试说明下列源操作数字段的寻址方式是什么?(1)MOVAX (2)MOVAX,VAL(3)MOVAX(4)MOVAX,ES:[BX](5)MOVAX, (6)MOVAX(7)MOVAX,[BP](8)MOVAX(9)MOVAX (10)MOVAX答:(1)10100H(2)10030H(3)(4)20100H(5),100A0H(6)(7)35200H(8)(9)10154H(10)(1)MOVAL,CL(2)MOVDX,CX(3)MOV[BX+100H],3150H:(1)10001010(2)10001011(3)1100011110000111000000000000000101010000DATASEGMENTADB$,10HBDB‘COMPUTER’CDW1234H,0FFHDDB5DUP(?)EDD MOVAL,AMOVDX,XCHGDL, BX,OFFSETB CX,3[BX] BX, SI, DI,答:MOVAL,A MOVDX,C XCHGDL,A DL=24H,A=34H BX,OFFSETB CX, BX, SI, DS=1200H, DI, ES=1200H,指出下列指令中哪些 的,在什么地方(1)MOVDL (2)MOV8650H (3)MOVDS(4)MOV[BX],[1200H](5)MOVIP,0FFH(6)MOV[BX+SI+3](7)MOVAX,[BX][BP](8)MOVAL,ES:[BP](9)MOVDL(10)MOVAX,OFFSET0A20H(11)MOVAL,OFFSET(12)XCHGAL,50H(13)INBL,05H(14)OUTAL答:(1)(2)段寄存器不能用立即 (4)两个内存元不能直接送数(5)IP不能用指令直接修 与SI/DI搭(8)正确 与BX/BP搭配(10)OFFSET 16位, 度(12)立即数不能用 不(13)IN必用AL/AX(14)操作数序反向;地 8已知当前数据段中有一个十制数 0~9的7段代表,其数依 ,30H,19H,12H,02H,78H,00H,18H。要求用 指令将十制 成相7段代 BX寄存器中,写出相的程序段。答:DATASEGMENTTABLEDB40H,79H,24H,30H,19H,12H,02H,78H,00H,18HDATAENDSMOVAL,MOVBX,OFFSETTABLEXLATTABLEMOVCL,ALMOVAL,7XLATTABLEMOVBL,ALMOVBH,已知当前SS=1050H,SP=0100H,AX=4860H,BX=1287H,用示意表示行下列指令程中,堆中的内容和堆指SP是怎 PUSHAXPUSHBXPOPBXPOP答:(1)
(2)行PUSHAXSP-SP-(3)行PUSHBX(4)行POPBXSP-SP-(5)行POPAXSP-(1)ADDAL, (2)ADCBX
(3)SUBAX(4)DEC (5)NEG (6)INC(7)MUL (8)DIV答:(1)AL+DH→AL(2)BX+CX+CF→BX(3)AX-2710HBX-1→ (5)0-CX (6)BL+1(7)AX*BX→DX,AX( ALAX=2508H,BX=0F36H,CX=0004H,DX=1864HCF等于什么?(1)ANDAH (2)ORBL, (3)NOT(4)XORCX,0FFF0H(5)TESTDH,0FH(6)CMPCX(7)SHRDX,CL(8)SARAL,1(9)SHLBH,CL(10)SALAX,1(11)RCLBX,1(12)RORDX,CL答:(1)AX=0408H,CF=0(2)BX=0F36H(3)AX=0DAF7H,CF不(4)变(5)DX=01864H,CF=0(6)(7)DX=0186H,CF=0(8)AX=2504H(9)BX=0F036H,CF=0(10)AX=4A10H(11)BX=1E6C/1E6DH,CF=0(12)DX=4186HDATASTRINGDB‘ThePersonalComputer& DATAGET_CHAR’TheComputer相’AL1,否则置0BL寄存器中。检查该字符串是否有’&,’ CAPS开始的单元中,其余字符传到 开始的单元中。然后将数据段中存储上述字符串的单元 LEASI,STRINGLEADI,GET_CHARMOVCX,26REPSTRING1DB‘ThecomputerMOVAL,1LEALEADI,STRING1MOVCX,12REPZCMPSBJZSKIPMOVAL,0SKIP:MOVSUBMOVAX,DATAMOVES,AXMOVAL,'&'LEADI,STRINGMOVCX,26NEXT:REPNEJZFINDJMPEXIT MOVBYTEPTR[DI-1],''JCXZEXITJMPLEALEADI,CAPSLEABX,CHARTMOVCX,26 MOVAL,CMPAL,’A’JBOTHERCMPAL,’Z’JAOTHERMOVES:[DI],ALINCDIJMPSKIPOTHER:MOVES:[BX],ALINC MOVBYTEINCSILOOPNEXTAXDXAX中的内容不被破坏,DX‘1’的个数是多少。答::MOVPUSHAXMOVDX,0MOVCX,16NEXT:SHLJNCSKIPINCBLSKIP:RCRLOOPNEXTSTOP:POPAX(20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N0278H,PROG_F3400H:0ABCH(1)JMP(2)JMP(3)JMP(4)JMPFAR(5)JMPDWORDPTR如将上述指令中的操作JMP改成CALL,每条指令行完后,程序向何 行?并画 中的内容和堆指如何化。答:(将操 JMP改成 指令度 3,IP=0100H+3=0103H,入 指令度 2,IP=0100H+2=0102H,入5000H:0000H 指令度 2,IP=0100H+2=0102H,入 指令度 5,IP=0100H+5=0105H,入 指令 2,IP=0100H+2=0102H,LOOPNEXT(2)LOOPENEXT(3)LOOPNEAXBX,CX,DXSTART:MOVMOVBX,02HMOVDX,03HMOVNEXT:INCADDBX,AXSHRDX,1(答:(1)AX=05HBX=10H AX=02HBX=04HCX=03HAX=03HBX=07HCX=02H某班有7个同学英成低于80分,分数存在ARRAY数中, 程完成以下工作:(1)每人加5分,果存到NEW数中(2)把分存到SUM单元中 DATASEGMENT DB7 DW0DATAENDSMOVAX,DATAMOVDS,AXLEALEADI,NEWMOVCX,7LEASI,MOVCX,7NEXT1:MOVAL,[SI]MOVAH,ADCSUM,AXINCSILOOP3答:中断向量表用来存放中断服务程序的入口地址 8086的256类中断的入口地址要占1K字节,位于内 00000H~003FFH的区域内。中断向量表 0000CH~0000FH用于类320485:0016H00008H 0040H240BH,0042HD169H,试问:()?答:(80860~4执行除法指令时,若除数 0或所得商超过寄存器能容纳的范围,则自动产生类 类型1若CPU的单步标志 1中断。类型2:不可屏蔽中断NMI当8086的NMI 2中断。类型3:断点中断 3中断。类型4:溢出中断若溢出标志OF=1,则可由溢出中断指令INTO产生类型4A1DW23HA2DB3DUP(?),0AH,0DH,‘$’A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1, ’ABC’A14A26个字节A340个字节A460个字节MOVAX,00FFHAND1122H+3344HMOVAL,15GE1111BMOVAX,00FFHLE255+6/5ANDAL,50MOD4 AX,0F00FHAND1234OR答:(1)将0066H将0FFH传送给将0FFFFH传送给ANDAL AX,BUFDB ’ABUFDB EQUABUF-求L的值为多少?L=6 DW?PNAMEDB16DUP(?)COUNTDD?PLENTHEQU$-PLENTHPAR0PLENTH$=2+16+4=22$-PAR=22PLENTH的22。PLENTH$$PLENTH所在行的PLENTHPAR之间定义的变量所占的字节个数。对于下面的数据定义,各条MOVDA1DBDA2DW10DUP(?)DA3DB‘MOVAX,TYPEMOVBX,SIZEMOVCX,LENGTHAH AL,5FHTESTAL,80H MOVAH,0 MOVAH, 答:讨论从端口5FH输入的数据最高位的情况。若最高位为 1,则AH=0;若最高位为0,则AH=0FFH。利用中断调用产生5利用中断调用,在屏幕上显示1~9答:(1)可以利用中断类型1CH来处理,因为在系统时钟的中断处理程序中,时钟中断一次要调用一次INT1CH,即每隔55ms,产生一次1CH 中断,要产生5秒延时,只要中断5s/55ms=91次即可。又因 1CH中断处理程序中只有一条IRET指令,故可将用户的程序代替原有的INT1CHDATACOUNTDW ;MESSDB‘5sdelayed! ’,0AH,0DH,’$’DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,ES:DATASTART:PUSHDSMOVPUSHAXMOVAX,DATAMOVDS,AXMOV ;MOVAH,35HINT21HPUSH ;PUSHBXPUSHMOVDX,OFFSETDELAY MOVAX,SEGDELAYMOVDS,AXMOV MOVAH,25HINT21HPOPDS ANDAL,0FEHOUT21H,ALMOV MOV DECSIJNZA2DECDIJNZA1POPDXPOPMOVAL,1CHMOVAH,25HINT21H DELAYPROCNEARPUSHDSPUSHAXPUSHCXPUSHDXMOVAX,DATAMOVDS,AXDECJNZMOVDX,OFFSETMOVAH,09HINT21HMOV POPDXPOPCXPOPAXPOPDSDELAYENDPCODEENDSEND
;5;5(2)可以利用INT1AH,读取当前时间的1/100CODESEGMENTASSUMESTART:MOVINT1AH ;读取当前时间CH:CL=时:分MOVAL,DL ;DH:DL=秒:1/100秒MOVAH,0MOVBL,9DIVBLINCAHMOVDL,AHADDDL,30HMOVAH,2INT21HMOVAH,4CHINT21HCODEENDAXBCDBCD码转换成二进答:(1)将AX中的二进制数先后除以1000,100和10,每次除法所得的商,即是 BCD数AX=输出参数:CF=0,则AX=4 位压缩型BCD码。CF=1,则要转换的数大于 9999,AX不CXDXB2TOBCDPROCCMPAX,9999 ;AX>9999,则CF1JBETRANJMPEXITTRAN:PUSHCXPUSHSUB;DXMOVDIVXCHG;商在 中,余数在中MOVSHLMOV;DX左移4DIVADDMOVCL,4SHL;百位数加 DL中,左移4XCHG;余数保留 ALSUBMOV DIVADD ;十位数加到DLDX左移4MOVCL,4SHLADD MOV ;结果送到AXPOPDXPOPB2TOBCD(2)AX4BCD1000,100,101,然后求和即得。子程序BCDTOB2AX=4位压缩BCDAX=BXCXDXBCDTOB2PROCPUSHBXPUSHCXPUSHDXMOVBX,AXMOVCL,4ROLAX,CLANDMOVCX,1000 1000MULCXMOVDX,AXMOVAX,BXMOVCL,8ROLAX,CLANDMOVCL,100 100MULCLADDDX,AXMOVAX,BXMOVCL,4SHRAX,CLANDAX,000FHMOV ;乘以MULCLADDDX,AXANDBX,000FHADDDX,BXMOVAX,DXPOPDXPOPCXPOPBXBCDTOB2ASCIIASCII字符显示输出答:(1)将AX中两位ASCII码先转化成数字,然后 子程序名:ASCIITOB2AX=2ASCII码AX=转换后二进制数BX,CX,DXASCIITOB2PROCFARPUSHBXPUSHCXPUSHDXMOVBX,AXSUBAH,30HMOVAL,AHMOV ;乘以MULCLMOVDX,AXMOVAX,BXSUBAL,30HMOVAH,0ADDAX,DXPOPDXPOPCXPOPBXASCIITOB2(2)2DOS功能调用显示AX=2ASCII码BXDISPLAYPROCPUSHBXPUSHDXMOVBX,AXMOVDL,AHMOVAH,2INT21HMOVAX,BXMOVDL,ALMOVAH,2INT21HPOPDXPOPBXDISPLAYASCIIASCIIAX4输出参数:DX,AX:4位ASCII码,DX高2位,AX 低2位使用寄存器:BX,CX,DXHEXTOASCPROCPUSHBXPUSHCXPUSHDXMOVBX,AXMOV ;转换AH高 SHRAX,CLANDAX,0F00HADDAH,30HCMPAH,3AHJBA1ADD MOVMOV ;转换AH低 ANDAX,0F00HADDAH,30HCMPAH,3AHJBA2ADD MOVMOV ;转换AL高 MOVCL,4SHRBL,CLADDBL,30HCMPBL,3AHJBA3ADD MOVAND ;转换AL低 ADDBH,30HCMPBH,3AHJBA4ADD MOVAL,BHPOPDXPOPCXPOPBXHEXTOASCDX,AX:4ASCII码DISPLAYASCPROCPUSHBXPUSHCXMOVBX,DXMOVCX,AXMOVDL,BHMOVAH,02HINT21HMOVDL,BLINT21HMOVDL,CHINT21HMOVDL,CLINT21HMOVDL,’H’INT21HPOPCXPOPBXDISPLAYASC某程序可从键盘接收命令(0~5),6P0~P5,答:DATATABLE 6DATAENDSCODESEGMENTASSUMESTART:MOVMOVDS,AXLEASI,TABLEMOVWORDPTR[SI],OFFSETP0MOVWORDPTR[SI+2],OFFSETP1MOVWORDPTR[SI+4],OFFSET
MOVWORDPTR[SI+6],OFFSETP3MOVWORDPTR[SI+8],OFFSETP4MOVWORDPTR[SI+10],OFFSETP5MOVAH,1INT21HSUBAL,30HSHLAL,1MOVAH,0MOVSI,AXJMPMOVAH,4CHINT21HCODEENDSENDSTART在首地址为TABLE的数组中按递增次序存放着10016 AX和BL中。 DATASEGMENTTABLEDW100DUP DW?COUNTDW0DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:PUSHDS;设置返回DOSSUBAX,PUSHMOVAX,MOVDS, ; DS赋BEGIN:MOVCX MOVSI,0NEXT:MOVDX,MOVAX,COMPCMPTABLE[SI], JNEADDRINCDXADDSI,2LOOPADDR:CMPDX JLEMOVCOUNTDXMOVNUMAXDONELOOP MOVCX, ;出现最多的次数存 MOVAX,NUM (AX)MAINCODEENDSENDDATASEGMENTSTRINGDB'INPUT4HEXNUM:',0AH,0DH,'$' DB10DUP(?)DATACODEASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVMOVAH,9INT21HMOVBP,4MOVDX,0CONT:CL,4SHL MOVINT21HCMPAL,'0'JBD1CMPAL,'F'JAD1CMPAL,'A'JBA1SUBAL,7 SUBAL,30HMOVAH,0ADDDX,AXDECBPJNZCONTMOVSI,0MOVAX,DXMOVDX,0
;输入4位十六进制 ;将DX转换成十进制数,再转换 ASCII码—MOV DIVADDDL,30HMOVNUM[SI],DLINCSICMPJZEXITMOVDX,0JMPD2EXIT:MOVMOVAH,2INT21HMOVDL,0DHINT21H DECMOVMOVAH,2INT21HJNZD3MOVAH,4CHINT21HCODEENDSENDSTART
AXASCII字符串表示的十进制数。答:13题输入过程和输出过程去掉即得。DATA DB10DUP(?) ;转换后ASCII码按倒序存放于NUMDATAENDSCODEASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVMOVAX,MOVSI,0 AX转换成十进制数,再转换成 ASCII码—>NUMMOVDX,0MOV DIVADDDL,30HMOVNUM[SI],DLINCSICMPAX,0JZEXITMOVDX,0JMPD2EXIT:MOVINT21HCODEENDSEND从键盘输入20DATANUMDW20DUP(?)ASCDB10DUP(?)DATAENDSCODESTART:MOVAX,DATAMOVDS,AXMOVCX,20MOVBX,10MOVSI,0MOVBP,0BEGIN:MOV MOVAH,1INT21HCMPAL,''JZA2CMPAL,0DHJZA2CMPAL,'-'JZA3JMPA4 MOVJMPA1 PUSHAXMOVAX,DXMULBXMOVDX,AXPOPAXSUBAL,30HMOVAH,0ADDDX,AXJMPA1 CMPBP,1JNZA5NEGDX MOVBP,0ADDSI,2
;存放20;输出时暂时保存每一个数 ASCII20个有符号数(十进制),NUM-LOOPMOV MOVAH,2INT21HMOVDL,0AHINT21HMOV ; 20个有符号数按由小到大顺序排MOV ;采用冒泡法,排序后依然存放 NUM数 MOV MOVAX,NUM[BX]CMPAX,NUM[BX+2]JLECONT1XCHGAX,NUM[BX+2]MOVNUM[BX],AXCONT1:ADDLOOPL2MOVCX,DXMOVBX,0LOOPL1
MOV ; 20个有符号数(二进制)转换为十进制MOV ;再转换为ASCIIMOVAX,NUM[SI]ADDSI,2TESTJZD4PUSHAXMOVDL,'-'MOVAH,2INT21HPOPAXNEGAXMOVDI,0MOVDX,0MOVBX,10DIVBXADDDL,30HMOVASC[DI],DLINCDICMPJZD3MOVDX,0JMP MOVDL,ASC[DI-1]MOVAH,2INTDECDIJNZD3MOVDL,''MOVAH,2INT21HLOOPD1MOV ;返回INT21HCODEENDSENDSTARTDATASTRING1DB'INPUTFIRSTNUM(HEX):',0DH,0AH,'$'STRING2DB'INPUTSECONDNUM(HEX):',0DH,0AH,'$'NUM1DW ;存放加数NUM2DW0,0 ;存放加数2RESULTDB0,0,0,0 ;存放结果DATAENDSCODEASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVLEA ;输入第一个加数(4位十六进制数MOVAH,9INT21HMOVSI,2MOVCONT:PUSHCMPCX,4JNZB1SUBSI,2 MOVSHLNUM1[SI],CL MOVAH,1INTCMPAL,'0'JBC1CMPAL,'F'
JAC1CMPAL,'A'JBA1SUBSUBAL,30HMOVAH,0ADDPOPCXLOOPCONTMOVDL,0DHMOVAH,2INT21HMOVDL,0AHINT21H
LEADX,STRING2MOVAH,9INTMOVSI,2MOVCONT1:PUSHCMPCX,4JNZB2SUBSI,2 MOVSHLNUM2[SI],CL MOVAH,1INT21HCMPAL,'0'JBC2CMPAL,'F'JAC2CMPAL,'A'JBA2SUB SUBMOVADDPOPCXLOOPCONT1MOVDL,0DHMOVAH,2INT21H
(;
MOVDL,0AHINT21HLEA LEABX,NUM2LEADI,RESULTMOVCX,4AD:MOVADCAL,[BX]MOV[DI],ALINCSIINCBXINCDILOOPAD
LEADX,STRING3;显示结果( MOVAH,9INT21HMOVCX,4MOVDI,3PUSHCXMOVDL,RESULT[DI]MOVCL,4SHRDL,CLADDDL,30HCMPDL,3AHJBD1ADDDL,7MOVAH,2INT21HMOVDL,RESULT[DI]ANDDL,0FHADDCMPDL,3AHJBD2ADDDL,7MOVAH,2INT21HDECDIPOPCXLOOPTTMOV ;返回INT21HCODEENDSENDSTART2BCDDATASEGMENTDA1DB09H,09HDA2DB09H,08HRESULTDB4DUP(0)DATAENDSCODEASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVMOV MOVBL,10MULBLMOVBL,DA2MOVBH,0ADDAX,BXMOVCX,AXCONTMOV MOVAL,RESULTADDAL,DA1MOVRESULT,ALMOVAL,RESULT+1ADDAL,AHMOVADDAL,DA1+1MOVMOVAL,RESULT+2ADDAL,AHMOVAH,0MOVMOVAL,RESULT+3ADDAL,AHMOVMOVRESULT+3,ALLOOPCONTMOV ;返 INT21HCODEENDSEND编写完整的程序求N!,求N大于6时的运算结果,并在屏幕上显示结果。DATASEGMENTNDB ;8DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,NMOVAH,0CALL NAX=N,BX=NCALLB2TODEC;调用过程将结果转换为十进制,然后屏幕显MOVAH,4CHINTFACTCMPAL,0JNZCHNMOVBX,1CHN:PUSHDECCALL ;递归调用N!=N*(N-POPAXMULBXMOVBX,AXFACTB2TODECMOVCX,10000CALLBINMOVCX,1000CALLBINMOVCX,100CALLBINMOVCX,10CALLBINMOVCX,1CALLBINB2TODECBINMOVAX,BXMOVDX,0DIVCXMOVBX,DXMOVDL,ALADDDL,30HMOVAH,2INT21HBINCODEENDSENDSTART在附加段有一个数组,首地址为BUFF程序在数组中查找00DATA EQU0DATAENDSMOVES,AXMOVDS,MOVAL, ;关键字M存入MOVDI,OFFSETMOVCL,;数组长度存入MOVCH, ;REPNE;;JNZ;未找到,转STOPJCXZ;最后一个数是M,转PUSH;PUSH;MOVBL,;前移,末尾补MOV[DI-1],BLINCDILOOPMOVBYTEPTR[DI-1],POPCX 恢复CX,DIPOPDIDECDI 由于REPNESCASB已自动加1JMPL1 MOVAH,INT21H ENDDATASEGMENTSTRING1DB'THISISTHEFIRSTDB100;DW1STRING2DB'thesecondDW?DW;字符串MOVDS,AXMOVLEA ;求字符串1的长度存入MOVAL,'$'MOVNUM1,0 JZINCNUM1JMPD1 LEA ;求字符串2的长度存入MOVAL,'$'MOVNUM2,0 JZINCNUM2JMPD3 LEA ;将字符串1ADDSI,NUM1 MOVDI,SIADDDI,NUM2MOVCX,NUM1SUBCX,POSINCCXREPLEASI,STRING2;将字符串2插入到字符 1指定位LEADI,STRING1ADDDI,POSMOVREPLEADX,STRING1MOVAH,9INT21HMOVAH,4CHINT21HCODEEND将学生的班级、姓名、学号、课程名、成绩定义为一个结构,用结构预置语句,产 60分的学生姓名、成绩显示出来。答:STUDENTSTRUCCLASSDB DB DB COURSEDB SCOREDB STUDENTENDSDATADATAENDSCODESEGMENTASSUMECS:CODE,ds:DATASTART:MOVAX,DATAMOVMOV MOVCONT CMPAL,60JAE ;小于60LEADX,STUDENT1.NAM[SI]MOVAH,9INTMOVDL,''MOVINT ;成绩转换为ASCIIMOVAH,0MOVBL,10DIVBLPUSHAXMOVDL,ALADDDL,30HMOVAH,2INT21HPOPAXMOVDL,AHADDDL,30HMOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVDL,0AHINT21HD1:ADDLOOPCONTMOVAH,4CHINT21HCODEENDSENDSTART 学生的数学成,分 90分~99分,80分~89分,70分~79分,60分~69分及60分以下,并将各段的人数送入内存元中。答:学生人数字, DATASEGMENT ANUMEQU$-BUFFSNUMDB5DUP(0)BUFF1DBANUMDUP(0)BUFF2DBANUMDUP(0)BUFF3DBANUMDUP(0)BUFF4DBANUMDUP(0)BUFF5DBANUMDUP(0)DATAENDSCODE
;存放各 ;存放60;存放60分~69;存放70分~79;存放80分~89;存放90ASSUMECS:CODE,DS:DATA,ES:START:MOVAX,MOVDS,AXMOVMOV MOVMOVMOVSI,OFFSETBUFFMOVDI,OFFSET MOVCMPAL,60HJAENEXT1MOVBL,[DI]MOVBUFF1[BX],ALINCBYTEPTR[DI]JMPNEXT5NEXT1:CMPJANEXT2MOVBL,[DI+1]MOVINCBYTEPTR[DI+1]JMPNEXT5NEXT2:CMPJANEXT3MOVBL,[DI+2]MOVBUFF2[BX],ALINCBYTEPTR[DI+2]JMPNEXT5NEXT3:CMPJANEXT4MOVBL,[DI+3]MOVBUFF3[BX],ALINCBYTEPTR[DI+3]JMPNEXT5NEXT4:MOVMOVBUFF4[BX],ALINCBYTEPTR[DI+4]NEXT5:INCLOOPD1MOVAH,4CHINT21HCODEENDSENDSTART编制宏定义,将存储器区中一个用’$SENDMACROSCHARS,DCHARSLOCALNEXT,EXIT ;LOCAL用于解决宏定义内的标号问题PUSHAX ;SCHARS源串地址,DCHARS目的串地址PUSHSI ;FLAG串结尾符号MOVSI,
MOVAL,SCHARS[SI]MOVDCHARS[SI],ALCMPAL,FLAGJZINCSIJMPNEXTPOPSIPOPAXFINSUMXYX>YX+2*YX≤Y2*X+YSUM。FINSUMMACROX,Y,SUMIFXGTYMOVAX,YSHLAX,1ADDAX,XMOVSUM,AXMOVAX,XSHLAX,1ADDAX,YMOVSUM,AXDOSAHDOSDISPDISP‘。DOSMACROMOVAH,NUMINT21HDISPMACROZIFUMOVDL,ZIFUDOS02HDISP‘*MOVDL‘*MOVAH,02HINT21H11|55|66|5-|44|33|255|44|33|2-|55|44|311|55|66|5-|44|33|2DATAFREQUECYDW ;各音阶频率,65535对应0, DW523,578,659,698,784,880,988TABLEDW
DW12,12,11,11,10,10,9,012,12,11,11,10,10,9,0FREQUECYDW8,8,12,12,13,13,12,0,11,11,10,10,9,9,8,0DATAENDSCODESEGMENTASSUMESTART:MOVMOVMOV ;CILEASI,TABLE MOVBX,[SI]INCSIINCSISHLBX,1MOVDI,[FREQUECY+BX]CALLPLAYDECBPJNZCONT MOVINT21H MOVAL,10110110BOUT43H,ALMOVMOVAX,34DEHDIVDIOUT42H,ALMOVAL,AHOUT42H,ALINAL,61HMOVAH,ALORAL,03HOUT61H,ALMOVDELAY:MOVDX,1700HGOON:DECDXJNZGOONLOOPDELAYINAL,61HMOVAH,ALANDAL,0FCHOUT61H,ALMOVCX,0FFFFHDELAY1:MOVDX,100HGOON1:DECDXJNZLOOPDELAY1 END静态 与动态 有何区别答:(1)静态RAM内存储的信息只要电源存在就能一直保持,而动态 RAM的信息需要定静态RAM的集成度比较低,运行速度快,而动 的集成度高,运行相对慢静态RAM造价成本高,动 价格便ROM、PROM、EPROMEEPROM答:ROM是只读存储器,根据写入方式的不同可以分为四类:掩膜 ROM、PROM、和EEPROMROM中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次光刻而写入的,用户对这类芯片无法进行任何修改。PROM出厂时,里面没有信息,用户采用一些PROM,一旦写入,就不能再改变了,即只允许编程一次。EPROMEEPROMDRAMCASRAS答:CAS为列地址选通信号,用于指示地址总线上的有效数据为列地址; RAS为行地址选什么是Cache答:Cache也称为高速缓存,是介于主存 为了减少CPU与内存之间的速度差异,提高系统性能,在慢速的 SRAM,起到缓冲作用,使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高,这就是 Cache的作用。Cache直接映像Cache和成组相联Cache答:直接映象Cache是将主存储器中每一页大小分成和 Cache存储器大小一致,Cache中成组相联Cache内部有多组直接映象 为什么要保持Cache内容与主存储器内容的一致性?为了保持 Cache与主存储器内容的答:由于Cache的内容只是主存部分内容的拷贝,故应当与主存内容保持一致。数据不一致问题通常是由于更新了Cache的数据而没有更新与其关联的存储器的数据,或更新了存储器Cache的内容所引起的。为了保持Cache在此方法中,当CPU写入数据到CacheCache就立即将其写入主存中,使主存CacheCache的修改同时要写入主存储器,总线操作频繁,影响系统性能。(2)回写法此方法中,Cache的作用好像缓冲区一样,当 CPU写入数据到Cache中后,Cache并不 Cache中的内容回写到主存中,此CPUCache控制器用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?在地址线中有多少 16位)答:由于所用的芯片为1024×1位,构成1024×8位(即1K×8位)的存储器需要8片,因此组成16K×8位的存储器需要16×8=128片。片内有1024个单元,需 10根地址线16组(每组8片)存储器需 16根片选信号,至少需 512×44KB的存储器,需要多少这样的芯片?4K×85124=165129121024×8RAM4K×8A15~A12地址线用线性选择答:组成4K×8的存储器,那么需要4片这样的芯片:将 A15取反后分配芯片 1的CS;将A14取反后分配给芯片 2的CS;将A13取反后分配芯片 3的CS;将A12取反后分配给4CS1的地址范围8000H~83FFH8400H~87FFH、8800H~8BFFH、8C00H~8FFFH2的地址范围4000H~43FFH4400H~47FFH、4800H~4BFFH、4C00H~4FFFH3的地址范围2000H~23FFH2400H~27FFH、2800H~2BFFH、2C00H~2FFFH4的地址范围1000H~13FFH1400H~17FFH、1800H~1BFFH、1C00H~1FFFH平信号。(8086工作在最小模式答:8086发出20位地址信息 BHE=1,通过地址锁存信号锁存 8282,然后发出M/IO和RD=0等控制信号,20位地址信号 BHE=1送给存储器,经过译码,选中偶地址单一字节,将其数据读出,送至数据总线,经过 DEN=0和DT/R=0控制的数据收发 传送至CPU效逻辑电平信号。(8086工作在最小模式288第一个写周期中,BHE=0,第二个写周期中, BHE=1。其余信号M/IO=1,WR=0,DEN=0,DT/R=164K×874LS138EPROM2764答:因为EPROM2764是8K×8的ROM,所以要构成64K×8的存储器系统,需要8片EPROM2764。其中CPU的A12~A0直接与 8片EPROM的A12~A0相连(没有考虑驱动能问题),A15、A14A13138A、B、C三个端口相连,其他地址线(A19~A16)组合连到G1、G2A和G2B上,确保A19=0、A18=1、A17=0A16=0用 位的EPROM2764、8K×8位的RAM6264和译码器74LS138构成一 16KROM、16K字RAM的存储器子系统。8086工作在最小模式,系统带有地址锁存器 数据收发器8286。画出存储器系统与CPU的连接图,写出各块芯片的地址分配。D15~DD15~DA13~AA12~AA13~AA 1#2# A D15~D8 BAA13~A A12~A A13~A 3# 4#WE Y2A0CE1CE2CE2Y3CE1CE2100000Y0有效100001 有效100010 有效100011 有效74LS138Y2ROMRAMCBA100010有效100011有效100100有效100101有效CPUI/OI/OCPU和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号I/OCPU与外设之间的不匹配、不能协调工作而设置的,处于总A/D变换成数字量后,才能送到计算机去处理,而D/A变成模拟信号后,才能驱动某些外设工作。什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对 I/O端口编址时采用哪两种方法?在8086/8088CPU中一般采用哪些编址方法?答:在CPU电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称 计算机对I/O端口编址时采用两种方法:存储器映像寻址方式、 在8086/8088CPU中一般采用I/O单独编址方式。CPUCPU与外设间的数据传送方式主要有:程序控制方式、中断方式、DMA方式。CPU与外设之间的数据传送是在程序控制下完成的。⑴无条件传已知的场合。⑵条件传送:也称为查询式传送方式,在开始传送前,必须先查询外设已处CPU CPU发中断请求。CPU响应中断后,暂停执行当前的程 CPU和 CPU又回去执行原来的程序。DMA总线是由CPU管理的,但当外设需要利用DMA方式进行数据传送时,接口电路可以向 提出请求,要求CPU让出对总线的控制权,用DMA 应的读/写控制信号。在DMA传送结束后,它能释放总线,把对总线的控制权又交还 答:查询式传送方式也称为条件传送方式。一般情况下, CPU用输入或输出指令与外CPU要先执行一条输入指令,从外设的状态口读取它的当前状态。如CPU便可执行输入指令,从外设读入数据。当输入设备准备好数据后,就 I/O接口电路发一个选通信号。此信号有两个作用: D触发器的Q端置l。CPU首先执行 IN指令读取状态口的信息,这时 M/IO和RD信号均变低, M/IO为低,使I/O译码器输出低电平的状态口片选信号 CS1。CS1和RD经门1相与后的低电乎输出,使三态缓冲器开启,于是Q端的高电平经缓冲器(1位)传送到数据线上 READY(D0)位,被读入累加器。程序检测 位 1后,便执行IN指令读数据口。这 M/IO和 CS2,CS2和RD经门2输出低电平。它一方面开 8位数据缓冲器送到数据总线上后进入累加D0,一次数据传送完毕。接着就可以开始下一个数据的传送。当规CPU准备向外设输出数据时,它先执行IN指令读取状态口的信息。这时,低电平的M/IO和有效的端口地址信号使I/O译码器的状态口片选信号CS1CS1再和有效的RD信号经门l相与后输出低电平,它使状态口的三态门开启,从数据总线的D1位读入BUSY状态。若BUSY=l,表示外设处在接收上一个数据的忙碌状态。只有在 BUSY=0时,CPU才能向外设输出新的数据。当 CPU检查到BUSY=0时,便执行OUT指令将数据送向 M/IO使I/O译码器的状态口片选信号 CS2变低,CS2再和WR信号经门2相与后输出低电平的选通信号,它用来选通数据锁存器,将数据送向外设。同时,选通信号的后沿还 D触发器翻转, Q为高电平,即把状态口 BUSY位置成表示忙碌。当输出设备从接口中取走数据后,就送回一个应答信 ACK,它将D触发器0,即置BUSY=0,允许CPUDMA控制器从外设提出请求到外设直接将数据传送到存储器的工作DMA当一个接口中有数据要输入时,就向DMA控制器发送DMA请求;DMA控制器接收到请求后,便往控制总线上发一个总线请求;如果CPU允许让出总线,则发一个总线允许DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA 回答信号,并发一个1/O读信号和一个内存写信号;接口接到 DMA回答信号 DMA请求信号;内存在接收到数据以后,一般往 DMA控制器的地址寄存器内容加 1或减1,计数器的值减1,而且撤除总线请求信号,这样,就完成了对一个数据的DMA 输入传输。DMA CPU交回总线控制权。其状态寄存器的传输结束标1CPU在主程序中通过查询状态寄存器的传输结束标志,决定是否进行某一个微机系统中,有8I/O接口芯片,每个芯片占有8300H,874LS138做译码器,试画出端口译码电路,并说明每块PCISA总线各用于何种类型的微型计算机中?它们的数据总线各有多少根?IBMPC/XTPC8条数据线。ISA总线又称AT总线,是以80286CPUPC/AT16PCIPCIPCI。PCIPCI总线传输数据的位数为32位,也可扩展到6432PCI总线在读写传送中,以33MHz的频率进行,传输速率为132MB/s,当数据宽度为64位时,以66MHz的频率运行,传输速率高达528MB/s。PCI总线支持突发传送方式(BurstTransfer)PCI总线支持即插即用(PlugandPlay,PnP)(4)PCI总线与微处理器之间不直接相连,而是通过与 CPU结构无关的中间部件桥接器PCIPCI突发读交易以周期帧信号 FRAME#有效后开始进行PCI交易,交易的第一个时钟 PCI命令确定交易类型。因PCI的地址线/数据线(AD)和命令信号(C/BE#)都是分时复用的,所以每个 PCI目标本次寻找的目标和将要交易的类型是什么 PCI目标确定自己是交易的目标后,则将设备择信号DEVSEL#置为有效状态,向交易的启动方声明本次交易有效。在主设备 IRDY#目标设备的TRDY#答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起 CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,INTRINTR信号的高电平必须维持CPU响应中断才结束。可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。当外设有中断申请时,在当前指令执行完后 CPU首先查询IF位若IF=0CPUIF=1,CPU就允许响应外设的中断请求。不NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况 CPU必须予INTR:可屏蔽中断请求输入引脚。NMIINTA:可屏蔽中断响应引脚INTn:软件中断指令,其 n为中断类型INTOCLI:中断标志位IF0STI:置位中断标志位为18086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断①INTn②CPU③由调试程序debugCPU响应中断的条件是什么?简述中断处理过程。CPU响应中断要有三个条件:CPU⑵将标志寄存 PSW的值入钱⑶将PSW中的中断允许标志 IF和单步标志TF清0,以屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理子程字。⑷保护断点,将当前指令下面一条指令的段地 CS和指令指针IP的值入栈,中⑹中断处理程序结束以后,从堆栈中依次弹 IP、CS和PSW,然后返回主程序断STISTI指令答:由于响应中断时CPU自动关闭中断(IF=0),故在中断服务子程序中STI指令后方可中断结束命令EOIEOI后,清除中断服务寄存器中的标志位,即允许响应同级或低级中断,为EOI置于中断服务子程序结束前。将每个设备的中断服务程序入口地址()集中,依次放在中断向量表中。当CPU转入中断服务子程序,这样可大大加快中断处8086/8088系统允许处理256种类型的中断,对应类型号 00000H~003FFH,占1K字节空间,用作存放中断向量。每个类型号占 4个字节,高2个字 2个字节存放段内偏移地址。15ROUT15。PUSH AX,0 DI, AX,OFFSETROUT15;中断处理程序的偏移→AX AX,SEGROUT15 AXPOP8086/8088CPU如何获得中断类型号?①INTn:n 0,INTO溢出中断自动获得中断类型 ③单步中断自动获得类型号1,断点中断自动获得类型号3。NMI:自动获得中断类型号INTR ,中断接口电收到第二个INTA以后,通过数据线向CPU给定SP=0100H,SS=0500H,PSW=0240H,在存储单元中已有内容为(00026H)=1000H,在段地址为0800H及偏移地址为00A0H的单元中有一条中断指 INT9试问执行INT 答:执行INT 指令,标志寄存 PSW、下一条指令的段地址CS和指令指针IP的值分入栈,PSW中的中断允许标志 IF和单步标志 TF清0,中断向量表的中断入口地址送CS和 SP=00FAH,SS=0500H,CS=1000H,IP=0060H,PSW=0040H。栈顶的三个字是: (0500H:00FAH)=00A2H、(0500H:00FCH)=0800H、
X X执行INT 前 执行INT9 后0000 8259A优先权管理方式有哪几种?中断结束方式又有哪几种?8259A4种:0~7IR0IR7优先级最低。)8259A级联情况。此方式与全嵌套工作方式基本相同,区别在于当8259A中断结束方式有如 3种普通EOI在全嵌套工作方式下,任何一级中断,处理结束返回上一级程序前 CPU向8259A送EOI8259AEOIISR10特殊EOI此时要采用特殊SEOICPU8259A发特殊EOI结束命令字,命令字中将当前要清除的中断级别也传给8259A8259ISR0。(3)自EOIAEOIISR1CPU进入中断响INTAISR0。8259A在全嵌套中断工作方式下,要写哪些初始化命令字及操作命令字?ICW1ICW2ICW4。OCW1中断屏蔽操作命令字(根据需要,若不需要可不写 的中断服程序。系中有3个中断源,从8259A的IR0、IR2、IR4端引入中断,以沿触,中断型号 5020H、6100H、3250H,段地址1000H使用完全嵌套方式,普通EOI 写初始化程序,使CPU能正确响任何一中断;并写一段中断服子程序,保中断嵌套的 答:;初始化程序设8259A的端口地 20H和; AX,1000H DS, DX,5020H;偏移地址 AL,50H ;中断型号 AH,25H ;写50H DX6100H AL, ; ;52H DX3250H AL, ; ;54H;8259A AL, ;定ICW1 20H, AL,50H ;定ICW2,中断号50H~57H 21H,AL AL,01H ;定ICW4,完全嵌套,非冲,普通EOI 21H,AL AL,0EAH ;定OCW1,屏蔽IR1,3,5,6,7 21H,AL; AL, ;定OCW2,普通 束命 POP 如外设A1、A2、A3、A4、A5按完全嵌套优先级排列规则,外设A1的优先级最高,A5最低。若中断请求的次序如下所示,试给出各外设的中断处理程序的(次序。 STI指令)外设A3和A4在外设A3的中断处理中,外设A1A1EOIA5发出中断请求答:外A3→A1A3→A4→A5某系统中有38259A1片为8259A2片为8259A8259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接80H,90H,A0H2000H1800H2800H,3800H8259AF8HFAH8259AEOI结束。(1)画出硬件连接图A11A11D77~~D00INTARDWRDCSA00D77~~D00INTARDWRCAS00CAS001从8259ACASCAS 12从8259ACASCAS SP/ENIR4(1)中断向量表形成MOVAXMOVDS,AX;DSMOVDX,1800H;DX中为偏移地址MOVAL,83H ;中断类型号为83HMOVAH,25HINT ;设置类型号83H DX,2800H AL,94HINT ;设置类型号94H AL,0A4HINT ;设置类型号 的中断向主片8259A初始化编程:端口地址 F8H和 AL,00011001B(19H);定义ICW1 ;发ICW1 AL,80H ;IR0的中断类型号为80H 0FAH,AL ;发ICW2命令 AL,00100100B(24H);定义ICW3,IR2IR5 0FAH AL,00000001B(01H);定义ICW4 0FAH ;非自动EOI AL,11010011B(0D3H);定义OCW1,允许IR2、 0FAH IR51#从片8259A初始化编程:端口地址为FCH AL,00011001B(19H);定义ICW1 ;发ICW1 AL IR0的中断类型号为
;发ICW2 AL,00000010B(02H);定义ICW3,1#从片接主片的IR2 0FEH,AL AL,00000001B(01H);定义ICW4 ;非自动EOI AL,11101111B(0EFH);定义OCW1,允许IR4 2#从片8259A初始化编程:端口地址为FEECH AL,00011001B(19H);定义ICW1 DX DX ;发ICW1 AL,0A0H ;IR0的中断类型号为A0H DX,0FEEEH DX ;发ICW2 AL,00000101B(05H);定义ICW3,2#从片接主片的IR5 DX,AL AL,00000001B(01H);定义ICW4 DX ;非自动EOI AL,11101111B(0EFH);定义OCW1,允许IR4 D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 6113.405-2026无线电骚扰和抗扰度测量设备和测量方法规范第4-5部分:不确定度、统计学和限值建模替换试验方法的使用条件
- 流程工业智能制造技术理论及应用 课件 第五章-流程工业过程实时优化
- 感恩活动策划方案流程(3篇)
- 江门地产活动策划方案(3篇)
- 活动策划方案赚钱文案(3篇)
- 跨年欢聚活动策划方案(3篇)
- 配送企业人员管理制度范本(3篇)
- 高速道路救援管理制度范本(3篇)
- 2026年及未来5年市场数据中国投资保险行业市场深度分析及发展趋势预测报告
- 养老院活动策划制度
- 2025届新疆乌鲁木齐市高三下学期三模英语试题(解析版)
- DB3210T1036-2019 补充耕地快速培肥技术规程
- 混动能量管理与电池热管理的协同优化-洞察阐释
- T-CPI 11029-2024 核桃壳滤料标准规范
- 统编版语文三年级下册整本书阅读《中国古代寓言》推进课公开课一等奖创新教学设计
- 《顾客感知价值对绿色酒店消费意愿的影响实证研究-以三亚S酒店为例(附问卷)15000字(论文)》
- 劳动仲裁申请书电子版模板
- 赵然尊:胸痛中心时钟统一、时间节点定义与时间管理
- 家用燃气灶结构、工作原理、配件介绍、常见故障处理
- ZD(J)9-型电动转辙机
- DB21T 3414-2021 辽宁省防汛物资储备定额编制规程
评论
0/150
提交评论