数据表示和寻址习题答案
- 格式:doc
- 大小:50.00 KB
- 文档页数:16
微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址⽅式习题答案(部分)3.1总结计算机中⼗进制、⼆进制、⼋进制及⼗六进制数的书写形式。
123D、0AFH、77Q、1001110B分别表⽰什么计数制的数?答案:123D、0AFH、77Q、1001110B分别表⽰⼗进制、⼗六进制、⼋进制、⼆进制。
3.2字长为8位、16位⼆进制数的原码、补码表⽰的最⼤数和最⼩数分别是什么?答案:8位原码表⽰的最⼤数:(27-1)、8位补码表⽰的最⼤数:(27-1)、8位原码表⽰的最⼩数:-(27-1)、8位补码表⽰的最⼩数-27。
16最⼩数:-215。
3.3答案:7DH。
(2)255(3)7248H。
(4)509013E2H。
3.4答案:240D0F0H。
128D80H。
(3)11111111⼗进制数:255D;⼗六进制数:0FFH。
(4)01010101⼗进制数:85D;⼗六进制数:55H。
3.5把下列⽆符号⼗六进制数分别转换为⼗进制数和⼆进制数。
(1)FF(2)ABCD(3)123(4)FFFF答案:(1)FF⼗进制数:255D;⼆进制数;11111111B。
1010101111001101B。
(3)123⼗进制数:291D;⼆进制数;000100100011B。
(4)FFFF⼗进制数:65535D;⼆进制数;1111111111111111B。
3.6分别⽤8位⼆进制数和16位⼆进制数写出下列⼗进制数的原码和补码。
(1)16(2)-16(3)+0(4)-0(5)127(6)-128(7)121(8)-9 答案:(1)16800010000(2)-16800010000(3)+0800000000(4)-0800000000(5)127801111111(6)-128810000000(7)1218:01111001;16位⼆进制数原码:0000000001111001补码:0000000001111001。
计算机组成原理习题含参考答案一、单选题(共90题,每题1分,共90分)1、在下列寻址中,()寻址方式需要先运算再访问主存。
A、间接B、直接C、变址D、立即正确答案:C2、在链式查询方式下,若有N个设备,则()oA、只需一条总线请求线B、需要N条总线请求线C、视情况而定,可能一条,也可能N条总线请求线D、以上说法都不对正确答案:A3、以下有关I/O端口的叙述中,错误的是()oA、I/O接口中有命令端口、状态端口、数据端口B、I/O接口中命令端口和状态端口不能共用同一个C、I/O接口中程序可访问的寄存器被称为I/O端口D、I/O端口可以和主存统一编号,也可以单独编号正确答案:B4、用移码表示浮点数的阶码,其好处是()。
A、便于求阶差B、便于用比较电路比较阶的大小C、提高运算精度D、便于判别溢出正确答案:B5、在取指操作结束后,程序计数器中存放的是()。
A、程序中指令的数量B、当前指令的地址C、已经执行指令的计数值D、下一条指令的地址正确答案:D6、微指令格式分为水平型和垂直型,水平型微指令的位数(),用它编写的微程序()。
A、较短,较少B、较长,较短C、较多,较长D、较少,较短正确答案:B7、用二地址指令来完成算术运算时,其结果一般存放在()。
A、其中一个地址码提供的地址中B、栈顶C、累加器(ACC)中D、以上都不对正确答案:A8、为了缩短指令中某个地址段(或地址码)的位数,有效的方法是采取()。
A、变址寻址B、间接寻址C、立即寻址D、寄存器寻址正确答案:D9、从计算机系统结构上讲,机器语言程序员所看到的机器属性是()oA、编程要用到的硬件组织B、计算机硬件的全部组织C、计算机软件所要完成的功能D、计算机各部件的硬件实现正确答案:A10、用于笔记本电脑的大容量存储器是()oA、U盘B、软磁盘C、固态盘D、磁带正确答案:C11、D/A转换是()。
A、把数字量转换为模拟量,把转化结果输出计算机B、把计算机输出的模拟量转化为数字量C、把模拟量转化为数字量,把数字量输入到计算机D、把计算机输出的模拟量转为数字量正确答案:A12、程序P在机器M上的执行时间是20秒,编译优化后,P执行的指令数减少到原来的70%,而CP1增加到原来的1.2倍,则P在M上的执行时间是()oA、16.8秒B、8.4秒C、117秒D、14秒正确答案:A13、以下说法错误的是()oA、计算机的机器字长是指数据存储与运算的基本单位B、寄存器由触发器构成C、计算机中一个字的长度都是32位D、磁盘可以永久性存放数据和程序正确答案:C14、主设备通常指()oA、掌握总线权的设备B、发送信息的设备C、主要的设备D、接收信息的设备正确答案:A15、字长12位,用定点补码规格化小数表示时,所能表示的正数范围是()OA、1/2-(1-2-11)B、(1/2+2-11)-(1-2-11)C、2-11-(1-2-11)D、2-12-(1-2-12)正确答案:A16、ASCI1码是对()进行编码的一种方案。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
习题1.指出下列指令中操作数的寻址方式(1) MOV BX, 20H (2) MOV AX, [1245H](3) MOV DX, [SI] (4) MOV 100[BX], AL(5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX(7) MOV [1800H], AL (8) MOV [SI], AX答:源操作数目的操作数1 立即寻址寄存器寻址2 直接寻址寄存器寻址3 寄存器间接寻址寄存器寻址4 寄存器寻址寄存器相对寻址5 寄存器寻址基址加变址寻址6 寄存器寻址相对基址加变址寻址7 寄存器寻址直接寻址8 寄存器寻址寄存器间接寻址2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:(1) [AX] (2) [SI+DI](3) BP (4) BH(5) DS (6) [BL+44](7) [BX+BP+32] (8) [DX](9) [CX+90] (10) [BX*4](11) BX+90H (12) SI[100H]答:(1) 错误,AX不能用于访问内存单元(2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址(3) 正确,寄存器寻址方式(4) 正确,寄存器寻址方式(5) 正确,寄存器寻址方式(6) 错误,寄存器BL不能用于表示内存单元的有效地址(7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址(8) 错误,DX不能用于表示内存单元的有效地址(9) 错误,CX不能用于表示内存单元的有效地址(10)错误,16位寄存器不能乘以比例因子(11) 错误,没有这样的寻址方式(12) 错误,书写方式不对,应该写成100H[SI]3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少?(1) MOV AL, [2500H](2) MOV AX, [BP](3) MOV AX, ES:[BP+10](4) MOV AL, [BX+SI+20]答:(1)源操作数属于直接寻址,物理地址=DS⨯16+2500H=20000H+2500H=22500H;(2)源操作数属于寄存器间接寻址,物理地址=SS⨯16+(BP)=10100H+0200H=10300H(3)源操作数属于寄存器相对寻址,物理地址=ES⨯16+(BP)+100=10000H+0200H+0AH=1020AH(4)源操作数属于基址加变址寻址,物理地址=DS⨯16+(BX)+(SI)+20=20000H+0500H+1100H+14H=21614H4. 判断下列指令的对错,如果错误请说明原因。
★1.确定哪些数据类型用数据表示来实现,下面几项中不重要的是:A.能够缩短程序运行的时间B.数据表示能够有良好的通用性和利用率C.最可能多的用硬件实现,提高性能D.减少CPU和主存储器之间的通讯量【答案】C★2.早期的计算机系统只有定点数据表示,因此硬件结构可以很简单。
但是这样的系统有明显的缺点,下面哪一个不是它的缺点:A.数据表示范围小B.单个需要的计算时钟周期多C.编程困难D.存储单元的利用率很低【答案】B★3. 简述采用标志符数据表示方法的主要优缺点。
【答案】优点有:(1)简化了指令系统(2)由硬件自动实现一致性检查和数据类型的转换。
(3)简化程序设计(4)简化编译器(5)方便软件调试(6)支持数据库系统缺点有:(1)数据和指令的长度不能一致(2)指令的执行速度降低(3)硬件的复杂性增加★4.有效的缩短地址码的长度,主要采用的有哪些方法?【答案】(1)用间址寻址方式缩短地址码长度(2)用变址寻址方式缩短地址码长度(3)用寄存器间接寻址方式缩短地址码长度是最有效的方法★5.随着计算机技术的不断发展和对指令系统的合理性的研究,精简的指令系统(RISC)出现并且逐步取代CISC的重要位置。
下面所述不是CISC的主要缺点的是:A.20%与80%规律B.VLSI技术的不断发展引起的一系列问题C. 软硬件功能分配的问题D. 由于指令众多带来的编码困难【答案】D★★★6. 某台计算机只有Load/Store 指令能对存储器进行读/写操作,其它指令只对寄存器进行操作。
根据程序跟踪实验结果,已知每种指令所占的比例及CPI 数如下: 指令类型 指令所占比例 CPI 算逻指令 43% 1 Load 指令 21% 2 Store 指令 12% 2 转移指令 24% 2(1)求上述情况下的平均CPI 。
(2)假设程序由M 条指令组成。
算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load 指令从存储器取到寄存器。
微机原理习题第一章绪论习题与答案1.把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(1) 10110010B =(2) 01011101.101B =解:(1) 10110010B = 178D = B2H = (0001 0111 1000)BCD(2) 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.把下列十进制数转换成二进制数。
(1) 100D =(2) 1000D =(3) 67.21D =解:(1)100D = 01100100B(2)1000D = 1111101000B(3) 67.21D = 1000011.0011B3.把下列十六进制数转换成十进制数、二进制数。
(1) 2B5H =(2) 4CD.A5H =解:(1) 2B5H = 693D = 0010 1011 0101B(2) 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4.计算下列各式。
(1) A7H+B8H =(2) E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5.写出下列十进制数的原码、反码和补码。
(1) +89(2) -37解:(1) [+89 ] 原码、反码和补码为: 01011001B(2) [-37] 原码 = 10100101 B[-37] 反码 = 11011010 B[-37] 补码 = 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补 =(2)(10110101)补 =解:(1)(01001101)补 = 77D(2)(10110101)补 = -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
(1)C: 1000011(2)O: 1001111(3)M: 1001101(4)P: 1010000解:(1)C:0 1000011(2)O: 0 1001111(3)M:1 1001101(4)P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
第3章数的表示一、复习题1.如何把十进制数转换成二进制数?答:除2逆向取余。
2.如何把二进制数转换成十进制数?答:将每个二进制位乘以它的位权,将所有结果相加得到对应的十进制数。
3.在二进制系统中,每一位是哪一个数的幂?答:2。
4.在十进制系统中,每一位是哪个数的幂?答:10。
5.表示有符号整数有哪三种方法?答:(1)符号加绝对值(原码)(2)二进制反码(3)二进制补码6.最大的无符号整数的含义是什么?答:计算机中分配用于保存无符号整数的二进制位数所确定的最大无符号整数,最大无符号整数取决于计算机中分配用于保存无符号整数的二进制位数N,无符号整数范围:0~ (2N-1)。
7.位数分配指什么?答:用以表示整数的二进制位数.8.为什么不可以将十进制数256存储在8位存储单元中?答:八位存储单元最大存储到255,存储256会产生溢出。
9.试述无符号整数的两种用途?答:(1)计数。
计数时,不需要负数,可以从0或1开始。
(2)寻址。
因为地址是从0开始到整个存储器的总字节数的正数。
10.将十进制数130以符号加绝对值表示法存储在8位存储单元中会怎样?答:会溢出。
因为符号加绝对值表示法在八位存储单元中存储数据的的范围是:-127到+127. 11.分析比较正整数在符号加绝对值、二进制反码、二进制补码三种表示法中的异同。
答:没有不同。
12.分析比较负整数在符号加绝对值、二进制反码、二进制补码三种表示法中的异同。
答:相同点:最左边的位定义的都是符号。
如果为0,则表示正数,如果为1,则表示负数。
不同点:首先将整数的绝对值转换成二进制数,若是负数,符号加绝对值是将最左边的位置1,其余不变;反码是将所有二进制位中的0变为1。
即按位取反。
补码是最右边连续的0和首次出现的1保持不变,其余位逐位取反。
13.分析比较0在符号加绝对值,二进制反码,二进制补码三种表示方法中的异同。
答:符号加绝对值:有两个0,正0(00000000)和负0(10000000)二进制反码:有两个0,正0(00000000)和负0(11111111)二进制补码:只有一个0(00000000)14. 分析比较符号加绝对值,二进制反码,二进制补码三种表示方法中可以表示的数的范围。
系统结构习题第一章1. 1 解释下列术语:层次结构,计算机系统结构,计算机组成,计算机实现,透明性,由上而下设计,由下而上设计,由中间向两边设计,软件兼容,向上兼容,固件,系列机,兼容机,模拟,仿真,虚拟机,宿主机,指令流,数据流,单指令流单数据流,多指令流多数据流,CPI,MIPS,Amdahl定律。
1.2 存储程序计算机的主要特征是什么?存在的主要问题是什么?目前的计算机系统是如何改进的?1.3 从机器(汇编)语言程序员看,以下哪些是透明的?指令地址寄存器,指令缓冲器,时标发生器,先行进位链,条件码寄存器,乘法器,主存地址寄存器,移位寄存器,通用寄存器,中断字寄存器,磁盘外设。
1.4 如有一个经解释实现的计算机,可以按功能分成4级。
每一级为了执行一条指令需要下一级N条指令解释。
若执行第一级的一条指令需Kns时间,那么执行第2、3、4级的一条指令各需要用多少时间?1.5 假定你是一个计算机设计者,对高级语言结构的使用研究表明,过程调用是最常用的操作之一。
你已设想了一个优化设计方案,它能减少过程调用和返回所需的取/存指令次数。
为了进行验证,对未加优化和已优化的方案进行实验测试,假定所使用的是相同的优化编译器。
实验测得的结果如下:(1)未优化的时钟周期比优化的快5%;(2)未优化方案中的取/存指令数占总指令数的30%;(3)优化方案中的取/存指令数比未优化的少1/3,对于其他指令,两种方案的动态执行数没有变化;(4)所有指令,包括取/存指令,均只需要1个时钟周期。
要求你定量地判断,哪一种设计方案的计算机工作速度更快。
1.6 假设在一台40MHz处理器上运行200 000条指令的目标代码,程序主要由四种指令组成。
根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:(1)计算在单处理机上用上述跟踪数据运行程序的平均CPI。
(2)根据(1)所得CPI,计算相应MIPS速率。
1.7 对于一台40MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟周期数如下:求该计算机的有效CPI、MIPS和程序执行时间。
第2章数据表示和寻址简答题(2)字符“'F'”和数值46H作为MOV指令的源操作数有区别吗?没有,因为字符“'F'”的ASCII码就是数值46H(3)为什么可以把指令“MOV EAX, (34+67H)*3”中的数值表达式看成是常量?汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量(4)汇编语言为什么规定十六进制数若以A~F开头,需要在前面加个0?以便与标识符区别,因为标识符要求以字母(或特殊符号)开头(7)为什么将查找操作数的方法称为数据寻“址”方式?指令的操作数需要通过存储器地址或I/O地址,才能查找到数据本身,故称数据寻址方式(8)为什么变量VAR在指令“MOV EAX, VAR”中表达直接寻址?因为这里的变量名VAR实际上表达了从变量所存放的主存单元,即[地址]判断题(1)对一个正整数,它的原码、反码和补码都一样,也都与无符号数的编码一样。
对(2)常用的BCD码为8421 BCD码,其中的8表示D3位的权重。
对(3)排序一般按照ascii码值大小,从小到大升序排列是,小写字母排在大写字母之前。
错(4)用“BYTE”和“DWORD”定义变量,如果初值相同,则占用的存储空间也一样多。
错。
用BYTE只占一个存储单元,而DWORD要占4个存储单元(5)TYPE DX的结果是一个常量,等于2。
对(6)IA-32处理器采用小端方式存储多字节数据。
对(7)某个双字变量存放于存储器地址0403H ~ 0406H中,对齐了地址边界。
错(8)立即数寻址只会出现在源操作数中。
对(9)存储器寻址方式的操作数当然在主存了。
对(10)指令“MOV EAX, VAR+2”与“MOV EAX, VAR[2]”功能相同。
对,仅是不同的形式罢了填空题(1)计算机中有一个“01100001”编码。
如果把它认为是无符号数,它是十进制数___________;如果认为它是BCD码,则表示真值_____________;又如果它是某个ASCII 码,则代表字符__________。
97,61,小写字母a(2)C语言用“\n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个是回车,其ASCII码是_____________,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_____________,它将光标移到下一行。
0DH(13),0AH(10)(3)定义字节变量的伪指令助记符是______,获取变量名所具有的偏移地址的操作符是_______。
BYTE,OFFSET(4)数据段有语句“H8843 Dword h”,代码段指令“mov cx,word ptr h8843”执行后,cx=()。
8843(5)用DWORD定义一个变量XYZ,它的类型是(),用“type XZY”会得到数值为()。
如果将其以字变量使用,应该用()说明。
双字,4,word ptr(6)数据段有语句“ABC BYTE 1,2,3”,代码段指令“mov cl,abc+2”执行后,cl = ( ). 3(7)除外设数据外的数据寻址方式有3类,分别称为(),()和()。
立即寻址,寄存器寻址,存储器寻址(8)指令“MOV EAX, OFFSET MSG”的目的操作数和源操作数分别采用______和_______寻址方式。
寄存器寻址,立即数寻址(9)已知ESI=04000H,EBX=20H,指令“MOV EAX, [ESI+EBX*2+8]”中访问的有效地址是__________。
04000H+20H×2+8=04048H(10)用EBX作为及地址指令,默认采用()段寄存器指向的数据段,如果采用BP、EBP 或SP、ESP作为基地址指针,默认使用()段寄存器指向堆栈。
DS,SS习题按照如下要求定义变量或符号常量:(1) my1b为字符串变量:Personal Computermy1b byte 'Personal Computer'(2) my2b为用十进制数表示的字节变量:20my2b byte 20(3) my3b为用十六进制数表示的字节变量:20my3b byte 14h(4) my4b为用二进制数表示的字节变量:20my4b byte 00010100b按照如下要求定义变量或符号常量:(5) my5w为20个未赋值的字变量my5w word 20 dup(?)(6) my6c为100的常量my6c = 100(7) my7c表示字符串:Personal Computermy7c equ <Personal Computer>习题按照如下输出格式,在屏幕上显示ASCII表编程在数据段直接构造这样的表格、填写相应ASCII代码值(不是字符本身),然后使用字符串显示子程序DISPMSG实现显示.dataTable byte 3 dup(20h),’ |0 1 2 3 4 5 6 7 8 9 A B C D E F', 13,10byte dup(‘-’),’+’,31 dup (‘-’), 13,10Byte'20|',20h,20h,21h,20h,22h,20h,23h,20h,24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20hbyte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h, 2fh,20h,13,10byte '30 |',30h,20h,31h,20h,32h,20h,33h,20h, 34h,20h,35h,20h,36h,20h,37h,20h,38h,20h,39h,20hbyte 3ah,20h,3bh,20h,3ch,20h,3dh,20h,3eh,20h, 3fh,20h,13,10……byte 0……ca ='2'cas =20hbyte ca,'0 |',cas,20h,cas+1,20h,cas+2,20h, cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hbyte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h, cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10cas =cas+10hca =ca+1byte ca,'0 |',cas,20h,cas+1,20h,cas+2,20h, cas+3,20h,cas+4,20h,cas+5,20h,cas+6,20h,cas+7,20hbyte cas+8,20h,cas+9,20h,cas+0ah,20h,cas+0bh,20h, cas+0ch,20h,cas+0dh,20h,cas+0eh,20h,cas+0fh,20h,13,10习题数据段有如下定义:var dword h现以字节为单位按地址从低到高的顺序,写出这个变量内容。
var变量的内容:78H、56H、34H、12H并说明如下指令的执行结果:mov eax,var ;EAX=Hmov bx,word ptr var ;BX=5678Hmov cx,word ptr var+2 ;CX=1234Hmov dl,byte ptr var ;DL=78Hmov dh,byte ptr var+3 ;DH=12H习题说明源操作数的寻址方式(1)mov edx,1234h 立即数(2)mov edx,vard 直接(3)mov edx,ebx 寄存器(4)mov edx,[ebx] 寄存器间接(5)mov edx,[ebx+1234h] 寄存器相对(6)mov edx,vard[ebx] 寄存器相对(7)mov edx,[ebx+edi] 基址变址(8)mov edx,[ebx+edi+1234h] 相对基址变址(9)mov edx,vard[esi+edi] 相对基址变址(10)mov edx,[ebp*4] 带比例寻址第三章简答题(1)如何修改“MOV ESI, WORD PTR 250”语句使其正确?删除“WORD PTR”即可(2)为什么说“XCHG EDX,CX”是一条错误的指令?源、目标寄存器位数不同,不能用该指令进行数据交换(3)说IA-32处理器的堆栈“向下生长”是什么意思?入栈时堆栈指针寄存器做减法操作,指向低地址;出栈时堆栈指针寄存器做加法操作,指向高地址(4)都是获取偏移地址,为什么指令“LEA EBX,[ESI]”正确,而指令“mov ebx,offset [ESI]”就错误?LEA指令时运行时计算地址,OFFSET是汇编时取地址。
(5)执行了一条加法指令后,发现ZF=1,说明结果是什么?表明运算结果为0(6)INC、DEC、NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?既是源操作数,也是目的操作数(7)大小写字母转换使用了什么规律?大小写字母转换利用它们的ASCII码相差20H(9)除法指令“DIV ESI”的被除数是什么?被除数64位,在EDX和EAX中,EDX保存高32位、EAX保存低32位(10)逻辑与运算为什么也称为逻辑乘?运算规则类似于2进制乘法。
判断题(1)指令“MOV EAX,0”使EAX结果为0,所以标志ZF=1。
错,MOV指令不影响标志(2)空操作NOP指令其实根本没有指令。
错,(3)堆栈的操作原则是“先进后出”,所以堆栈段的数据除了PUSH和POP指令外,不允许其他方式读写。
错(4)虽然ADD指令和SUB指令执行后会影响标志状态,但执行前的标志并不影响它们的执行结果。
对(5)80减90(80-90)需要借位,所以执行结束后,进位标志CF=1。
对,减法时借位也用CF标志反映(6)指令“INC ECX”和“ADD ECX,1”实现的功能完全一样,可以互相替换。
错,INC 不影响CF位。
(7)无符号数在前面加零扩展,数值不变;有符号数前面进行符号扩展,位数加长一位、数值增加一倍。
错,符号扩展也不改变数值大小(8)CMP 指令是目的操作数减去源操作数,与SUB指令功能相同错(9)逻辑运算没有进位或溢出问题,此时CF和OF没有作用,所以逻辑运算指令将CF和OF设置为0错(10)SHL指令左移一位,就是乘10。
错,左移一位,相当于乘2。
这里的位是二进制比特位填空题(1)指令“PUSH DS”执行后,ESP会 ____________.减 2(2)指令“POP EDX”的功能也可以用MOV和ADD指令实现,依次应该是__________和__________指令。