ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:63.38KB ,
资源ID:12922364      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12922364.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术作业答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理与接口技术作业答案.docx

1、微机原理与接口技术作业答案第二章 微处理器及其结构2-7 什么是逻辑地址? 什么是物理地址? 在实地址方式下,如何求存储器的物理地址? 设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1). 实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2). 物理地址=段基址*16 + 偏移地址3). 首字单元地址: 70A0H*16 +DDF6H = 70A00H + DDF6H = 7E7F6H 末字单元地址: 7E7F6H + (16-1)*2 = 7E7F6H + 1EH = 7E814H注意

2、:相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.第三章 指令系统3-6 分别指出下列指令中源操作数和目标操作数的寻址方式. 若是存储器寻址,用表达式表示EA=?(1)AND AX, 00FFH(2)ADD BX, 00FFH(3)MOV AX, BX+10H(4)ADD AX, ESI*8(5)SUB BPSI, AX(6)MOV AX, BX+DI+20H(7)CMP SI, AX(8)OR AX, DX(9)MOV EAX, ESIEDI*2(10)PUSH DS解:(1)立即数寻址(2)直接寻址 EA=00FFH(3)基址寻址 EA=(BX)+10(4)比

3、例间址 EA=ESI*8(5)基址加间址寻址 EA=(BP)+(SI)(6)带位移的基址加间址寻址 EA=(BX)+(DI)+20H(7)间址寻址 EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址 EA=(ESI)+(EDI)*2(10)寄存器寻址注意: 16位寻址: BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器. SI和DI作为间址寄存器. 默认DS为段寄存器 32位寻址: 8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器. 除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存

4、器,其它以DS作段基址寄存器3-7 32位微机工作在实地址模式下, 已知(DS) = 1000和(SS) = 2000H, (SI) = 007FH, (BX) = 0040H, (BP) = 0016H, 变量TABLE的偏移地址为0100H. 指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOV AX, 1234H(2)MOV AX, TABLE(3)MOV AX, BX+100H(4)MOV AX, TABLEBPSI解:(1)直接寻址EA=1234H PA=(DS)*16 + EA = 11234H(2)直接寻址EA=(TABLE)=0100H PA

5、=(DS)*16+EA=10100H(3)基址寻址EA=(BX)+100H=0140H PA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195H PA=(SS)*16+EA=20195H注意: 当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器. 这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8 指出下列指令的错误,并加以改正.(1)MOV DS, 100(2)MOV 1020H, DX(3)SUB 1000H, SI(4)PUSH AL(5)IN AL, 80H(6)MOV

6、 DS, ES(7)JMP BX(8)SHR DX, 4(9)OUT 380H, AX(10)ADD AL, BX(11)POP CS(12)MOV CL, 3300H解:(1)立即数不能直接传送到段寄存器中去 应改为: MOV AX, 100 MOV DS, AX(2)立即数只能出现在源操作数位置 应改为: MOV DX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址 应改为: MOV AX, 1000H SUB AX, SI(4)PUSH指令不能操作8位数据 应改为: PUSH AX(5)80H 不是端口 IN AL ,80H 应改为: IN AL, 80H(6)两个段寄存器之间

7、不能直接传送 应改为: MOV AX, ES MOV DS,AX(7)对(8)移位次数超过1的时候,要把移位次数放入CL中 应改为: MOV CL, 4 SHR DX, CL(9)端口地址大于255时,要把地址放入DX中 应改为: MOV DX, 380H OUT DX, AX(10)源操作数和目标操作数不匹配 应改为: ADD AX, BX(11)POP指令只能使用在存储器或通用寄存器 可改为: POP AX(12)源操作数和目标操作数不匹配 应改为: MOV CX, 3300H3-9 已知: (DS) = 091DH, (SS) = 1E4AH, (AX) = 1234H, (BX) =

