及比例变址寻址方式、基址加比例变址寻址方式和带位移量的比例变址寻址方式。
3.请叙述线性地址、物理地址和有效地址EA的含义?
答: 段内偏移地址有16位或32位地址,段基地址和段内偏移地址相加形成线性地址。选用页功能时,线性地址由管理部件换算为32位物理地址;不用页功能时,线性地址就是物理地址。在存储器寻址时,指令的操作数部分给出的地址是段内偏移地址。为了适应处理各种数据结构的需要,段内偏移量由几个基本部分组合而成,所以也称为有效地址EA。
4. 已知:(DS)=3000H,(BX)=1100H,(DI)=0050H执行MOV AX,[BX][DI],请分析物理地址和EA地址以及AX中的内容。
答: EA=1100H+0050H=1150H 物理地址=30000H+1150H=31150H
执行后:若(31150H)内容为450H (AX)=450H
5. 已知(DS)=5000H,(BX)=3000H,(SI)=2000H,BUFF=0350H执行MOV AX,[BUFF+SI+BX] 请分析物理地址和EA地址。
答: 物理地址=(DS)×16d +(BX)+(SI)+BUFF =50000H+3000+2000+0850=55850H
EA=3000+2000+0850=5850H
6. 请叙述80X86寻址方式中32位特有的寻址方式有效地址的计算方法? 答: (1)比例变址寻址方式 比例变址寻址方式的有效地址为
EA=[变址寄存器]×比例因子+位移量
这里,乘比例因子的操作在CPU内部由硬件完成。
(2)基址加比例变址寻址方式
基址加比例变址寻址方式的有效地址为
EA=[基址寄存器]+[变址寄存器]×比例因子 (3)带位移量的基址加比例变址寻址方式的有效地址为 EA=[基址寄存器]+[变址寄存器]×比例因子+位移量
在寻址过程中,变址寄存器内容乘以比例因子的操作在CPU内部由硬件完成。
7. 分析PUSH压入堆栈指令操作过程?
答: 具体操作过程,SP内容首先减1,操作数的高位字节送入当前SP所指单元中;然后SP内容再减1,操作数的低位字节又送入当前SP所指单元中。 堆栈是按“后进先出”的方式工作的一个存储区,SP的内容在任何时候都指向当前的栈顶。
8. 分析POP [DI] 指令执行过程? 答: 若指令执行前,DS=5000H,SI=2200H,物理地址=50000H+2200H=52200H。SS=5000H,SP=3120H,(3120H)=7FH,(3121H)=C8H。
指令执行过程,首先SP=3120所指栈顶的内容7FH送入52200H单元中, SP+1=3121H;然后再将SP=3121H所指栈顶的内容C8送入52201H单元。
指令执行后,(52200H)=7FH,(52201H)=C8H,SP=3122H。
9. 分析CMP OPR1,OPR2指令执行过程?
答:执行的操作:(OPR1)-(OPR2),该指令与SUB指令一样执行减法操作,但它并不保存结果只是根据结果设置状态标志位。用于分支程序。
比较指令执行结果影响全部标志位。
若OPR1与OPR2为无符号数,OPR1≥OPR2,则CF=0,OF=0;OPR1<OPR2,则CF=1,OF=0。
若OPR1、OPR2为有符号数,OPR1与OPR2符号相同则OF=0,根据SF判其大小。
若OPR1-OPR2为有符号数,执行OPR1-OPR2后, SF=0并且OF=0,或者SF=1并且OF=1,即SF?OF=0,则 OPR1≥OPR2;若SF=0并且OF=1(负数减正数,溢出),或者SF=1并且OF=0(负数减正数,未溢出),即SF?OF=1,则 OPR1 答: 执行的操作:(AL) ?把AL中的和调整为压缩的BCD码。 若(AL∧0FH)>9或AF=1,则AL?(AL)+06H,AF?1 若(AL)>9FH或CF=1,则AL?(AL)+60H,CF?1 说明:该指令在ADD或ADC指令后使用,而且和一定放在AL寄存器中。 11. 中断指令: INT type 或INT请分析操作过程? 答:执行的操作: SP?(SP)-2,(SP)+1、 (SP)?(PSW) SP?(SP)-2,(SP)+1、 (SP)?(CS) SP?(SP)-2,(SP)+1、 (SP)?(IP) IP?( type×4),CS?( type×4+2) 12. 分析70条SSE指令集的特点? 答: 70条SSE指令集可分成三组不同类型的指令。 八条内存连续数据流优化处理指令。应用上典型的连续数据流有音频数据流、视频数据流、数据库访问、图片处理等等。SSE的内存连续数据流优化处理指令采用新的数据预取技术,减少CPU处理连续数据流的中间环节,极大地提高了CPU处理连续数据流的效率。 五十条单指令多数据浮点运算指令,每条指令一次可以处理多组浮点运算数据。原先的指令一次只能处理一对浮点运算数据,现在可以处理多对;原先需要一段程序来完成的某一功能,现在可以只用一条指令。PⅢ处理器中增加了八个128位的浮点寄存器,与新的SIMD指令相配合,进一步提升了处理器浮点运算的运行速度。 十二条新的多媒体指令,采用改进的算法,进一步提升了视频处理、图片处理的质量。 第5章 汇编语言程序设计 一、填空题: 1. 标号是一个用(冒号 )结尾的名字,是可选项,用于标识程序中控制转移的目标单元。 2. 注释是可选项,以(分号 )开始仅起到对源程序的解释和说明的作用,以提高程序的可读性。 3. 字符串常量由单引号或双引号括起的一个或多个字符。这些字符以(ASCII码 )形式存储在内存中。 4. <表达式1> MOD <表达式2>其功能为两式(整除取余 )。 5. <表达式1> NE <表达式2>其功能为两个表达式值(不相等 )为真,否则为假。 6. 源操作数提供一个操作对象,面向所有寻址方式,可以是常数、(寄存器 )、(标号 )、变量或(表达式 )等。 7. 在汇编语言中操作数运算符可分为:算术运算符、逻辑运算符、(关系运算符 )、数值返回运算符、(属性修改运算符 )。 8. (SEGMENT )表示定义段的开始,ENDS表示定义段的结束。 9.执行下面程序段后,AX=( 25 )。 MOV CX,5 MOV AX,50 NEXT:SUB AX,CX LOOP NEXT HLT 10.在汇编语言中利用循环指令或者与分支指令相结合的方法编制程序来实现循环称为循环程序设计。循环程序可分为(单重循环 )和(多重循环 )两类。 11. 所谓多重循环是指一个循环的循环体中(嵌套 )另一个或多个相互独立的单重循环,外层循环称为外循环,里层循环称为内循环,两者不允许(交叉引用 )。 二、选择题: 1. 伪指令DD定义( B )。 A. 单字 B. 双字 C.双字节 D.3个字节 2. 把表达式的值或符号赋给左边的名字,供以后引用。使用的伪指令是(C )。 A.DB B.DQ C. EQU D.DUP 3. 字符串常量由(A )括起的一个或多个字符。 A. 单引号或双引号 B. 圆括号 C. 中括号 D.大括号 4. 表达式1>表达式2为真,否则为假。使用的关系运算符是( D )。 A.EQ B.LT C.GE D.GT 5. 返回变量或标号的段基址。使用的数值返回运算符是( D )。 A. SIZE B.TYPE C. OFFSET D. SEG 6. ORG $+<表达式>将(B )加上表达式的值再送入IP。 A.AX的值 B. IP的当前值 C. CS的值 D. $ 7. 设有一段程序如下执行以下指令后,AX中的内容正确的是( B )。 ORG 0025 AA1 DW 4,5,$+4 : MOV AX,AA1+4 A.0029H B. 002CH C.0026H D.002AH 8.执行下面的程序后,(DX)=( C )。 MOV CX,10 MOV DX,12 LP:ADD DX,CX DEC CX LOOP LP A.40 B.39 C.42 D.41 9. 子程序执行完毕后再恢复被保护的寄存器的内容,称为( A)。 A. 现场恢复 B. 寄存器恢复 C. 存储器恢复 D.数据恢复 10. DOS功能调用使用方法如下:(C )中放入调用功能子程序号;根据功能号调用要求设置相应入口参数;用INT 21H指令转入子程序入口地址,执行相应功能操作。 A. AL寄存器 B. BH寄存器 C. AH寄存器 D. BL寄存器 三、问答题: 1. EQU语句的名字不能重复定义。EQU语句的表达式可以是常数、变量、标号、指令助记符、字符串等,请举例说明。 答: CONST EQU 78H ;定义常数符号 VAR EQU WORD PTR X2 ;定义变量属性 LAB EQU STRAT ;定义标号 M EQU ADD ;定义指定助记符 C EQU CONST+350 ;定义常数表达式 AD1 EQU [SI+4] ;定义地址表达式 2. 请说明ASSUME伪指令的格式,作用? 答: 格式:ASSUME <段寄存器>:<段名>[,<段寄存器>:<段名>??] 功能:建立段与段寄存器之间的关系。 说明:ASSUME一般放在代码段首部,系统自动将代码段的段基地址装入CS段寄存器中;其它段则无此功能,需接着用MOV指令将段基址装入相应段寄存器中。 3. 说明过程定义伪指令的使用方法? 答: 过程定义伪指令
相关推荐: