好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理与接口技术习题答案第五版.ppt

38页
  • 卖家[上传人]:新**
  • 文档编号:591225261
  • 上传时间:2024-09-17
  • 文档格式:PPT
  • 文档大小:86KB
  • / 38 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 3232位微型计算机原理接口技术及其应用位微型计算机原理接口技术及其应用 习题解答习题解答 第一章 绪 论4. 什么叫BCD码?试举例说明〔14页〕BCD码:二进制编码的十进制数四位二进制编码表示一位十进制数,表示范围0-9 如: 12.求11010010和01001110两数分别作“与〞“或〞“异或〞操作的运算结果•与结果:01000010•或结果:11011110•异或结果:10011100 15.试画出组成微型计算机系统的框图并简述各局部的作用•知识准备:注意微型计算机系统,微型计算机,微处理器的地位和概念 16.微型计算机各局部的连接采用总线结构时有哪几种方式?简述它们的优缺点 •①.以CPU为中心的双总线结构:效率不高,运算 器是中间站降低了工作效率.•②.以存储器为中心的双总线结构:效率较高•③.单总线结构:结构简单•④.三总线结构:高效率 17.典型的微处理器由哪几局部组成的?其主要功能是什么? •课本P22,图•三道题分别涉及到微型计算机系统,微型计算机,微处理器的相关知识点 18.简述在微机中执行一条指令的过程。

      •简单来说,执行一条指令过程为: 20.简述PC和SP在微机中的作用•PC程序计数器:用于存放要执行的指令的存储地址,也称指令计数器 SP为堆栈指针 ,详细说明见课本P24•28.什么是计算机的字长? •作为一个整体被一次传送或运算最多的二进制数位 第二章 Intel32位CPU•微处理器的根本组成与系统结构 •课本P29•3.试说明486微处理器中状态存放器各标志位的作用•课本P37 •4.试说明486中控制存放器的作用 •课本P38•13. 试说明80486微处理器中指令流水线的硬件组成与指令流水过程 见课本P41 第三章 80x86寻址方式和指令系统1.数据寻址方式有哪几种?数据寻址有:立即寻址 存储器寻址 存放寻址 位指令模式下和32位指令模式下的存储器寻址方式各有哪几种寻址方式?比较他们的相似与不同之处?①16位指令模式存储器寻址:直接寻址,存放器间接寻址,存放器相对寻址,基址变址寻址,相对基址变址寻址 ②32位指令模式下:直接寻址 ,间接寻址,相对基址寻址,相比照例寻址,相比照例基址变址寻址 3.程序地址寻址方式有哪几种?相对寻址 直接寻址 间接寻址4.什么是堆栈地址寻址方式? “后进先出〞原那么,使用PUSH POP指令 5.指令编码格式是由哪几局部组成的?各局部的含义是什么? 前缀+操作码+寻址方式+偏移量+立即数,见P73指令格式由哪几局部组成的?[标号:] 助记符 操作数 ;注释 7. 80x86指令系统按其功能可分为几局部 ? 数据传送指令 算术运算指令 逻辑运算指令 串操作指令 控制转移指令 处理器控制指令 输入/输出指令 中断指令 DOS功能调用指令 10.堆栈操作指令有哪几种? PUSH SRC;PUSHA;PUSHAD; POP DEST;POPA;POPAD22.DS=2000H,SS=3000H,BP=0200H,SI=4000H, BUF=1000H,EAX=00001000H,EBX=00002000H 假设按16位实模式操作,确定以下每条指令访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。

      知识准备:16位指令模式寻址结构由4局部组成: 段基值*10H+基址+变址+位移量;存放器出现BP,隐含段地址在SS,未出现那么在DS⑴.MOV AL,[1234H] PA=2000*10H+1234H=21234H 源操作数的寻址方式:存储器直接寻址;目的操作数的寻址方式:存放器寻址⑵.MOV EDX,[BX] PA=10*2000H+2000H=22000H 源操作数的寻址方式:存放器间接寻址;目的操作数的寻址方式:存放器寻址⑶.MOV CL,[BX+100H] PA=10*2000H+2000H+100H=22100H 源操作数的寻址方式:存放器相对寻址;目的操作数的寻址方式:存放器寻址 ⑷.MOV [SI],EBXPA=2000*10H+4000H=24000H 源操作数的寻址方式:存放器寻址;目的操作数的寻址方式:存放器间接寻址⑸.MOV AH,BUF[BX+SI] PA=10*2000H+1000H+2000H+4000H=27000H 源操作数的寻址方式:存放器相对基址变址寻址;目的操作数的寻址方式:存放器寻址⑹.MOV EAX,[BP+1234H]PA=10*3000H+0200H+1234H=31434H 源操作数的寻址方式:存放器相对寻址;目的操作数的寻址方式:存放器寻址⑺.MOV [EAX+EBX],DH PA=10*2000H+1000H+2000H=23000H 源操作数的寻址方式:存放器寻址;目的操作数的寻址方式:存放器间接寻址23. 试指出以下指令中的错误⑴MOV [BX],[SI]源操作数和目的操作数同为存储器操作数 ⑵MOV AH,DX源操作数和目的操作数类型不一致⑶.INC [BX]存储器操作数应指明类型⑷.MOV DS,SS源操作数和目的操作数不允许同为段存放器⑸XCHG AX,2000H 源操作数是立即数,只能在存放器之间,存放器和存储器之间 ⑹.MOV AX,[BX+DX] 基址+变址 DX不是可以寻址的存放器,可以寻址的存放器有:BX,BP,SI,DI ⑺XCHG [SP],ES不能随便修改堆栈指针 ⑻.ADD [AX],BX[AX]应该指明操作数类型 ⑼.MOV AX,DI+SI DI+SI用于存放变址,专用存放器,用来对存放器寻址 ⑽.IN AL,BX源操作数应该是8位端口地址或DX存放器24.24.指出以下算术逻辑指令执行后指出以下算术逻辑指令执行后, ,标志标志 CF,ZF,PF,OFCF,ZF,PF,OF和和AFAF的状态的状态 知识准备知识准备:ZF::ZF:零标志位零标志位, ,假设运算结果为假设运算结果为0,0,那么那么ZF=1,ZF=1,否那么为否那么为0 ;SF:0 ;SF:符号标志符号标志, ,假设运算结果为负假设运算结果为负, ,那么那么SF=1,SF=1,否那么为否那么为0;CF:0;CF:进位标志进位标志, ,有借位或进位时有借位或进位时CF=1,CF=1,否那么为否那么为0;OF:0;OF:溢出标志位溢出标志位, ,有溢出为有溢出为1,1,否那么否那么为为0;AF:0;AF:辅助进位标志辅助进位标志, ,低低4 4位进行算术运算时有进位位进行算术运算时有进位或借位或借位, ,那么那么AF=1,AF=1,否那么为否那么为0;PF:0;PF:低低8 8位中位中1 1的个数为的个数为偶偶, ,那么那么PF=1,PF=1,否那么为否那么为0 0 ⑴.MOV AL,80H 不影响标志位⑵.DEC Al; CF=0 ZF=0 SF=0 PF=0 OF=0 AF=1 ⑶.ADD AL,10H; CF=0,ZF=0,SF=1,PF=0,OF=0,AF=0 ⑷.SUB AL,10H CF=0,ZF=0,SF=0,PF=0,OF=0,AF=1 ⑸.MOV AL,3AH 不影响标志位 ⑹.AND AL,0F0H OF=0,ZF=0,SF=0,PF=1,OF=0,AF=0 ⑺.OR AL,0F0H CF=0,OF=0,ZF=0,SF=1,PF=1,AF=0⑻XOR AL,0F0H CF=0,OF=0,ZF=1,SF=0,PF=1,AF=0 存放器清0 MOV AX,0000H;XOR AX,AX;AND AX,0000H;SUB AX,AX;SAL AX,16;SHL AX,16;SHR AX,16 27.试分别数据传送指令,交换指令和堆栈操作指令,实现将首地址为BLOCK的内存单元中两个数据字交换。

      BLOCK变量定义如下: BLOCK DW 10H,20H•MODEL SMALL•DATA•BLOCK DW 10H,20H•CODE•STARTUP MOV AX,BLOCKXCHG AX,BLOCK+2MOV BLOCK,AX#######################PUSH BLOCKPUSH BLOCK+2POP BLOCKPOP BLOCK+2 ######################## MOV AX,BLOCK;BLOCK变量名直接寻址MOV BX,BLOCK+2MOV BLOCK,BXEXITEND 28.设一个字节数据x存放在AL存放器中,试说明以下程序的功能XOR AH,AH; AH清0SAL AX,1; 算术左移 AX=2xMOV BX,AX;MOV CL,2; CL=2SAL AX,CL; AX*2*2=AX*4 AX=8xADD AX,BX; x扩大10倍存放在AX 29.⑴AND AL,OFOH; ⑵OR BL,OFH ⑶XOR CL,OFH ⑷TEST DL O3H JNZ NEXT MOV AL,0 JMP OVERNEXT:MOV AL,1 OVER:HLT 30.试编程统计在AX存放器中有多少个1,并将结果送DL存放器中.data segmentblock db 1000h dup(?)data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dl,0mov cx,16again:ror ax,1 jnc nextinc dlnext:dec cljnz again31.试编程统计在内存BLOCK单元开始按字节存放的100个带符号数中有多少负数,并将结果存放在DLMODEL SMALLDATABLOCK DB CODESTARTUP 第四章1.试计算以下伪指令中各变量所分配的字节数 A1 DW 20;2个字节A2 DW 8DUP(?),10,20;20个字节A3 DD 10DUP(?);40个字节A4 DB3DUP(?,4DUP(0));15个字节A5 DB’Happy New Year!!’;16个字节 3.试编写查表程序,将BUF中任意存放的16个00H~0FH之间的数转换为对应的表示十六进制数的ASCII码,并显示。

      MODEL SMALLDATABUF DB 00H,01H,02H,03H,04H,….0FHTABLE DB 30H,31H,32H……39H……46HCODESTARTUPMOV CX,16MOV BX OFFSET TABLEMOV SI OFFSET BU Next: MOV AL,[SI]XLATMOV [SI],ALMOV DL,ALMOV AH,2INT 21INC SILOOP NextEXITEND 4.在首地址为BUF的内存单元存放了10个字节的无符号数,试编程求其和,存入SUB单元MODEL SMALLDATABUF DB 10H,32H,……SUB DWCODESTARTUPMOV CX,10HCLC LOOP1:ADC AX,[BX]INC BXLOOP LOOP1MOV SUB,AXEXITEND 6.试使用IF,ELSE和ENDIF语句编程,将存入AL存放器的00H~0FH之间的二进制数转换为ASCII码 MODEL SMALLCODESTARTUPIF AL>=’0’&&AL<=’9’ ADD AL,30HELSEADD AL,37HENDIFEXITEND 7. 试使用WHILE和ENDW语句编程,从键盘接收字符存入内存BUF缓冲区,直到出现回车符时停止接收MODEL SMALLDATABUF DB 40DUPCODESTARTUPMOV AH,1INT 21HLEA BX,BUFWHILE AL!=0DH MOV [BX],ALINC BXINT 21HEND8.试使用REPEAT和UNTILCXZ语句编程,在首地址为BUF的缓冲区填入100个00H.MODEL SMALLDATABUF DB 100DUP()CODESTARTUP MOV BX OFFSET BUF MOV CX,100REPEATMOV [BX],00HINC BXUNTIL CXZEXITEND MOV DL,0LEA BX,BLOCKMOV CX,100again:CMP BYTE PTR[BX],0;[BX]和0比较JGE NEXT;假设A≥B,转NEXT,否那么DL加1INC DLNEXT:INC BXLOOP againEXITEND 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.