中科大微机原理作业

合集下载

微机原理作业与答案第四章

微机原理作业与答案第四章

微机原理作业与答案第四章第四章汇编语⾔程序设计4-2 下列程序执⾏后,寄存器AX,BX,CX的内容分别是多少?ORG 0202HDA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202H (BX)=0,这是书中的参考答案MOV CL,BYTE PTR DA_WORD ;(CL)=20H(因PTR,则字的第⼀字节)MOV CH,TYPE DA_WORD ;(CH)=2(变量类型数值);(CX)=0220H4-4 试编制⼀程序(不是程序段),把CHAR1中各⼩写字母分别转换为对应的⼤写字母,并存放在CHAR2开始的单元中DDD0 SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1;变量必须先定义后使⽤,⽽不能相反CHAR2 DB N DUP(0);不能把此句与上⼀句对调DDD0 ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)CSEG SEGMENTASSUME CS:CSEG,DS:DDD0,SS:STACK START: MOV AX,DDD0 MOV DS,AX ;MOV DX,AXMOV ES,AX ;只要SI,DI都⽤MOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NAGAIN: MOV AL,CHAR1[SI] ; MOV AL,[SI]SUB AL,20HMOV CHAR2[DI],AL ; MOV [DI],ALMOV DL,AL ;不是必须的,但做实验是有⽤的。

MOV AH,2INC SIINC DI LOOP AGAINMOV AH,4CHINT 21H ;不是必须的CSEG ENDSEND START第⼆种⽅法:DDD0 SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1CHAR2 DB N DUP(0) DDD0 ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)CSEG SEGMENTASSUME CS:CSEG,DS:DDD0,SS:STACKSTART: MOV AX,DDD0 MOV DS,AXMOV ES,AXLEA SI,CHAR1LEA DI,CHAR2MOV CX,NCLD ;不写(隐含)也是0(递增)但不能STDAGAIN: LODSB ;执⾏⼀次,隐含修改SISUB AL,32stosb ;MOV [DI],AL;执⾏⼀次, 隐含修改DInop ;INC DILOOP AGAIN ;LOOP指令只修改CX,不管SI,DIMOV AH,4CHINT 21H ;不是必须的CSEG ENDSEND START4-6在BUF地址处起,存放有100个字节的字符串,设其中有⼀个以上的“A”字符,编程查找出第⼀个“A”字符相对起始地址的距离,并将其存⼊LEN单元。

微机原理第3章作业及答案

微机原理第3章作业及答案

第3章指令系统习题解答1. 若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,说明下列各条指令执行后,AX中的内容是什么?并说明各条指令中源操作数的寻址方式。

(1) MOV AX,DS (2) MOV AX,[2000H](3) MOV AX,[SI] (4) MOV AX,[BP](5) MOV AX,[BP+SI]【解】(1)AX=3000H 寄存器寻址(2)AX=4000H 直接寻址(3)AX=6020H 寄存器间接寻址(4)AX=4000H 寄存器间接寻址(5)AX=6020H 基址加变址寻址2. 指出下列指令中的非法指令。

(1) MOV BX,AL (2) MOV CS,2000H(3) PUSH 4567H (4) XCHG VAR1,VAR2(5) ADD AL,148H (6) MOV DS,2000H(7) MOV BH,SI (8) SUB 38H,AL【解】非法指令:(1) MOV BX,AL BX和AL的长度不一致(2) MOV CS,2000H CS段寄存器不能作目的操作数(3) PUSH 4567H 只能将寄存器或存储单元的内容压入堆栈,不能是立即数(4) XCHG VAR1,V AR2 两个存储单元之间不能直接交换数据(5) ADD AL,148H 运算溢出(6) MOV DS,2000H 立即数不能直接传送给DS段寄存器(7) MOV BH,SI BH和SI的长度不一致(8) SUB 38H,AL 目的操作数不能是立即数3. 若SP=2000H,AX=3355H,BX=4466H,试指出下列指令或程序段执行后有关寄存器的内容。

(1) PUSH AX执行后AX=?,SP=?(2) PUSH AXPUSH BXPOP DXPOP CX执行后AX=?,CX=?,DX=?,SP=?【解】(1) 执行后AX=3355H,SP=1FFEH(2) 执行后AX=3355H,CX=3355H,DX=4466H,SP=2000H4. 请按下面的要求写出相应的汇编指令或指令序列。

微机原理作业及参考答案

微机原理作业及参考答案

