微机原理答案.pdf_第1页
微机原理答案.pdf_第2页
微机原理答案.pdf_第3页
微机原理答案.pdf_第4页
微机原理答案.pdf_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理课后答案微机原理课后答案 习题与思考题 参考答案 习题与思考题 参考答案 第一章第一章 1 6 将下列十进制数转换成二进制数 256D 10000000B237 135D 11101101 0010001B 12 58D 1100 100101B0 374D 0 0101B 1 7 写出下列二进制数对应的十进制数 八进制数 十六进制数 1101110B 110D 156Q 6EH111011000B 472D 730Q 1D8H 1101111 1001B 111 5625D 157 44Q 6F 9H 1 8 填空 10101 001B 21 125 D 25 1 Q 15 2 H 2DE 6H 1011011110 011 B 1336 3 Q 734 375 D 1 9 试写出下列用补码表示的二进制数的真值 00111010 00111010 5810000000 128 10000101 11111011 12311111110 10000010 2 01111110 01111110 126 1 10 已知 35 89 试用补码运算法则 求出 补 00100011 原 11011001 补 10100111 补 补 补 00100011 10100111 11001010 10110110 54 1 11 已知 补 10011011 补 10111001 试求 补 有溢出 结果出错 因为 补 补 补 10111001 所以 补 补 补 00011110 补 11100010 补 补 补 10011011 11100010 01111101 的真值各为多少 原 11100101 的真值为 101 原 00011110 的真值为30 第二章第二章 2 3 8086CPU 的 ALE 信号的功能是什么 答 ALE Address Latch Enable 是8086CPU 提供给地址锁存器的控制信号 在任何一个 总线周期的 T1状态 ALE 输出有效电平 正脉冲 以表示当前地址 数据 地址 状态复 用总线上输出的是地址信息 锁存器可利用它的下降沿将地址锁存起来 ALE 信号不能浮空 2 4 8086CPU 内部的寄存器由哪几种类型组成 各自的作用是什么 答 8086CPU 内部有14个16位寄存器 可以分为以下三组 分别是通用寄存器组 段寄存 器组 控制寄存器 通用寄存器组可以分为两组 数据寄存器和地址指针与变址寄存器 数据寄存器主要用来保存算术 逻辑运算的操作数 中间结果和地址 地址指针与变址寄存器主要用于存放或指示操作数的偏移地址 段寄存器组 8086 8088CPU 内部设置了4个16位段寄存器 它们分别是代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加段寄存器 ES 由它们给出相应逻辑段的首地址 称为 段基址 控制寄存器 含指令指针 IP 及标志位寄存器 FR IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址 标志寄存器 FR 用来存放运算结果的特征 2 6 8086的存储器采用什么结构 答 8086的存储器采用分体结构 1M 的存储空间分成两个存储体 偶地址存储体和奇地址 存储体 各为512K 字节 2 7 8086CPU 访问存储器时物理地址是如何形成的 答 8086CPU 访问存储器时根据所执行的操作 自动选择某个段寄存器 将其中的内容 16 位 自动左移4位形成20位地址的高16位 而20位地址的低4位自动添0 然后通过20位地址 加法器再与16位偏移量相加 形成对应的物理地址 2 10名词解释 1 时钟周期 一个时钟脉冲的时间长度 CPU 的时钟频率的倒数 也称 T 状态 2 总线周期 CPU 中 BIU 完成一次访问存储器或 I O 端口操作所需要的时间 称作 一个总线周期 也称机器周期 Machine Cycle 3 指令周期 执行一条指令所需的时间称为指令周期 4 等待周期 在 T3和 T4之间插入的周期 4 空闲状态 CPU 不执行总线周期时的状态 5 时序 计算机操作运行的时间顺序 2 12 如果8086的CLK引脚输入的时钟脉冲频率为4MHz 那么一个基本的总线周期是多少 答 T 1 4 s 那么一个基本的总线周期是4T 1 s 第三章第三章 3 5 已知某个系统的 ROM 容量为6K 字节 首地址为2800H 求其最后一个单元的地址 答 最后一个单元的地址 2800H 17FFH 3FFFH 3 6采用 Intel 2114 1K 4位 RAM 芯片 组成64K 8位的存储器 需要多少片2114 答 需要128块 注 扩展时需要的芯片数量可以这样计算 要构成一个容量为 M N 位的存储器 若使用 p k 位的芯片 p M k N 则构成这个存储器需要 M p N k 个这样的存储器芯片 3 7某 RAM 芯片的存储容量为4096 8位 则该芯片的引脚中有几条数据线和几条地址线 已知某 RAM 芯片引脚中有8条数据线 12条地址线 那么该芯片的存储容量是多少 答 该芯片的外部引脚应有8条数据线 12条地址线 RAM 芯片引脚中有8条数据线 12条地址线 那么该芯片的存储容量是4K 8位 3 8在8086存储器系统的最高地址区组成32KB 的 ROM 要求采用2764芯片 8K 8的 EPROM 以及利用74LS138译码器进行全译码 请画出这些芯片与系统总线连接的示意图 74LS13874LS13874LS13874LS138 G G G G1 1 1 1 G G G G2A2A 2A2A G G G G2B2B 2B2B 待转换数为23567 ADECDB 5 DUP TABDW 10000 1000 100 10 1 DATAENDS CODESEGMENT ASSUMECS CODE DS DATA BXEDC PROCFAR START MOVAX DATA MOVDS AX LEASI TAB LEADI ADEC MOVAX BIN LOP0 XORCL CL MOVBX SI LOP1 SUBAX BX JBNEXT INCCL JMPLOP1 NEXT ADDAX BX MOV DI CL INCSI INCSI INCDI CMPBX 1 JNZLOP0 RET BXEDCENDP CODEENDS ENDSTART 4 24 编写一个将16位二进制数转化为四位十六进制数的程序 并将十六进制数的各位显示 出来 注 答案中给了一个假定的16位二进制数 DATASEGMENT BINDW1001110101111011B HEXASCDB4 DUP 20H DB DATAENDS STACK1SEGMENT PARASTACK DW20HDUP 0 STACKlENDS CODESEGMENT ASSUMECS CODE DS DATA SS STACKl BINHEX MOVCH 4 十六进制数的位数 MOVBX BIN 取待转移数据 MOVDI OFFSET HEXASC 取存放 ASCII 码首地址 CONV1 MOV CL 4 ROLBX CL 取4位二进制数 MOVAL BL ANDAL 0FH CMPAL 09H 是0 9吗 JBEASCI 是 转移 ADDAL 07H 是 A F 先加07H ASCI ADDAL 30H 加30H MOV DI AL 存结果 INCDI 修改指针 DECCH JNECONVI 计数未完 继续 LEADX HEXASC MOVAH 09H INT21H CODE ENDS ENDBINHEX 很多同学的答案 DATASEGMENT ADW 4 XDW 16位二进制数 YDB 4 DUP DATA ENDS START MOVCX A LEADI Y AGAIN MOVBX X PUSHCX DECCX MOVING SHR BX 4 LOOPMOVING POPCX ANDBL 0FH CMPBL 09H JGDAYU ADDBL 30H JMPXIAOYU DAYU ADDBL 37H XIAOYU MOV DI BL INCDI LOOP AGAIN LEADX Y MOVAH 09H INT21H CODE ENDS ENDSTART 4 26 从 BUF 单元开始有10个带符号数 1 3 248 90 42 9042 4539 0 28792 试找出它们的最大值 最小值和平均值 并分别送 MAX MIN 和 AVG 单元 试编写完整的 汇编语言程序 DATASEGMENT BUFERDW 1 3 248 90 42 9042 4539 0 28792 MAXDW0 MINDW0 AVGDW0 DATAENDS STACKSEGMENTPARASTACK STACK DW100DUP STACKENDS CODESEGMENT ASSUMECS CODE DS DATA SS STACK STARTPROCFAR BEGIN PUSHDS MOVAX 0 PUSHAX MOVAX DATA MOVDS AX LEASI BUFFER MOVAX SI 和清0 MOVBX AX 最大值 MOVDX AX 最小值 INCSI INCSI MOVCX 9 LOP1 ADDAX SI CMPDX SI 与最小值单元中的值相比较 JENEXT1 相等转至 NEXT1 JGNEXT2 若大于转至 NEXT2 MOVDX SI 把小的值送至 DX NEXT1 CMPBL DI JBNEXT2 若低于转移 MOVBL DI 小值 BL 2分 NEXT2 MOVDL DI 取一字节数据 ADDAX DX 累加和 INCDI LOOPLOP1 MOVMAX BH 送大值 MOVMIN BL 送小值 MOVDL 6 DIVDL 求平均值 MOVAVI AL 送平均值 RET STARTENDP CODEENDS ENDBEGIN 5 1 8086CPU 对其 I O 端口的寻址采用哪种方式 它的四条输入指令 IN AL PORT IN AL DX IN AX PORT IN AX DX 的作用有何区别 答 8086CPU 对其 I O 端口的寻址采用 I O 端口单独寻址方式 IN AL PORT 直接寻址 从 PORT 端口读入 输入 一个字节到 AL IN AL DX 间接寻址 从 DX 所指端口读入 输入 一个字节到 AL IN AX PORT 直接寻址 从 PORT 和 PORT 1两个端口读入 输入 一个字到 AX IN AX DX 间接寻址 从 DX 和 DX 1两个端口读入 输入 一个字到 AX 5 5 某输入设备的接口电路中 其数据端口的地址为3F8H 状态端口地址为3FEH 当其 D7 位为1时 表示输入数据已准备好 试编写采用查询方式的数据传送程序段 要求从该设备 读取100个字节 并存放到自2000H 2000H 开始的内存单元之中 MOVAX 2000H MOVDS AX 设定段基址 MOVDI 2000H 目的地址送 DI MOVCX 100 字节数 READ MOVDX 3FEH 指向状态口 INAL DX 读入状态位 TEST AL 80H 数据准备好否 JZREAD 否 循环检测 MOVDX 3F8H 指向数据口 INAL DX 已准备好 读入数据 MOV DI AL 存到内存缓冲区中 INCDI 修改地址指针 LOOP READ 未传送完 继续传送 5 6 设计一个采用74LS138的 I O 端口地址译码器 要求能寻址的端口地址范围分别是 340H 347H 348H 34FH 350H 357H 378H 37FH 答案不唯一 340H 347H 74LS13874LS13874LS13874LS138 G G G G1 1 1 1 G G G G2A2A 2A2A G G G G2B2B 2B2B A A A A9 9 9 9 A A A A8 8 8 8 A A A A7 7 7 7 A A A A2 2 2 2 A A A A1 1 1 1 A A A A0 0 0 0 A A A A B B B B C C C C Y Y Y Y0 0 0 0 Y Y Y Y7 7 7 7 A A A A6 6 6 6 A A A A5 5 5 5 A A A A4 4 4 4 A A A A3 3 3 3 5 16某8086系统中有三片8259A 安排为非缓冲 级连使用 两从片 A B 分别接主片的 IR2 IR4 三片8259A 的端口地址分别为20H 22H 30H 32H 40H 42H 主片及从片 A 从 片 B 的 IR5上各接有一个外部中断源 其中断类型号分别为75H 7DH 85H 所有中断都 采用电平触发方式 全嵌套 非自动 EOI 方式 试完成 画出该系统中三片8259A 级连部分简要的电器原理图 编写出全部初始化程序 8259A 8259A CS CS INT INT Y3 Y2 A0 G1 G2A G2B AB6 AB5 AB4 AB7 M IO AB3 AB2 AB0 138 A0 8259A CS INT A0 C B A Y4 AB1 IR2 IR4 WR IOR IOW 去 CPUINTR 主片 A B RD WR RD WR RD 主 片 ICW1 00011001B 19HICW2 01110000B 70HICW3 00010100B 14H ICW4 00000001B 01H 从片 A ICW1 00011001B 19HICW2 01111000B 78HICW3 00000010B 02H ICW4 00000001B 01H 从片 B ICW1 00011001B 19HICW2 10000000B 80HICW3 00000100B 04H ICW4 00000001B 01H 主片初始化程序 ICW1写入到偶端口地址20H ICW2写入到奇端口地址22H MOV AL 19H OUT 20H AL 写入 ICW1 MOV AL 70H OUT 22H AL 写入 ICW2 MOV AL 02H OUT 22H AL MOV AL 01H OUT 22H AL 6 4 设8253计数器0 2和控制字寄存器的I O地址依次为F8H FBH 说明如下程序的作用 MOV AL 33H 00110011B 计数器0 先低位后高位 方式1 BCD 码计数 OUT 0FBH AL 写控制字 MOV AL 80H 置计数初值低位字节80H OUT 0F8H AL 先写低位字节 MOV AL 50H 置计数初值高位字节50H OUT 0F8H AL 写高位字节 程序的作用为 使计数器0工作在方式1 用 BCD 码计数 计数初值为5080 6 5 设8253的4个端口地址分别为300H 302H 304H 和306H 由 CLK0输入计数脉冲频率 为2MHz 要求通道0输出1 5kHz 的方波 通道1 通道2均用通道0的输出作计数脉冲 通道 1输出频率为300Hz 的序列负脉冲 通道2每秒钟向 CPU 发50次中断请求 试编写初始化程 序 并画出8253相关引脚的连线图 通道0 输出方波则工作在方式3 计数初值为 n0 2MHz 1 5kHz 1334 536H 1 499kHz 控制字为 00110110B 36H 通道1 输出序列负脉冲则工作在方式2 计数初值为 n1 1 5kHz 300Hz 5 05H 控制字为 01010100B 54H 通道2 每秒钟向 CPU 发50次中断请求则工作在方式2 计数初值为 n2 1500 50 30 1EH 控制字为 10010100B 94H 初始化程序 通道0 MOV DX 306H MOV AL 36H OUT DX AL MOV DX 300H MOV AL 36H OUT DX AL MOV AL 05H OUT DX AL GATE0 GATE1 GATE2 OUT0 CLK1 CLK2 2MHz 1 5KHz 方波 300Hz 序列负脉冲 每秒50次中断信号 CS A1 A0 D7 D0 I O 译码 M IO A7 A0 A2 A1 D7 D0 5V OUT2 CLK0 OUT1 WR RD WR RD 7 3编程使8255A 的 PC5端输出一个负跳变 如果要求 PC5端输出一个负脉冲 则程序又如何 编写 设端口地址分别为 B0H B2H B4H B6H 系统复位后8255A 的所有端口都被置为输入 控制字为 1 1 1 10000 0 0 0000B 80H 输出负跳变 MOVAL 80H OUTB6H AL MOVAL 0BH OUTB6H AL MOVAL 0AH OUTB6H AL 输出负脉冲 MOVAL 80H OUTB6H AL MOVAL 0BH OUTB6H AL MOVAL 0AH OUTB6H AL MOVAL 0BH OUTB6H AL 7 4假设图7 15键盘接口电路中8255A 的 A B C 口和控制口地址为218H 21BH 写出完 整的行反转法键盘扫描子程序 KEY1 设置行线接输出端口 ROWPORT 列线接输入端口 COLPORT 并判断是否有键按下 KEY2 MOV AL 00H MOV DX ROWPORT OUT DX AL 行线全为低 MOV DX COLPORT IN AL DX 读取列值 CMP AL 0FFH JZ KEY2 无闭合键 循环等待 PUSH AX 有闭合键 保存列值 PUSH AX 设置行线接输入端口 ROWPORT 列线接输出端口 COLPORT MOV DX COLPORT POP AX OUT DX AL 输出列值 MOV DX ROWPORT IN AL DX 读取行值 POP BX 结合行列值 此时 MOV AH BL AL 行值 AH 列值 查找键代码 MOV SI OFFSET TABLE TABLE 为键值表 MOV DI OFFSET CHAR CHAR 为键对应的代码 MOV CX 64 键的个数 KEY3 CMP AX SI 与键值比较 JZ KEY4 相同 说明查到 INC SI 不相同 继续比较 INC SI INC DI LOOP KEY3 JMP KEY1 全部比较完 仍无相同 说明是重键 KEY4 MOV AL DI 获取键代码送 AL 判断按键是否释放 没有则等待 CALL DELAY 按键释放 延时消除抖动 后续处理 TABLE DW 0FEFEH 键0的行列值 键值 DW 0FDFEH 键1的行列值 DW 0FBFEH 键2的行列值 全部键的行列值 CHARDB 键0的代码 DB 键1的代码 全部键的代码 7 5设某工业控制系统中 有四个有触点开关 K0 K3控制 分别用于代表四种不同的工作状 态 另有四个发光二极管 L0 L3 要求 CPU 反复检测 K0 K3的状态 并控制 L0 L3的发光 用来表示四个开关的状态 其中 L0 L3分别与 K0 K3对应 即当某 Ki开关闭合时 则使对 应的发光二极管 Li点亮发光 开关 Ki打开则对应发光二极管 Li不亮 试画出系统的电器原 理图并编写相应的程序 设端口地址分别为 B0H B2H B4H B6H 5V 5V 5V 5V K3K3K3K3 K2K2K2K2 K1K1K1K1 K0K0K0K0 LED3LED3LED3LED3 LED2LED2LED2LED2 LED1LED1LED1LED1 LED0LED0LED0LED0 PA3PA3PA3PA3 PA2PA2PA2PA2 PA1PA1PA1PA1 PA0PA0PA0PA0 PB3PB3PB3PB3 PB2PB2PB2PB2 PB1PB1PB1PB1 PB0PB0PB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论