8、0024H, (CX) = 5678H, (BP) = 0024H, (SI) = 0012H, (DI) = 0032H, 09226H = 00F6H, 09228H = 1E40H, 1E4F6H = 091DH. 试求下列各指令单独执行后的结果.(1)MOV CL, 20HBXSI ; (CL) = ?(2)MOV BPDI, CX ; IE4F6H = ?(3)LEA BX, 20HBXSI : (BX) = ? MOV AX, 2BX : (AX) = ?(4)LDS SI, BXDI MOV SI, BX ; (SI) = ?(5)XCHG CX, 32HBX ; (AX) =

9、? XCHG 20BXSI, AX ; 09226H = ?解:(1)(CL) = 00F6H(2)IE4F6H = 5678H(3)(BX) = 0056H(AX) = 1E40H(4)(SI)= 0024H(5)(AX) = 5678H09226H = 1234H3-10 已知 (AL) = 0C4H, DATA单元中内容为5AH, 写出下列每条指令单独执行后的结果 (ODITSZAPC:0-xxux0)(1)AND AL, DATA(2)OR AL, DATA(3)XOR AL, DATA(4)NOT DATA(5)AND AL, 0FH(6)OR AL, 1H(7) XOR AL, 0

10、FFH(8) TEST AL, 80H解:(1)(AL) = 40H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(2)(AL) = DEH CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(3)(AL) = 9EH CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义(4)(AL) = A5H 不影响任何标志位(5)(AL) = 04H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(6)(AL) = C5H CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(7)(AL) = 3BH CF=0,OF=0,SF=0,ZF=0,PF=

