附录a 汇编程序, 连接程序和spim 模拟器.doc


文档分类:汽车/机械/制造 | 页数:约103页 举报非法文档有奖
1/103
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/103
文档列表 文档介绍
附录A汇编程序,连接程序和SPIM模拟器
James
Wisconsin-Madison大学计算机科学系
畏首畏尾将无法体会到自由言论和集会的压力
Louis Brandeis
Whitney v. California,1927
2
8
17
18
19
21
36
41
SPIM 43
MIPS R2000汇编语言 56
99
100
102

对于计算机来说,用二进制数对指令进行编码很自然,也很有效。然而,人们在理解和操作二进制数时却存在许多实际的困难,比起一长串数字来人们更熟悉读写具体的符号和单词。在第三章我们将说明,由于计算机指令能可采用许多不同的表示方式,而不仅仅局限于在数字和单词之间选择,这样人类能读写符号,而计算机则能执行相应的二进制指令。本附录将详细描述了如何将人们可读的高级语言翻译成计算机可执行的指令格式,同时提供了一些编写汇编程序的帮助,并且还介绍了如何将这些程序在SPIM模拟器上运行。其中SPIM模拟器能执行MPIS程序。如若需要,用户可以通过网址:, Windows和DOS版本的SPIM模拟器。
汇编语言是计算机机器语言--二进制编码的一种符号表示。由于汇编语言用符号代替了数字位,所以汇编语言比机器语言更具有可读性。汇编语言中的符号命名通常针对具体的操作模式,例如操作码,寄存器说明等等,人们就很容易记忆和书写。另外,汇编语言还允许编程人员使用标号来识别、命名特定的存储字用以保存指令和数据。
建立一个可执行文件的过程。汇编程序将汇编语言程序翻译成目标文件,而目标文件再与其他的文件和库相连成为可执行文件。
汇编程序可以将汇编语言翻译成二进制指令。与计算机的0,1机器码相比,汇编程序的表达方式比较友好。这种优势不仅表现在对符号名的操作和定位上,还表现在编程的简化方面,它使程序更加清晰性。例如,在第二节将要讨论的有关宏汇编的概念,将允许编程者通过定义一些新的操作来扩展汇编语言。
汇编程序读入一个汇编语言源文件并生产一个目标文件。在目标文件中,包含了机器指令和用于同其他目标文件链结的记录信息。图1 显示了一个可执行程序的生成过程。大多数程序有以下几个文件(也称为模块)组成:编写,编译和汇编三个独立的模块。程序中可以调用库函数中各个子例程。各个模块通常用到调用子例程的语句,用到定义在其他模块和函数库的数据结构。当模块的源代码中用到了一些其他的目标文件和函数库中都没有定义的函数调用和数据结构时,该程序就无法执行。顾名思义,目标代码连接器(linker)就是将目标文件和库函数链接生成可执行文件。然后,该可执行文件就可以在计算机上运行了。
为了说明汇编语言的优点,我们依次观察下列所示各图。各图显示了用各种方法计算并打印0~100的整数的平方和的例程。(Million Instructs Per Second)计算机上运行机器码。,我们可以参照在第三章和第四章提供的操作码和指令格式表,但其工作量可想而知。,所以读写例程比较方便。然而,由于在这种汇编语言中,存储位置是通过具体指定它们的地址,而不是通过符号来确定,所以使用时透明性较差,难以推广。
:在MIPS机器上计算并显示0-100的整数的平方和的例程。
。大多数程序员愿意选择这种格式来读写程序。用句号(.)开始的名字例如:.data , .globl是汇编指令,它的作用在于提示汇编程序如何翻译下列程序段,但它们本身并不被转化成内部的机器指令。用冒号(:)结尾的名字(例如str 或main:)是表示下一个存储位置的标号。除了缺少注释行,这种程序同大多数汇编语言一样具有良好的可读性。但是,由于一些简单的操作也需要通过执行任务来完成,且该语言缺乏控制流结构,无法对程序的执行提供更多的线索,故而这种汇编语言较难使用。
通过比较不难发现,。那是因为在C语言中,每个变量有自己的存储名字,循环结构远比分支要明了的多(如若你对C语言不太熟悉,)。其实,只有C例程才是完全手工书写的,图示的其他例程都通过C编译程序和汇编程序间接产生。
图A-3:用汇编语言书写的例程。然而,该代码无法标识寄存器,存储单元的具体地址,也没有包含注释语句。
通常,汇编语

附录a 汇编程序, 连接程序和spim 模拟器 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息