




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 16/32 位微机原理、汇编语言及接口技术第 2 版 习题解答 2 第 1章 微处理器指令系统 习题 微型计算机到目前为止已发展了几代?给出各代微机的特点和典型的微处理器。 解答 习题 什么是微型计算机? 、单片机和数字信号处理器的含义各是什么? 解答 微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件控制器和运算器的微处理器为核心,所构造出的计算机系统 : 就是面向个人单独使用的一类微机 单片机:用于 控制的微处理器芯片,内部除 还集成了计算机的其他一些主要部件,如: 时器、并行接口、串行接口,有的芯片还集成了 A/D、 D/ 数字信号处理器 要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用 习题 微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 解答 存储器: 外部设备: 习题 什么是微机的系统总线?微机的总线结构为它带来了哪些好处?除电源和地线外,一般将总线分为哪 3 组信号?总线的使用特点是什么? 解答 系统总线:传递信息的一组公用导线, 过它们与存储器和 I/O 设备进行信息交换 好处:组态灵活、扩展方便 三组信号线:数据总线、地址总线和控制总线 其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。 3 习题 简述微型计算机的两个主要应用方向及其应用特点。 解答 用于数值计算、数据处理及信息管理方向 采用通用微机,要求有较快的工作速度、较高 的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。 用于过程控制及嵌人应用方向 采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。 习题 请画出 T 机主板的模块组成框图,并说明各部件的作用。 解答 习题 T 机中的 I/O 通道所指是什么?它由多少个信号线组成? 解答 习题 所谓 的是什么?它的 主要功能是什么? 解答 本输入输出系统 主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备 习题 在 理下, 的 1存空间是怎样分配使用的? 解答 习题 简述计算机中“数”和“码”的区别,计算机中常用的数制和码制各有哪些? 解答 习题 请完成下列数制转换: 将 换为对应的二进制和十六进制形式 将 换为对应的十进制和十六进 制形式 将 换为对应的二进制和十进制形式 4 解答 习题 请写出与数据 37 和 37 对应的 8 位机器数原码、反码、补码和移码,并分别用二进制和十六进制表示出来。 解答 习题 请将上题中 37 和 37 的 8 位补码机器数分别扩充为 16 位和 32 位的形式,用十六进制表示出来。 解答 习题 8 位机器数 46H,若作为无符号数和补码有符号数看待,其对应的真值各是什么?若作为 和 看待,它代表的又各是什么? 解答 无符号数: 4 16 6 70 补码有符号数: 70(正数) : 46 :大写字母 F 习题 将两个用压缩 表示的十进制数相加,可采用直接相加、然后进行二 48+36=84( 8 和 6 相加后出现非法 )和 48+19=67( 8 和 9 相加后出现组间进位)为例,请考虑应如何加和如何调整才能得到正确结果。 解答 习题 插在 ?在哪些系统资源的使用上,两块插卡有可能发生冲突? 解答 习题 请写出单精度浮点数 机器数、并表示为十六进制数形式(可通过 C 语言中的 据类型来加以验证)。 解答 习题 请分别写出数据 50 和 50H 所对应的 ,分别用二进制和十六进制数表示出来,并将它们和原始数据进行对比。 解答 5 习题 英文大小写字母“ D”和“ d”的 各是什么?“回车( 和“换行( 的 各是什么?数码“ 0”、“空格( 和“空操作( 的 各是什么? 解答 习题 已知汉字“ 中”的国标区位码为 54 48,请问它的国标码和机内码各是什么? 解答 第 2章 微处理器指令系统 习题 微处理器内部具有哪 3 个基本部分? 8088 分为哪两大功能部件?其各自的主要功能是什么?这种结构与 8 位 比为什么能提高其性能? 解答 习题 说明 8088 的 8 个 8 位和 8 个 16 位通用寄存器各是什么? 解答 习题 什么是标志?状态标志和控制标志有什么区别?画出标志寄存器 明各个标志的位置和含义。 解答 习题 举例说明 志的差异。 解答 习题 什么是 8088 中的逻辑地址和物理地址?逻辑地址如何转换成物理地址? 1多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达: 40H:17H 2000H:4500H 567H 解答 物理地址:物理存储单元具有的一个唯一的 20 位编号 逻辑地址:在 8088 内部和用户编程时,所采用的 “段地址:偏移地址 ”形式 将逻辑地址中的段地址左移二进制 4 位(对应 16 进制是一位,即乘以 16),加上偏移地址就得到 20 位物理地址 6 1多能分成 116B 220 24 216 个逻辑段,因为每隔 16 个字节单元就可以开始一个逻辑段 40H:17H 00417H 2000H:4500H 24500H 567H 习题 8088 有哪 4 种逻辑段,各种逻辑段分别是什么用途? 解答 代码段( 来存放程序的指令序列。处理器利用 得下一条要执行的指令 堆栈段( 定堆栈所在的主存区域。处理器利用 作堆栈中的数据 数据段( 放当前运行程序所用的数据。处理器利用 取数据段中的数据 附加段( 附加的数据段,也用于数据的保存。处理器利用 习题 什么是有效地址 8088 的操作数如果在主存中,有哪些寻址方式可以存取它? 解答 习题 已知 2000H、 0100H、 0002H,存储单元 20100H 20103H依次存放12H、 34H、 56H、 78H, 21200H 21203H依次存放 2465H,说明下列每条指令执行完后 存器的内容,以及源操作数的寻址方式? 200h ax, 1200h 100h bx+ 100h 解答 200h ; 1200H, 立即数寻址 ax, 0100H, 寄存器寻址 1200h ; 4 直接寻址 7 ; 3412H, 寄存器间接寻址 100h ; 4 寄存器相对寻址 bx+ ; 7856H, 基址变址寻址 100h ; 65对基址变址寻址 习题 说明下面各条指令的 具体错误原因 cx, ip, 234h es, 00 ax,bx+ 0h,解答 习题 已知数字 0 9 对应的格雷码依次为: 18H、 34H、 05H、 06H、 09H、 0011H、12H、 14H,它存在于以 首地址(设为 200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。 bx, 解答 bx,;获取 首地址, 200H ;传送欲转换的数字, 8 转换为格雷码, 12H 习题 给出下列各条指令执行后 ,以及 状态: 9h al,al dh al,al al 解答 9h ; 89H F F PF al, ; 12H 1 0 0 1 1 0 0 0 1 0 1 8 01 0 1 0 1 al, ; 00H 0 1 0 0 1 ; 0 0 0 1 0 1 ; 00H 0 1 0 0 1 习题 请分别用一条汇编语言指令完成如下功能: 把 存器和 存器 的内容相加,结果存入 存器。 用寄存器 基址变址寻址方式把存储器的一个字节与 存器的内容相加,并把结果送到 。 用 位移量 0寄存器相对寻址方式把存储器中的一个字和 存器的内容相加,并把结果送回存储器中。 用位移量为 0520H 的直接寻址方式把存储器中的一个字与数 3412H 相加,并把结果送回该存储单元中。 把数 0 存器的内容相加,并把结果送回 解答 把 存器和 存器的内容相加,结果存入 存器 dx, 用寄存器 基址变址寻址方式把存储器的一个字节与 存器的内容相加,并把结果送到 bx+ 用 位移量 0寄存器相对寻址方式把存储器中的一个字和 存器的内容相加,并把结果送回存储器中 用位移量为 0520H 的直接寻址方式把存储器中的一个字与数 3412H 相加,并把结果送回该存储单元中 0520h,3412h 把数 0 存器的内容相加,并把结果送回 习题 设 X、 Y、 Z、 V 均为 16 位带符号数,分别装在 X、 Y、 Z、 V 存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。 cx,ax bx,dx cx,9 bx,dx 40 ax,cx dx,bx 解答 习题 给出下列各条指令执行后的结果 ,以及状态标志 状态。 470h ax,ax or ax,ax ax,ax ax 解答 470h ; 1470H F F PF ax, ; 1470H 0 0 0 0 0 or ax, ; 1470H 0 0 0 0 0 ax, ; 0000H 0 1 0 0 1 ; 1 0 0 1 0 1 0 1 习题 控制转移类指令中有哪三种寻址方式? 解答 习题 假设 2000H、 1256H、 偏移地址是 20理地址 232存放 3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么? X X 解答 习题 判断下列程序段跳转的条件 je 0000001b 10 4h jb 解答 je ; 1或后为 0) 0000001b 少有一位为 1 4h jb ; 符号数) 64h 习题 如下是一段软件延时程序, 请问 令执行了多少次? cx,cx 解答 习题 有一个首地址为 20 个字的数组 , 说明下列程序段的功能。 0 si,ax ax, 解答 习题 按照下列要求,编写相应的程序段: 由 示起始地址的主存单元中存放有一个字符串(长度大于 6), 把该字符串中的第 1 个和第 6 个字符(字节量)传送给 存器。 有两个 32 位数值,按“小端方式”存放在两个缓冲区 ,编写程序段完成 能。 编写一个程序段,在 4 位全为 0 时,使 0;否则使 1。 把 的双字右移 4 位 有一个 100 个字节元素的数组,其首地址为 每个元素减 1(不考虑溢出或借位)存于原处。 解答 ( 1) 11 dl, dh, ( 2) 先减低 16 位 ; 后减高 16 位,需减低 16 位的借位 ( 3) jz 1 ( 4) ; 右移一位,移出的低 位进入 志 ; 将 进 位,同时实现 移 循环 4 次,实现 4 位右移 ( 5) 00 1 习题 令是用于除法指令之前,进行非压缩 调整的。实际上,处理器的调整过程是: 10 0。如果指令系统没有 令,请用一个子程序完成这个调整工作。 解答 bx bl,ah 12 bl,ah al,bl bx 习题 什么是系统功能调用?汇编语言中,调用系统功能的一般步骤是什么? 解答 习题 令的调整操作是: 如果 低 4 位是 A F,或者 志为 1,则 6,且使 1; 如果 高 4 位是 A F,或者 志为 1,则 60H,且使 1; 阅读如 下子程序,说明其为什么能够实现 4 位表示的一位 16 进制数转换成对应的 。并且将该程序加上在屏幕上显示的功能,编写成通用的子程序。 fh 0h 0h 解答 fh 0h 0h dl,al 1h ;显示个位数 dx 13 习题 乘法的非压缩 调整指令 行的操作是 : 10 的商 , 0 的余数。利用 以实现将 的 100 内数据转换为 ,程序如下: ah,ah 030h 利用这段程序,编写一个显示 数值( 0 99)的子程序。 解答 ah,ah 030h ax dl,ah 1h ;显示十位数 ax dl,al 1h ;显示个位数 dx 习题 编写一个程序段:先提示输入数字“ 0 9”,然后在下一行显示输入的数字,结束;如果不是键入了 0 9 数字,就提示错误“ ,继续等待输入数字。 解答 ;数据段 0 9,0$ ,$ ;代码段 dx,14 1h ;显示输入数字 0 9 1h ;接受一个字符 0 ;判断是否输入的是数字 0 9 jb 9 ja dl,al 1h ;显示输入的数字 结束 dx, 1h ;显示输入错误 继续输入 第 3章 汇编语言程序设计 习题 汇编语言有什么特点? 解答 习题 编写汇编语言源程序时,一般的组成原则是什么? 解答 习题 指令是简化段定义源程序格式中必不可少的语句,它设计了哪 7 种存储模式,各用于创建什么性质的程序。 解答 习题 如何规定一个程序执行的开始位置,主程序执行结束应该如何返回 程序在何处停止汇编过程? 解答 15 习题 逻辑段 具有哪些属性? 解答 习题 给出你采用一个源程序格式书写的例题 程序。 解答 ,0$ ds,ax dx, 1h 1h 习题 持哪两种可执行程序结构,编写这两种程序时需要注意什么? 解答 习题 举例说明等价“ 指令和等号“”伪指令的用途。 解答 习题 给出下列语句中,指令立即数(数值表达式)的值: 3h 5h 7h 234h/16+10h 3h a a-A) 76543 2768) 654h 解答 习题 画图说明下列语句分配的存储空间及初始化的数据值: 10,10h,3 1,?,3 ) 0h, ) 16 解答 见微机原理 题题解 1习题 请设置一个数据段,按照如下要求定义变量: 字符串变量,表示字符串“ 用十进制数表示的字节变量,这个数的大小为 20 用十六进制数表示的字节变量,这个数的大小为 20 用二进制数表示的字节变量,这个数的大小为 20 20 个未赋值的字变量 100 的符号常量 字符串常量,代替字符串“ 解答 习题 希望控制变量或程序代码在段中的偏移地址,应该使用哪个伪指令? 解答 习题 名字和标号有什么属性? 解答 习题 设在某个程序中有如下片段,请写出每条传送指令执行后寄存器 内容 : ;数据段 00h 234h,5678h ,4 2345678h 0 ) ;代码段 ax,ax,ax,ax,解答 习题 假设 一个字变量, 两个字节变量,指出下列语句中的具体错误原因。 1000 17 bx, al, 解答 习题 编写一个程序,把从键盘输入的一个小写字母用大写字母显示出来。 解答 ;只允许输入小写字母 1h 0h ;转换为大写字母 dl,al 1h ;显示 习题 已知用于 码管的显示代码表为: 9h,92h,82h,00h,90h,88h,83h,06h,8依次表示 0 9、 A F 这 16 个数码的显示代码。现编写一个程序实现将 的一个数字( 0 9、 A F)转换成对应的 示代码。 解答 56 009h,92h, 82h, 0B 80h, 90h, 88h, 83h, 0086h,8eh ; 存有对应的 示代码。 18 习题 编制一个程序,把变量 较大者存入 两者相等,则把其中之一存入 。假设变量存放的是 8 位有符号数。 解答 习题 设变量 有符号 16 位数,请将它的符号状态保存在 :如果变量值大于等于 0,保存 0;如果 X 小于 0,保存 1。编写该程序。 解答 7 ;0h jl ; 1 习题 3 个有符号 16 进制数,编写一个比较相等关系的程序: 如果这 3 个数都不相等,则显示 0; 如果这 3 个数中有两个数相等,则显示 1; 如果这 3 个数都相等,则显示 2。 解答 2 19 ax,ax,je dl ax,je dl 1h 习题 例题 ,如果要实现所有为 1 的位都顺序执行相应的处理程序段(而不是例题中仅执行最低为 1 位的处理程序段),请写出修改后的代码段? 解答 ;代码段 al, ;录为 1 的位数 ;0 结束 jz ;最低位右移进入 CF jc 为 1,转移 不为 1,继续 ax bx ;位数乘 以 2(偏移地址要用 2 个字节单元) ;间接转移: ;以下是各个处理程序段 0 1 2 3 4 5 20 6 7 ;显示一个字符 1h bx ax 习题 编制程序完成 12H、 45H、 620H、 90H、 57H 和 34H 共 10个无符号字节数据之和,并将结果存入字节变量 (不考虑进位)。 解答 ; 12h,45h,00h,00h,07h,34h ;原始数据 10 ;数据个数 ? ;预留结果单元 位移量清零 取第一个数 累加次数 ;累加 指向下一个数 如未完,继续累加 完了,存结果 习题 求主存 0040H : 0 开始的一个 64理段中共有多少个空格? 解答 21 ; 040h ;送段地址 ax 0 ;偏移地址 计数(循环次数) 空格计数器清零 20h ;与空格的 比较 不是空格,转 是空格,空 格数加 1 修改地址指针 1,如 0 退出循环 习题 编写计算 100 个正整数之和的程序。如果和不超过 16 位字的范围( 65535),则保存其和到 超过则显示 。 解答 ;数据段 00 dw ) ;假设有 100 个数据 $ ;代 码段 cx, bx,dx, 1h ;显示溢出信息 然后,跳出循环体 22 习题 编程把一个 16 位无符号二进制数转换成为用 8421表示的 5 位十进制数。转换算法可以是:用二进制数除 以 10000,商为“万位”,再用余数除以 1000,得到“千位”;依次用余数除以 100、 10 和 1,得到“百位”、“十位”和“个位”。 解答 ;56 ;源字数据 ) ;五位 果,高对高低对低 取源数据(余数) 10000 ;除数 10 ;除 数系数 4 ;目的数据高位位移量 存放被除数 0 除于 数 商 10,存结果 暂存余数 除数除于 10 于 数 0 存在 除数 dx 目的数据位移量减 1 存个位数( 10 ) 习题 过程定义的一般格式是怎样的?子程序开始为什么常有 令、返回前为什么常有 令?下面完成 16 位无符号数累加的子程序有什么不妥吗?若有,请改正: 23 ax ax,ax dx,dx bx bx 解答 ax, ax,ax dx, dx,dx ; ; bx bx 习题 编 写一个源程序,在键盘上按一个键,将从 回的 值显示出来,如果按下 则程序退出。请调用书中的 程序。 解答 1h 是 1bh je dl,al 1h ;是大写字母则转换为小写字母 24 习题 请按如下说明编写子程序: ;子程序功能:把用 表示的两位十进制数转换为对应二进制数 ;入口参数: 位数的 , 位数的 ;出口参数: 应的二进制数 解答 cx 先转换十位数 ;十位数乘以 10(采用移位指令) ch,dh dh,ch 转换个位数 dh,十位数加个位数 al,置出口参数 cx 习题 调用 程序,编写显示一个字节的 16 进制数、后跟“ H”的子程序 。 解答 入口参数: 显示的一个 16 进制数 cx dx ax ;转换高位 al,cl dl,显示 1h 转换低位 dl,显示 25 1h H ; 显示一个字母“ H” 1h dx cx 将 4 位表达的一位 16 进制数转换为 fh 7h ;是 00 37H 转换为 子程序返回 0h ;是 0 9,加 30H 转换为 子程序返回 习题 写一个子程序,根据入口参数 0、 1、 2,依次实现对大写字母转换成小写、小写转换成大写或大小写字母互换。欲转换的字符串在 ,用 0 表示结束。 解答 bx bx, je jz jz 0 je A jb 26 Z ja 20h bx 0 je a jb z ja 20h bx 0 je A jb Z ja 20h a jb z ja 20h bx bx 习题 子程序的参数传递有哪些方法,请简单比较。 解答 27 习题 采用堆栈传递参数的一般方法是什么,为什么应该特别注意堆栈平衡问题。 解答 习题 编写一个求 32 位数据补码的子程序,通过寄存器传递入口参数。 解答 方法 1: 入口参数: 32 位有符号数 实现 0 能 ;这条指令也可以用 替 出口参数: 32 位有符号数的补码 方法 2: 入口参数: 32 位有符号数 实现 反加 1 出口参数: 32 位有符号数的补码 习题 编写一个计算字节校验和的子程序。所谓“校验和”是指不记进位的累加,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田间试验顺序排列设计
- 知荣明耻主题班会课件
- 智能语音机器人系统研发与运营协议
- 工程经济人才培养规划试题及答案
- 健康行业阅读题集
- 物流运输优化方法题库
- 生物学细胞分裂与分化习题集
- 建筑学建筑设计风格模拟试题及解析
- 商业租赁条款细则协议书暨租约签署事项说明
- 水利水电工程基础设施试题及答案
- 安全生产三管三必须专题培训
- 电饭煲检测大纲
- 劳动合同书电子版pdf正规范本(通用版)
- JGJT10-2011 混凝土泵送技术规程
- 自发性肾破裂的护理查房
- 医院保洁、中央运输服务投标方案(技术方案)
- 房屋维修工程应急施工方案
- 人教版小学道德与法治二年级下册第二单元《我们好好玩》作业设计
- 办公家具供货安装、保障实施及售后服务方案
- 研究生高分论文写作(下篇)
- 精益改善周五阶段
评论
0/150
提交评论