11、0,AF无定义(8)(AL)不变=0C4H CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义3-12 (AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?(1)ADD AL,BL(2)AND BL,AL(3)CMP AL,BL(4)SHL AL,1解:(1) OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1(2) OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0(3) OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0(4) OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=13-

12、15 试用CMP指令和无条件指令实现以下判断(1)AX和CX中的内容均为无符号数 (AX)(CX)则转至BIGGER标号执行(AX)(DX)则转至BIGGER标号执行(BX)(DX)则转至LESS标号执行解:(1) CMP AX,CXJA BIGGERJB LESS(2) CMP BX,DXJG BIGGERJL LESS第四章 汇编语言程序设计4-9 试用伪指令编写一数据段与下面程序等效。MOV AX, 0913HMOV DS, AXMOV BX, 20HMOV BX, ABDATA SEGMENT AT 0931H ORG 20H DATA1 DW ?(或 DATA1 DW AB) DAT

13、A ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DATA1,ABCODE ENDS4-10 下面各题有语法错误,分别用两种办法修改,使其正确。(1) M1 DW 5060H MOV BL, M1改:M1 DB 60H, 50HMOV BL,M1M1 DW 5060HMOV BL, BYTE PTR M1MOV BX, M1M2 LABEL BYTE M1 DW 5060H MOV BL,M2(2) M2 EQU 10H MOV M2,AL改:DATA SEGMENT ORG 10H M2 DB

14、?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV M2,ALCODE ENDS END STARTMOV SI,10HMOV SI, ALMOV DS:0010H,AL(3) M3 DW ABCD改:M3 DW AB,CD M3 DB ABCD(4) M4 DB 1234改:M4 DB 1234 M4 DW 1234(5) DATA1 SEGMENT DA1 DW 1234H DATA1 ENDS DATA2 SEGMENT DA2 DW 5678H DATA2 ENDS CODE SEG

15、MENT ASSUME CS: CODE, DS: DATA1 MOV BX, DA2 CODE ENDSASSUME CS: CODE, DS: DATA2ASSUME CS:CODE, DS: DATA1 ASSUME DS: NOTHINGASSUME DS: DATA2ASSUME CD:CODE, DS: DATA1, ES: DATA2MOV AX, DATA2MOV ES, AXMOV BX,DA24-12 按照下面要求写出程序的框架(1)数据段的位置从8000H开始,数据段中定义一个有100个字节的数组。(2)堆栈段名为STACK1,留100个字的空间。(3)代码段指定段寄存器

16、,主程序从1000H开始,给有关段寄存器赋值。DATA SEGMENT AT 800H M1 DB 100 DUP (?)DATA ENDSSTACK1 SEGMENT STACK DW 100 DUP (?)STACK1 ENDSCODE SEGMENT AT 100H ASSUME CS:CODE,DS:DATA, SS: STACK1START: MOV AX,DATA MOV DS,AX CODE ENDS END START4-15 将MBUF为起始单元的5个数按相反次序传到NBUF单元开始的存储单元之中.DATA SEGMENT MBUF DW 1,2,3,4,5 NBUF DW

17、5 DUP(?) M EQU 10HDATA ENDSSTACK1 SEGMENT PARA STACK DB 100 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA,SS:STACK1START: MOV AX, DATA MOV DS, AX MOV SI, OFFSET MBUF MOV DI, OFFSET NBUF MOV CX, 5 ADD SI, 8LOP: MOV AX, SI MOV DI,AX DEC SI DEC SI INC DI INC DI DEC CX JNZ LOP MOV AH, 4CH INT 21H

18、CODE ENDS END START4-16 试编写程序,完成下列数字表达式的功能解:DATA SEGMENTXX DB XY DB ?DATA ENDSSTACK1 SEGMENT PARA STACK DB 100 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA,SS:STACK1START: MOV AX, DATA MOV DS, AX MOV AL, XX CMP AL, -1 JG BIGR MOV AL, -1 JMP JUST2BIGR: CMP AL, 1 JGE JUST1 MOV AL, 0 JMP JUST2J

19、UST1: MOV AL, 1JUST2: MOV Y, AL MOV AH, 4CH INT 21HCODE ENDS END START4-17 将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数.DATA SEGMENT D1 DB -1, -2, 1, 2, 3, -4, 4,5,-5,0,0,9,-3 COUNT EQU $-D1 D2 DB 100 DUP(?) D3 DB 100 DUP(?) PNUM DW 1 DUP(?) NNUM DW 1 DUP(?) CONST DW 10000,1000,100,10,

20、1 DECS DB 5 DUP(0) HEAD1 DB THE NUMBER OF POSITIVE NUMBER IS:$ HEAD2 DB THE NUMBER OF NEGATIVE NUMBER IS:$DATA ENDSSTACK1 SEGMENT PARA STACK DB 100 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA,SS:STACK1START: MOV AX, DATA MOV DS, AX MOV BX, OFFSET D1 MOV SI, OFFSET D2 MOV DI, OFFSET D3 MOV C

21、X, COUNTLOP: MOV AL, BX CMP AL, 0 JGE JUST1 MOV DI, AL INC DI INC NNUM JMP JUST2JUST1: JE JUST2MOV SI, AL INC SI INC PNUMJUST2: INC BX DEC CX JNZ LOP MOV AH,9H MOV DX,OFFSET HEAD1 INT 21H MOV AX,PNUM MOV DL,0AH MOV AH,02H INT 21H MOV DL,0DH MOV AH,02H INT 21H MOV AH,9H MOV DX,OFFSET HEAD2 INT 21H MO

22、V AX,NNUM CALL DISPLAY MOV DL,0AH MOV AH,02H INT 21H MOV DL,0DH MOV AH,02H INT 21H MOV AH, 4CH INT 21HDISPLAY PROC NEAR MOV CX,5 LEA SI,CONST LEA DI,DECSCONV3: MOV BL,0LOP1: SUB AX,SI JC NEXT INC BL JMP LOP1NEXT: ADD AX,SI OR BL,30H MOV DI,BL INC SI INC SI INC DI LOOP CONV3 MOV AH,02H MOV CX,5 LEA D

23、I,DECSCONV4: MOV DL,DI CMP DL,30H JZ NODIS JMP DISPNODIS: INC DI LOOP CONV4DISP: INT 21H CMP CX,0 JZ QUIT INC DI MOV DL,DI LOOP DISPQUIT: RETDISPLAY ENDPCODE ENDS END START4-19 内存BLOCK开始,存放着256个字节的带符号数.编写程序,从这些数中找出绝对值最大的数,将其放入MAX中.解:DATA SEGMENT BLOCK DB -1, -3, 2, 5, -4, -7, -8,9,10,-124 COUNT EQU

24、$-BLOCK MAX DB ? MAX1 DB ? DATA ENDSSTACK1 SEGMENT PARA STACK DB 100 DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA,SS:STACK1START: MOV AX, DATA MOV DS, AX MOV SI, OFFSET BLOCK MOV CX, COUNT MOV BL,SI CMP BL, 0 JL ABS1 JMP CON1ABS1: NEG BLCON1: DEC CXLOP: INC SI MOV AL,SI CMP AL, 0 JL ABS2 JMP

25、 CON2ABS2: NEG ALCON2: CMP BL, AL JAE JUST1 XCHG BL, AL MOV DI,SIJUST1: DEC CX JNZ LOP MOV BH,DI MOV MAX,BH MOV MAX1, BL MOV AH, 4CH INT 21HCODE ENDS END START 第五章 存储器5-7 若用1024*1b的RAM芯片组成16K*8b的存储器,,需要多少芯片?在地址线中有多少位参与片内寻址?多少位用做芯片组选择信号? 解: 先进行位扩展,一组芯片需要8片 再进行字扩展,需要16组芯片. 所以共需要16*8=128片 1024=1K,需要10位

26、参与片内寻址 16=24,需要4位做选择信号.5-8 试用4K*8b的EPROM2732和8K*8b的SRAM6264,以及74LS138译码器,构成一个8KB的ROM,32KB的RAM存储系统,要求设计存储器扩展电路,并指出每片存储芯片的地址范围.解:5-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片组成存储器,其地址范围为FC000FFFFFH,试画出存储器与CPU的连接图和片选信号译码电路(CPU地址线20位,数据线8位)。1111 1100 0000 0000 00001111 1101 1111 1111 11111111 1110 0000 0000

27、00001111 1111 1111 1111 11115-10 现有存储芯片:2K*1b的ROM和4K*1bde RAM,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,问各种存储芯片分别用多少片?解:4KB=4K*8b 需要2*8=16片12KB=12K*8b 需要3*8=24片第六章 中断技术6-18 某系统使用一片8259A管理中断,中断请求由IR2引入,采用电平触发、完全嵌套、普通EOI结束方式,中断类型号为42H,端口地址为80H和81H,试画出8259A与CPU的硬件连接图,并编写初始化程序。解:电路图参见教材P178图6-19,由A19-A1=0000

28、 0000 0000 1000 000和M/给出低电平。MOV AL, 1BH(00011011B)OUT 80H, AL ;设置ICW1MOV AL, 40H(01000000B)OUT 81H, AL :设置ICW2MOV AL, 01H(00000001B)OUT 81H, AL :设置ICW4 MOV AL, FBH(11111011B)OUT 81H, AL ; 设置OCW16-19 某系统使用两片8259A管理中断,从片的INT连接到主片的IR2请求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为80H和81H;从片工作与边沿触发、

29、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H,端口地址为20H和21H。要求: (1)画出主、从片级联图(2)编写主、从片初始化程序解:电路图参见教材P179图6-21,主片由A19-A1=0000 0000 0000 1000 000和M/给出低电平,从片由A19-A1=0000 0000 0000 0010 000和M/给出低电平。主片8259AMOV AL,11H(00010001B)OUT 80H, AL ;定义ICW1MOV AL, 70H(01110000B)OUT 81H, AL ;定义ICW2MOV AL, 04H(00000100B)OUT 81H, AL ;定义ICW3MOV AL, 11H(00010001B)OUT 81H, AL ;定义ICW4MOV AL, FBH(11111011B)OU

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1