汇编1.1.3本节回顾 imul 这个寄存器 这条指令 ==上面寄存器=上面寄存器*这个寄存器

1.汇编器和链接器是如何一起工作的:

汇编器将源代码程序从汇编语言转换为机器语言。链接器将汇编器创建的独立文件组合起来,形成一个可执行的问题。

2.学习汇编语言如何提高你对操作系统的理解?:
汇编语言是一个很好的工具,学习它可以了解到应用程序时如何通过中断处理,系统调用和共享内存区域来实现与计算机操作系统的通信。汇编语言编程同样也有助于学习操作系统时如何加载和执行应用程序的。

3.比较高级语言和机器语言时,一对多关系是什么意思?
:一对多关系是指,一条语句扩展为多条汇编语言或机器指令。

4.解释编程语言中的可移植性概念:
:一种语言,若其源程序能够在各种计算器系统上编译和运行,则称该语言是可移植的。

5.X86处理器的汇编语言和Vax或Motorola68x00等机器汇编语言时一样的吗?
:不一样。每一种汇编语言要么基于处理器系列,要么基于特定计算机。

6.举一个嵌入式系统应用程序的列子:
嵌入式系统应用的列子有:汽车燃油和点火系统,空调控制系统,安保系统,飞行控制系统,掌上电脑,调制解调器,打印机和其他只能计算器外设

7.什么是设备程序?
设备程序器是一种程序,其作用是通过操作系统命令转换为只有制造商才知道的硬件细节具体指令

8.汇编语言和C/C++语言中的指针变量类型检查,哪一个更强(更严格)?
C++不允许一种类型的指针赋值给另一种类型的指针。汇编语言对指针则没有这样的限制

9.给出俩种应用类型,与高级语言相比,他们更适合使用那种汇编语言。
适合于汇编语言的应用:硬件设备驱动程序,嵌入式系统和需要直接访问硬件的计算机游戏

10.编写程序来直接访问打印机端口时,为什么高级语言不是理想工具?
高级语言没有提供对硬件的直接访问。如果高级语言可以直接访问硬件,那么编程时就不得不频繁使用一些麻烦的编码技术,这就可能导致维护问题。

11.为什么汇编语言不常用于编写大型程序?
汇编语言只有极少的形式结构,因此必须由程序员设计结构,而程序员具备的经验参差不齐。这就使得维护现有代码比较难,而且汇编代码的效率比较慢,一段C++能实现的代码汇编需要7.8段

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

第一种:
mov eax,y //把y数据放进eax里
mov ecx,4 //ecx=4
imul ecx //eax=eax*ecx
add eax,3 //eax=eax+3;
mov X,eax //把算好的结果传入X;

猜你喜欢

转载自blog.csdn.net/ADADQDQQ/article/details/108271391
今日推荐