计算机硬件与系统软件2010b答案_第1页
计算机硬件与系统软件2010b答案_第2页
全文预览已结束

下载本文档

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

文档简介

1、。装。订。线。2009 年2010 年第二学期计算机硬件与系统时间共 120 分钟试卷 A 卷一、简答题(每题 6 分,共 30 分)1)从逻辑的角度,外部总线分成哪几类,各性能i.外部总线从逻辑上分为 3 类:地址总线、控制总线和数据总线ii.数据总线:数据总线的宽度决定了 CPU 的寻址功能iii.数据总线的宽度决定了 CPU 与其他器件进行数据传送时的一次数据传送量iv.控制总线的宽度决定了 CPU 对系统中其他器件的控制能力2)8086CPU 共有哪几个段寄存器,存放的各是什么数据?i.共包括 4 个段寄存器,CS 代码段寄存器、DS 数据段寄存器、ES 扩展段寄存器、SS 堆栈段寄存

2、器ii.CS 存放指令的段地址、DS 存放数据的段地址、ES 存放的是扩展数据段的段地址、SS 存放的是栈段的段地址。3)内存中的数据时,可以采用的寻址方式包括哪几种?举例说明i.直接寻址movax, 100ii.寄存器间接寻址movax, bxiii.寄存器相对寻址movax, bx+100iv.movax, bx+si基址变址寻址v.相对基址变址寻址movax, bx+si+1004)内存数据时,可以用于寄存器间接寻址的寄存器包括哪几个,当这些寄存器用于相对基址变址寻址时共有哪几种组合。i.共有 4 个可用于寄存器间接寻址的寄存器:bx、si、di、bpii.用于基址变址寻址时,共有 4

3、种组合:bx+si+idata、bx+di+idata、bp+si+idata、bp+di+idata5)栈有哪两个基本操作,两个操作的规则是什么?与这两个操作相关的指令是什么?并举例说明是指令的执行过程i.栈有两个基本操作:入栈和出栈。入栈就是将一个新的元素放到栈顶,出栈就是从栈顶取出一个元素ii.两个操作的基本原则是,后进先出的原则iii.相关指令:入栈 push,出栈 popiv.Push 的执行过程:先将 SP -2,在新栈顶处写入一个字数据v.Pop 的执行过程:先从栈顶出取出一个字数据,再将 sp 的值加 2得分阅卷人题号12345总分得分阅卷人二、分析题(每题 8 分,共 40

4、分)1)分析下面程序实现的功能CODESEGMENTA MOV MOV CALL MOVMOVMECS: CODE AX, 1CX, 3 SBX, AX AX, 4C00H 21HAX, AXSTART:S:ADDLOOP RET ENDSENDSCODESTART计算 ax+ax ax, ax+ax a,ax+axa 结果为 82)在 Debug 中,用“D0:0 1F”查看内存,结果如下:0000:000068 10 A7 00 8B 01 70 00-16 00 AB 03 8B 01 70 000000:00108B 01 70 00 B9 06 14 02-40 07 14 02 F

5、F 03 14 02写出每条汇编指令执行后相关寄存器中的值MOV MOV MOV MOV MOV MOV MOVADDAX, 1 DS, AXAX, DS:0000BX, DS:0001 AX, BXAX, DS:0000BX, DS:0002 AX, BXAX=1068 BX=a710 AX=a710 AX=1068 BX=00a7AX=110f3)用正确的方式注释每条指令的功能(包含伪指令)CODESEGMENT;利用伪指令 segment 定义一个段A MOV MOV ADD ADDMOVMECS: CODE;伪指令 ame定义的 code 段与 cs 寄存器关联AX, 1230H BX

6、, 4056H AX, BX AX, AX AX, 4C00H21H;将立即数 1230H 传送到寄存器 ax 中;将立即数 4056H 传送到寄存器 bx 中;将寄存器 ax 中的数据与 bx 中的数据相加,结果存在 ax;将 ax 中的数据倍加,结果在寄存器 ax 中;实现程序结束将 CPU 的控制权交换给使它运行的程序;与 segment 相对应,表示定义段的结束;end 伪指令表明源程序到此结束CODEENDSEND4)下面的程序执行后,AX中的数值是多少?内存地址1000: 01000: 2机器码b8 00 00ff d0汇编指令MOVCALLAX, 0S得分阅卷人1000: 610

7、00: 740INCS: POPAXAX执行 call 指令时,先将当前 ip 的值(ip=6)压栈,并用目标地址的偏移地址重新赋值给 IP 实现转移到执行POPAX,从栈顶取出压入的数据 0006 到 ax 中。5)补全编程,利用 JCXZ 指令实现在内存 2000H 段中查找第一个值为0的字节,找到后,将其偏移地址在 DX 中。CODESEGMENTA MOV MOVMOVMECS: CODESTART:AX, 2000H DS, AXBX, 0S:_SUB MOV JCXZINCCX, CX CL, BX OKBXJMP MOVMOVSHORTS DX, BX AX, 4C00H21HO

8、K:CODEENDSEND三、程序设计题(每题 15 分,共 30 分)1.按照以下步骤编写汇编代码:a)将 10000H1000FH 这段空间当作栈,初始状态是空的;b)设置 AX=001AH,BX=001BH;c)将 AX、BX 中的数据入栈;d)然后将 AX、BX 清零;e)从栈中恢复 AX、BX 原来的内容。MOV MOV MOV MOV MOV PUSH PUSH SUB SUB PPOPAX, 1000H SS, AX SP, 0010HAX, 001AH BX, 001BH AXBX AX, AX BX, BXXAX2.用 BX+IDATA 实现字符数组元素转换成大写(利用 AND 和DATA SEGMENT DB BaSiCOR 指令)得分阅卷人DATA ENDSPROGRAM ASTART:MOV MOV MOV MOVLP: MOVAND MOV MOVSEGMENTMECS:PROGRAM, DS:DATAAX, DATA DS, AX B

温馨提示

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

评论

0/150

提交评论