微机原理作业及参考答案第⼀章计算机基础(P32)1-3写出下列机器数的真值:(1)01101110 (2)(3)01011001 (4)答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列⼆进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原= [x]反= [x]补=(4)[x]原= [x]反= [x]补=1-5 当下列各⼆进制数分别代表原码,反码,和补码时,其等效的⼗进制数值为多少?(1)00001110 表⽰原码14,反码14,表⽰补码为14(2)表⽰原码-127,反码-0,表⽰补码为-1(3)表⽰原码-0,反码-127,表⽰补码为-128(4)表⽰原码-1,反码-126,表⽰补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

(字长8位)(1)[x1+y1]补(2)[x1-y2]补(3)[x2-y2]补(4)[x2+y2]补(5)[x1+2*y2]补(6)[x2+y2/8]补答案:(1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101(2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101(3)[x2-y2]补=[x2]补+[-y2]补=+00100001=00001101(4)[x2+y2]补=[x2]补+[y2]补=+=(5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+=(6)[x2+y2/8]补=+[y2/8]补=+=1-7 ⽤补码来完成下列运算,并判断有⽆溢出产⽣(字长为8位):答案:(1)[x]补+[y]补=01010101+00111100= = -111,有溢出(2)[x]补+[y]补=+00111100= =-25,⽆溢出(3)[x]补+[y]补= 01010101+=00011001 =25,⽆溢出(4)[x]补+[y]补=+=01101111 =111,有溢出1-8在微型计算机中存放的两个补码数,试⽤补码加法完成计算,并判断有⽆溢出产⽣。

微机原理和接口技术第一、二章作业和答案

微机原理和接口技术第一、二章作业和答案

8. 两个不压缩BCD码分别存放在3000H和 3001H单元的低4位,高4位均为0。将两个不 压缩的BCD码组合成为一个压缩的BCD码, 前者放在低4位,后者放在高4位,存放在 3002H单元。例如初值为: (3000H)=07H, (3001H)=05H, 要求结果为(3002H)=57H 9. 将4000H和4001H单元的两个ASCII码分别转 换为相应的十六进制数,然后共同存放在 4002H单元,前者放在低4位,后者放在高4 位。例如初值为: (4000H)=42H=‘B’, (4001H)=36H=‘6’, 要求结果为(4002H)=6BH
10. 微机某内存单元的内容为C5H,若它表示的是一个 无符号数,该数对应的十进制数是多少?若它表示 的是一个带符号数,该数对应的十进制数是多少?
3
11. 将下列十进制数分别转化为二进制数(保留4位小 数)、十六进制数(保留4位小数)和压缩BCD数
(1)125.74 1)101011.101 3)1001.11001 1)5A.26 3)6AB.24 (2)513.85 2)110110.1101 4)100111.0101 2)143.B5 4)E2F3.2C (3)742.24
24
3-3、试编写求两个无符号双字长数之和的程序。两数 分别放在MEM1和MEM2单元中,和放在SUM单元 中 3-4、假设数据项定义如下: DATA1 DB ‘HELLO! GOOD MORNING!’ DATA2 DB 20 DUP(?) 用串操作指令编写程序段,使其分别完成以下功能: (1)从左到右将DATA1的字符串传送到DATA2中 (2)传送完后,比较DATA1和DATA2中的内容是否 相同 (3)把DATA1中的第3和第4个字节装入AX (4)把AX的内容存入DATA2+5开始的字节单元中。 25

微机原理作业与答案第四章1

微机原理作业与答案第四章1

微机原理作业与答案第四章1第四章汇编语⾔程序设计4-2 下列程序执⾏后,寄存器AX,BX,CX的内容分别是多少?D SEGMENT AT 0202H;定位数据段地址ORG 0202H ;定位偏移地址DA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202HMOV CL,BYTE PTR DA_WORD ;(CL)=20H(将变量DA_WORD的属性改变为字节型)MOV CH,TYPE DA_WORD ; (CH)=2(变量类型数值);(CX)=0220H4-4 试编制⼀程序,把CHAR1中各⼩写字母分别转换为对应的⼤写字母,并存放在CHAR2开始的单元中(题⽬要求:不改变CHAR1的内容)⽅法1,⼩写字母转换⼀个输出显⽰⼀个,前3种⽅法均使⽤了AL寄存器D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1;变量必须先定义后使⽤,⽽不能相反CHAR2 DB N DUP(0) ; ;不能把此句与上⼀句对调,CHAR2 DB $-CHAR1有;的同学这样写,错在哪?CHAR2 DB $-CHAR1 DUP(0)是可以的D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:S ;ASSUME是伪指令,后⾯不能写冒号START: MOV AX,DMOV DS,AX;MOV ES,AX ;只要⽤到串操作指令且DILEA SI,CHAR1 ;MOV SI,OFFSET CHAR1LEA DI,CHAR2 ; MOV DI,OFFSET CHAR2MOV CX,N ;$-CHAR1,不可以AGAIN:MOV AL,[SI]SUB AL,20H ;AND AL,5FH有的同学是这样实现的MOV AH,2INT 21H ;从屏幕显⽰INC SIINC DILOOP AGAINMOV AH,4CHINT 21H ; ;不是必须的C ENDSEND START⽅法2:使⽤通⽤数据传送指令MOVD SEGMENTCHAR1 DB ‘abcdefghijklmnopqrstuvwxyz’N EQU $-CHAR1;变量必须先定义后使⽤,⽽不能相反CHAR2 DB N DUP(0);不能把此句与上⼀句对调D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的) C SEGMENTASSUME CS:C ,DS:D ,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AX ;只要⽤到串操作指令且DIMOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NAGAIN: MOV AL,CHAR1[SI] ; MOV AL,[SI]SUB AL,20HMOV CHAR2[DI],AL ; MOV [DI],ALINC SIINC DI LOOP AGAINMOV AH,4CHINT 21H ;不是必须的第3种⽅法:使⽤串的读写指令LODSB STOSBD SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1CHAR2 DB $-CHAR1 DUP(0) D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的) C SEGMENTASSUME CS:C,DS:D,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NCLD ;不写(隐含)也是0(递增)但不能STD AGAIN: LODSB ;执⾏⼀次,隐含修改SISUB AL,32STOSB ;MOV [DI],AL;执⾏⼀次, 隐含修改DI INC DI LOOP AGAIN ;LOOP指令只修改CX,不管SI,DI MOV AH,4CHINT 21H ;不是必须的C ENDSEND START第四种⽅法2006级,没有显⽰使⽤MOVSB指令D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)ASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXLEA SI,CHAR1LEA DI,CHAR2MOV CX,NAGAIN:MOVSB ; SUB [SI],20HDEC DI ; MOVSBSUB BYTE PTR[DI],20H ;LOOP AGAIN 错在哪⾥?结果如何?INC DILOOP AGAINMOV AH,4CHINT 21HC ENDSEND START⽅法5: 只⽤⼀个地址指针SID SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0) D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0MOV CX,NMOV CHAR2[SI],ALINC SILOOP AGAINint 3MOV AH,4CHINT 21HC ENDSEND START有的同学按数据是由键盘录⼊的来考虑的,也可⾏,程序中还有不少问题⽅法6:由键盘输⼊⼩写字母再转换输出,回车符也占⼀个字节,输⼊需要⼩写转换成⼤写字母的内容从输⼊串的第3个元素开始D SEGMENTA DB"CHAR1",0DH,0AH,"$"B DB"CHAR2",0DH,0AH,"$"CHAR1 DB 11,?,11 DUP(0);准备输⼊10个⼩写字母CHAR2 DB 10 DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV DX,OFFSET AMOV AH,9INT 21HLEA DX,CHAR1MOV AH,0AHINT 21H ;由键盘输⼊字符串,10个字母(显⽰),1个回车,共11个字节LEA SI,CHAR1[2]AGAIN:MOV AL,[SI]SUB AL,20HMOV [DI],ALINC SIINC DILOOP AGAIN ; 将⼩写字母字符串转换成⼤写字母字符串MOV BYTE PTR[DI],0DHINC DIMOV BYTE PTR[DI],0AHINC DIMOV BYTE PTR[DI],'$' ;必须指明数据类型MOV DX,OFFSET CHAR2MOV AH,9INT 21H ;输出'$'结尾的⼤写字母字符串int 3MOV AH,4CHINT 21HC ENDSEND START4-6在BUF地址处起,存放有100个字节的字符串,设其中有⼀个以上的“A”字符,编程查找出第⼀个“A”字符相对起始地址的距离,并将其存⼊LEN单元。

微机原理-作业-答案2

微机原理-作业-答案2

作业10:1、立方晶体的晶胞参数为a =5.4Å,按面间距从大到小计算前五个衍射面的d 值,使用Cu K αλ=1.54178Å进行衍射,计算这些衍射面的衍射角θ值。

分别写出具有相同d 值的所有衍射面的面指数。

