《汇编语言_基于x86处理器》习题答案 - 第一章

1.1

1、汇编器和链接器是如何一起工作的?

汇编程序要转化为可执行程序,需要先译码后组合。这是因为一个完整的汇编程序常常是由多个文件构成,先用汇编器将每一个文件中的汇编代码转化为机器语言后,链接器再把这些文件组合成一个可执行程序。

2、学习汇编语言如何能提高你对操作系统的理解?

可用汇编语言验证操作系统的理论知识,从而更深刻的掌握操作系统

3、比较高级语言和机器语言时,一对多关系是什么意思?

一条高级语言编译后会转化为多条机器语言指令

4、解释编程语言中的可移植性概念

如果某种编程语言能够在各种各样的计算机系统上编译和运行,那么这种语言被称为可以移植的

汇编语言是不可移植的,因为它是为特定的处理器系列设计的。

5、x86处理器的汇编语言与Vax或Motorola 68x00等机器的汇编语言是一样的吗?

不一样

6、举一个嵌入式系统应用程序的例子

自动贩卖机

7、什么是设备驱动程序?

它把操作系统的指令转化为对硬件细节的具体操作

8、汇编语言和C/C++语言中的指针变量类型检查,哪一个更强(更严格)?

C/C++有更严格的检查机制

9、给出两种应用类型,与高级语言相比,它更适合使用汇编语言。

硬件设备驱动程序、电脑游戏

10、编写程序来直接访问打印机端口时,为什么更适合使用汇编程序。

对硬件的调用更直接简单

11、为什么汇编语言不常用于编写大型应用程序?

1、需要花费大量的时间调试

2、不同的机器需要用不一样的汇编语法重写

12、挑战:参考本章前面给出的例子,将下述C++表达式转化为汇编语言:X=(Y*4) +3 。

mov     eax, Y   ;Y送入EAX寄存器
mov     ebx,4    ;4送入EBX寄存器
imul    ebx     ;EAX与EBX相乘
add     eax,3   ;EAX寄存器内容加4
mov     X,eax    ;EAX的值送入X

1.2

1、用自己的话描述虚拟机概念。

把更高级的语言翻译成对应的设备的低级语言。

2、为什么认为翻译的程序比解释的程序执行起来更快?

解释是边译码边运行

翻译是一次译码,一次运行

翻译可以少很多次译码的次数,所以更快

3、(真/假):当L1语言编写的解释程序运行时,其每一条指令都由用L0语言编写的程序进行解码和执行。

4、当处理不同虚拟机层次的语言时,说明翻译的重要性。

如果翻译能大大减少译码时间,提高运行效率

5、本节给出的虚拟机示例中,汇编语言出现在哪一层

LEVEL3

6、什么软件程序使得被编译的Java程序能够在几乎所有计算机上运行?

JVM

7、从低到高,说出本节命名的四个虚拟机层次。

数据逻辑、指令集架构、汇编语言、高级语言

8、为什么程序员不用机器语言编写应用程序?

由数字构成,编写程序非常麻烦

9、图1-1中,哪个虚拟机层次使用机器语言?

指令集架构

10、汇编语言虚拟机的语言被翻译为哪个层次的语句?

指令集架构

1.3

1、术语解释:最低有效位(LSB)

最右边的位就是最低有效位

2、下列无符号二进制整数的十进制表示分别是什么?

a、11111000    b、11001010    c、11110000

a、248    b、185    c、222

3、下列每组二进制整数的和分别是多少

a、00001111 + 00000010    b、11010101 + 01101011    c、00001111 + 00001111

a、0001 0001    b、0100 0000    c、0001 0000

4、下列没种数据类型各包含多少个字节?

a、字    8

b、双字  16

c、四字   32

d、八字   64

5、若要表示下列无符号十进制整数,则最少需要几位二进制数位?

a、65     7

b、409   9 

c、16385    13

6、写出下列二进制数的十六进制表示

a、0011 0101 1101 1010   35DA

b、1100 1110 1010 0011   CFA3

c、1111 1110 1101 1011   EFDB 

7、写出些下列十六进制数的二进制表示。

a、A4693FBC    1010 0100 0110 1001 0011 1110 1011 1101

b、B697C7A1    1100 0110 1001 0111 1100 0111 1010 0001

c、2B3D9461     0010 1100 0011 1101 1001 0100 0110 0001

1.4

1、描述布尔表达式~X ^ Y

对X取反,然后与Y取与

2、描述布尔表达式 (X || Y)

X对Y取或

3、布尔表达式 (T^F) || T 的值是什么?

T

4、布尔表达式 ~( F || T ) 的值是什么?

F

5、布尔表达式 ~F || ~T的值是什么?

T

猜你喜欢

转载自blog.csdn.net/u013214292/article/details/79489692