《微型计算机技术》课程习题(第四版)(2)

2020-03-27 12:32

2.67 Pentium的中断机制和16位CPU有什么差别? 2.68 Pentium的异常指哪些情况?

2.69 Pentium的故障和陷阱有什么差别?哪些异常是真正的异常? 2.70 中断向量和中断描述符之间是怎样一种关系? 2.71 Pentium的保护机制的思想是怎样的?

2.72 Pentium的段级保护是怎样实现的?Pentium的页级保护是怎样实现的? 2.73 Pentium Pro和Pentium Ⅱ分别在哪些方面作了技术改进?

2.74 Pentium Ⅲ主要做了什么技术改进?Pentium Ⅳ在哪些方面作了技术改进? 2.75 Itanium采用了哪些新技术使性能在多方面得到提高?

4

第三章 Pentium的指令系统

3.1 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 3.2 直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某

个段寄存器指出段地址,指令中应如何表示? 3.3 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定? 3.4 用寄存器间接寻址方式时,BX,BP,SI,DI分别针对什么情况来使用?这四个寄存器

组合间接寻址时,地址是怎样计算的?举例进行说明。

3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作:

MOV BYTE PTR [BP], 2000 MOV WORD PTR [BX], 2000

3.6 使用堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别

要注意什么问题?

3.7 下面这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。

XCHG CS, AX

MOV [BX], [1000] XCHG BX, IP PUSH CS POP CS IN BX, DX

MOV BYTE[BX], 1000

MOV CS, [1000] ; ( 以上由杨钧钧输入 ) 3.8 8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是

什么?

3.9 以下是格雷码的编码表

0——0000 1——0001 2——0011 3——0010 4——0110 5——0111 6——0101 7——0100 8——1100 9——1101

请用换码指令和其他指令设计一个程序段,实现格雷码往ASCII的转换。 3.10 用加法指令设计一个简单程序,实现两个16位十进制数的加法,结果放在被加数单元。 3.11 为什么用增量指令或减量指令设计程序时,在这类指令后面不用进位标志CF作为判断

依据?

3.12 用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,这

是为什么?

3.13 字节扩展指令和字扩展指令用在什么场合?举例说明。

3.14 什么叫BCD码?什么叫组合的BCD码?什么叫非组合的BCD码?8086 汇编语言在对

BCD码进行加、减、乘、除运算时,采用什么方法?

3.15 用普通运算指令执行BCD码运算时,为什么要进行十进制调整?具体讲,在进行BCD

码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令? 3.16 普通移位指令(带CF的和不带CF的两类)在执行操作时,有什么差别?在编制乘法程

序时,为什么常用移位指令来代替乘除法指令?试编写一个程序段,实现将BX中的数除以10,结果仍放在BX中。

5

3.17串操作指令使用时特别要注意和SI,DI这两个寄存器及方向标志DF密切相关。请具体

就指令MOVSB/MOVSW、CMPSB/CMPSW、SCASB/SCASW、LODSB/LODSW、STOSB/STOSW列表说明和SI、DI及DF 的关系。

3.18 用串操作指令设计实现以下功能的程序段:首先将100H个数从2170H处搬到1000H

处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符。

3.19 在使用条件转移指令时,特别要注意它们均为相对转移指令,请解释“相对转移”的

含义。如果要往较远的地方进行条件转移,那么,程序中应该怎样设置?

3.20 带参数的返回指令用在什么场合?设栈顶地址为3000H,当执行RET 0006 后,SP的

值为多少?

3.21 用循环控制指令设计程序段,从60H 个元素中寻找一个最大值,结果放在AL中。 3.22 中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到

的?

3.23 中断返回指令IRET和普通子程序返回指令RET 在执行时,具体操作内容什么不同? 3.24 断点中断是指怎样一种中断?在程序调试中有什么作用? 断点中断指令有什么特

点?设置断点过程对应了一种什么操作?这种操作会产生什么运行结果?

3.25 HLT指令用在什么场合?如CPU 在执行HLT 指令时遇到硬件中断并返回后,以下应执

行哪条指令?

3.26 总线封锁指令用在什么场合? 以飞机定票系统为例说明总线封锁指令的作用(设飞机

定票系统为一个多处理器系统,每个处理器都是平等的)。 3.27 设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX

指令后,栈顶地址和栈顶2个字节的内容分别是什么?

3.28 在DS段中有一个从TABLE开始的由160个字符组成的链表,设计一个程序,实现对此

表进行搜索,找到第一个非0元素后,将此单元和下一单元清0。

3.29 下面的程序段将ASCII码的空格字符填满100个字节的字符表。阅读这一程序,画出