1: a d 222=a d =1a d 333=a d 214=a d 555=21.81=θ65.112=θ32.143=θ59.164=θ62.185=θ100(6个);110(12个);111(8个);200(6个);210(24个)001;010;100;011;101.2222221c l a h b kd ++=根据此公式求出对应的d 值2、正交晶体的晶胞参数a = 4,b =5,c =6Å,按面间距从大到小计算前五个衍射面的d 值及其面指数(只写一个)。

作业11:一、化学式为XY2的离子晶体属于立方晶系,X2n+的坐标为(0,0,0),(1/2,1/2,0),(1/2,0,1/2),(0,1/2,1/2);Y n-的坐标为(1/4,1/4,1/4),(1/4,1/4,3/4),(1/4,3/4,1/4),(3/4,1/4,1/4),(3/4,1/4,3/4),(3/4,3/4,1/4),(1/4,3/4,3/4),(3/4,3/4,3/4)。

1、通过结构因子判断其点阵格子类型,并写出其空间群。

2、TiF2具有XY2型结构,已知原子(离子)的散射因子等于原子(离子)的电子数, 请通过结构因子计算说明其衍射消光规律。

3、如(331)衍射的2θ=81.276o (CuKαλ=0.154178nm),计算TiF2的晶胞参数和晶体密度。

二、证明:如四方晶体在平行于[110]方向上有n滑移面(滑移分量为(a+b+c)/2),则(hhl)面产生衍射的条件为2h+l=2n。

1.F; Oh;Fm3m2. h,k.l 奇偶混杂,F=0 消光;h,k.l 全奇数,F=80h,k.l全偶数,当h+k+l=4n,F=160当h+k+ l=4n+2 ,F=0. 消光;3.a=0.5159; β=4.152 g/cm3㈡(x y z)存在n滑移面,对应的点为(1/2+y, 1/2+x, 1/2+z )然后根据结构因子计算公式证即可。

微机原理作业与答案第三章

微机原理作业与答案第三章

8086第三章作业3-11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址(1)1000H 10000H-1FFFFH(2)1234H 12340H-2233FH(3)E000H E0000H-EFFFFH(4)AB00H AB000H-BAFFFH3-12对于下列CS:IP组合,计算出要执行的下条指令存储器地址。

(1)CS=1000H和IP=2000H 答:下条指令存储器地址:12000H(2)CS=2400H和IP=1A00H 答:下条指令存储器地址:25A00H(3)CS=1A00H和IP=B000H 答:下条指令存储器地址:25000H(4)CS=3456H和IP=ABCDH 答:下条指令存储器地址:3F12DH3-37 指出下列指令源操作数的寻址方式(1)MOV AX,1200H;立即数寻址(2)MOV BX,[1200H];直接寻址(3)MOV BX,[SI];变址寻址(4)MOV BX,[BX+SI+1200];相对基变址寻址(5)MOV [BX+SI],AL;寄存器寻址(6)ADD AX,[BX+DI+20H];相对基变址寻址(7)MUL BL ;寄存器寻址(8)JMP BX ;间接寻址(9)IN AL,DX ;寄存器间接寻址(10)INC WORD PTR[BP+50H] ;相对基址寻址小结:虽然对存储器的访问指令、输入/输出指令(IN指令和OUT指令)、跳转指令(JMP指令)都有直接寻址和间接寻址,但是形式是有很大差别的:1.直接寻址:(1)对于存储器的访问用方括号括起来的二进制数,如:MOV BX,[1200H](2)对于输入/输出指令(IN指令和OUT指令)用二进制数如:IN AX,8FH 又如: OUT 78H,AL(3)对于跳转指令(JMP指令)是以目标标号为直接地址的如: JMP ADDR12.间接寻址:(1)对于存储器的访问有分为基址寻址、变址寻址、基址加变址寻址以及带位移量的所谓相对基址寻址、相对变址寻址、相对基址加变址寻址如:MOV AX,[BP](2)对于输入/输出指令用DX做间接寻址寄存器如:IN AX,DX 又如: OUT DX,AL(3)跳转指令直接写明寄存器即可 (段内)如: JMP BX段间需组合:如: JMP DWORD PTR [BX+ADDR1]3-38指出8086/8088下列指令中存储器操作数地址的计数表达式。

微机原理课后习题参考答案

微机原理课后习题参考答案

微机原理课后习题参考答案(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--上册第一章P9微处理器、微型计算机、微型计算机系统的区别是什么答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。

(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。

(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。

微型计算机由哪些基本部分构成微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。

说明CISC、RISC及其主要区别。

CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。

他们的区别在于不同的CPU设计理念和方法。

RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。

完成特殊功能时效率比较低。

CISC的指令系统比较丰富,一些特殊功能都有相应的指令。

处理特殊任务效率较高。

RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。

RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。

RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。

RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。

从使用角度看,RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。

第二章8086CPU 由哪两大部分组成简述它们的主要功能。

总线接口部件BIU跟执行部件EU。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机原理与接口技术习题解答 第七章 1、CPU与外设交换数据时,为什么要通过I/O接口进行?I/O接口电路有哪些主要功能? 答:⑴ CPU与外设交换数据时,存在工作速度不匹配、信号电平不匹配、信号格式不匹配、时序不匹配等问题,因此要通过I/O接口进行。 ⑵ I/O接口电路有哪些主要功能是:①设置数据缓冲以解决两者速度差异所带来的不协调问题;②设置信号电平转换电路;③设置信息转换逻辑以满足对各自格式的要求;④设置时序控制电路来同步CPU和外设的工作;⑤提供译码电路;⑥部分接口电路还具有输入输出控制、读/写控制机终端控制等逻辑。

3、什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口编址时采用哪两种方法?在8086/8088CPU中一般采用哪种编址方式? 答:⑴ CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路总,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑称为I/O端口。 ⑵ 接口电路中可以设置数据端口、状态端口、命令端口。 ⑶ 计算机对I/O端口编址时采用存储器映象寻址方式或者I/O单独编址方式。 ⑷ 在8086/8088 CPU中一般采用I/O寻址方式。

4、CPU与外设间传送数据主要由哪几种方式? 答:程序控制方式、中断方式和DMA方式。

7、某一个微机系统总,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。 答:1#芯片~8#芯片的端口地址范围分别是:9000H~9007H;9008H~900FH;9010H~9017H;9018H~901FH;9020H~9027H;9028H~902FH;9030H~9037H;9038H~903FH; 端口译码电路如下: G1G2AG2BCBAY0Y1Y2Y3Y4Y5Y6Y7

74LS138A15A12

A14A13

M/IO

A2A1A0

1#芯片的片选端2#芯片的片选端3#芯片的片选端4#芯片的片选端5#芯片的片选端

7#芯片的片选端6#芯片的片选端

8#芯片的片选端

8、什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好处? 答:⑴ 在微型计算机系统中,将用于各部件之间传送信息的公共通路称为总线。 ⑵ 总线分为:片级总线、系统总线、外部总线。 ⑶ 简化了硬件的设计、简化了系统结构、系统扩充性好、系统更新性能好、便于故障诊断和维修。 第八章 2、CPU响应中断的条件是什么?简述中断处理过程。 答:CPU响应中断的条件是:外设提出中断申请;本中断未被屏蔽;中断允许; 中断处理过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。具体而言分为:(蚕丝被http://www.agdren.com/)中断请求、CPU响应中断请求、保护现场、执行中断服务程序、恢复现场、中断返回。

4、中断服务子程序中中断指令STI放在不同位置会产生什么不同结果?中断嵌套时STI指令应如何设置? 答:STI指令允许CPU响应比当前中断优先级高的中断,为了防止在因为响应高级中断而破坏现场,保护现场和恢复现场以外的位置才能使用以允许中断嵌套,否则程序执行会出错。中断嵌套时,需要允许CPU在执行中断服务程序时响应更高级中断,因此需要在保护现场完后开中断,由于恢复现场不能被打断,因此在恢复现场前应先关中断。

7、8086/8088CPU如何获得中断类型号? 答:①对于除法出错,单步中断,不可屏蔽中断NMI,断点中断和溢出中断,CPU分别自动提供中断类型号0~4;②对于用户自己确定的软件中断INT n,类型号由n决定;③对于外部可屏蔽中断INTR,可以用可编程中断控制器8255A获得中断类型号。

8、给定SP=0100H,SS=0500H,PSW=0240H,在存储单元中已有内容为(00024)=0060H、(00026H)=1000H,在段地址为0800H及偏移地址为00A0H的单元中,有一条中断指令INT9.试问,执行INT9指令后,SS、SP、IP、PSW的内容是什么?栈顶的三个字是什么? 答:中断指令不涉及堆栈段地址操作,因而SS=0500H,压栈三次,因而SP=SP-6=00FAH、为中断向量的低字IP=0060H、INT指令影响PSW的IF和TF两位,因此PSW=0040H。堆栈栈顶的三个字分别为:(00FAH)=0240H,(00FCH)=0800H,(00FEH)=00A0H。

13、系统中有三个中断源,从8259A的IR0、IR2、IR4端引入中断,以脉冲触发。中断类型号分别为50H、52H、54H,中断入口地址为5020H、6100H、3250H,段地址为1000H。使用完全嵌套工作方式,普通EOI结束,试编写初始化程序,试编写初始化程序,使得CPU响应任何一级中断时,能正确工作。并编写一段中断服务程序,(丰胸产品http://www.2012110.com)

保证中断嵌套的实现及正确返回。 答:初始化程序: ⑴ 中断向量: MOV AX,1000H ;送入段地址 MOV DS,AX MOV AX,5020H ;送入偏移地址 MOV AL,50H ;中断类型号 MOV AH,25H INT 21H ;设置中断向量 MOV AL,52H ;52中断 MOV AH,25H INT 21H MOV AL,54H ;54中断 MOV AH,25H INT 21H ⑵初始化8259A: MOV AL,13H ;定义ICW1,单片使用,边缘触发,需要设置ICW4 OUT 20H,AL MOV AL,50 ;定义ICW2,中断类型号为50H~57H OUT 21H,AL ;不需要设置ICW3 MOV AL,01H ;定义ICW4,非特殊全嵌套方式,非缓冲方式, ;非自动EOI结束方式 OUT 21H,AL MOV AL,15H ;定义OCW1,允许IR0,IR2,IR4中断,其余屏蔽 OUT 21H,AL MOV AL,20H ;定义OCW2,普通EOI结束方式 OUT 20H,AL ⑶ 中断服务子程序: INT_SERVER: ··· ;保护现场,将程序中使用的寄存器压入堆栈 STI ;开中断 ··· ;执行任务 CLI ;关中断 ··· ;恢复现场 MOV AL,20H ;普通EOI结束方式 OUT 20H,AL IRET ;中断返回 第九章 1、8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么? 答:8253内部具有三个独立的16位计数通道:通道0、通道1、通道2. 8253每个计数通道可工作于6中不同的工作方式: (1)方式0——计数结束中断方式(Interrupt on Terminal Count),在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 (2)方式1——可编程单稳态输出方式(Programmable One-short),用来产生单脉冲。 (3)方式2——比率发生器(Rate Generator),用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲周期相同。 (4)方式3——方波发生器(Square Wave Generator),用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。 (5)方式4——软件出发选通(Software Triggered Strobe),由软件触发计数,在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。 (6)方式5——硬件出发选通(Hardware Triggered Strobe),由硬件触发计数,在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。 6种方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道在此按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。

3、对8253进行初始化编程分哪几步进行? 答:(1) 写入通道控制字,规定通道的工作方式; (2) 写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。若为16位计数值则分两次写入,先写低8位,后写高8位。D0:用于确定计数数制:0,二进制;1,BCD码

4、设8253的通道0~2和控制端口的地址分别为300H,302H,304H和306H,定义通道0工作在方式3,CLK0=2MHz。试编写初始化程序,并画出硬件连线图。要求通道0输出1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。 答:硬件连接图如下图所示: G1G2AG2BCBAY0Y1Y2Y3Y4Y5Y6Y7

74LS138

80868253

A9A8

A7A6

M/IOA5

A4A3A0

A2A1WRRDA2A1WRRD

D7~D0D7~D0

INTRINTIR08259AOUT2

GATE0GATE1GATE2

+5V

CLK02MHzOUT01.5kHz

CLK1OUT1300Hz

CLK2

初始化程序如下: ;通道0初始化程序 MOV DX,306H ;控制端口地址 MOV AL,00110111B ;通道0控制字,先读写低字节,后高字节,方式3,BCD计数 OUT DX,AL ;写入方式字 MOV DX,300H ;通道0地址 MOV AL,33 ;低字节 OUT DX,AL ;先写入低字节 MOV AL,13 ;高字节 OUT DX,AL ;后写入高字节 ;通道1初始化程序 MOV DX,306H MOV AL,01010101B;通道1方式字,只读写低字节,方式2,BCD计数 MOV DX,302 ;通道1地址 MOV AL,5 OUT DX,AL ;通道2初始化程序 MOV DX,306H MOV AL,01010001B;通道2方式字,只读写低字节,方式0,BCD计数 MOV DX,304 ;通道2地址 MOV AL,6 OUT DX,AL

相关文档
最新文档