流程,并说明使用CLD指令和REP STOSB指令的作用,再指出REP STOSB指令执行和那几个寄存器的设置有关?

MOV CX, SEG TABLE ; TABLE为字节表表头 MOV ES, CX

MOV DI, OFFSET TABLE ; DI指向字节表 MOV AL, ' '

MOV CX, 64H ; 字节数

CALL FILLM ; 调用数子程序 ... ...

FILLM: JCXZ EXIT ; CX为0则退出 PUSH DI ; 保存寄存器 PUSH CX CLD

REP STOSB ; 方向标志清零 POP CX ; 重复填数 POP DI EXIT: RET

3.30 下程序将一个存储块的内容复制到另一个存储快,进入存储段时,SI中为源区起始地

址的偏移量,DI中为目的区起始地址的偏移量,CX中为复制的字节数。阅读程序并说

6

明具体的REP MOCSB指令使用与那些寄存器有关? PUSH DI ; 保存寄存器 PUSH SI PUSH CX

CMP DI, SI ; 看源区和目的区的地址哪个高 JBE LOWER ; 如目的区地址底,则转移

STD ; 如目的区地址高,则设方向标志为1 ADD SI, CX ; 从最后一个字节开始复制 DEC SI ; 调整源区地址 ADD DI, CX

DEC DI ; 调整目的区地址 JMP MOVEM

LOWER: CLD ; 从第一个字节开始复制 MOVEM: REP MOVSB POP CX POP SI POP DI RET

3.31 下面的程序实现对两个存储区中的字进行比较。如找到一对不同的字,则退出,此时 ,

ZF为0,DI 指向此字;如两个存储区冲所有的字一一象同,则退出程序时,CX中植为0,ZF为1。阅读这一程序段,并仿此设计一个比较字节块的程序段。 MATT: MOV SI, OFFSET SOURCE ; 源区首址 MOV DI, OFFSET TARGET ; 目的区首址 MOV CX, NUMBER

JCXZ EXIT ; 如CX为0,则结束 PUSH CX ; 保存有关寄存器 PUSH SI PUSH DI

CLD ; 清方向标志 REPE CMPSW

JZ MATCH ; 比较

PUSHF ; ZF为1,则转移

SUB DI, 2 ; ZF为0,则DI指向次字 POPF

JMP EXIT ; 推出

MATCH: POP DI ; 恢复寄存器 POP SI POP CX EXIT: RET

3.32 下面的程序实现在TABLE 为起始地址的100个字符长度的表中检索“$\分析程

序,然后说明REPNE SCASB指令的具体执行过程。

START: MOV CX, SEG TABLE ; 表段地址送ES MOV ES, CX

MOV DI, OFFSET TABLE ; 表偏移量送DI

7

MOV AL, '$' ; 检索的关键字 MOV CX, 64H ; 检索的字节数 PUSH DI ; 保存起始地址 CLD ; 清除方向标志 REPNE SCASB ; 检索

JNZ NFOUN ; 如未找到,则转移 SUB DI, 1 ; 找到,则指向次字符 JMP EXIT

NFOUN: POP DI ; 恢复起始地址

EXIT: RET ;(以上由1007孙成长输入)

3.33 下面的程序实现两个32位不带符号的想乘,被乘数在DX和AX寄辰器中,乘数在CX

和BX寄辰器中,最后的64位乘积在DX,CX,BX,AX中。图3-33说明乘法过程。读懂程序段和附图,并自己设计一个程序,实现一个16位数和一个32位无符号数相乘。 STAT: JMP MUL64 HI0 DW ? LO0 DW ? HI1 DW ? LO1 DW ? HI2 DW ? LO2 DW ? HI3 DW ? LO3 DW ? HI4 DW ? LO4 DW ?

MUL64: MOV HI0, DX ; 保存被乘数 MOV LO0, AX

MUL BX ; 得部分乘积1 MOV HI1, DX ; 保存部分乘积1 MOV LO1, AX

MOV AX, HI0 ; 得部分乘积2 MUL BX

MOV HI2, DX ; 保存部分乘积2 MOV LO2, AX

MOV AX, LO0 ; 得部分乘积3 MUL CX

MOV HI3, DX ; 保存部分乘积3 MOV LO3, AX

MOV AX, HI0 ; 得部分乘积4 MUL CX

MOV HI4, DX ; 保存部分乘积4 MOV LO4, AX

MOV AX , LO1 ; 乘积的低16位在AX中 MOV BX, HI1 ; 乘积的次低16位在BX中 ADD BX, LO2

8


《微型计算机技术》课程习题(第四版)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:传播领域中第三人效应的心理学影响因素浅析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: