一种汇编语言程序的开发方法和装置制造方法及图纸

技术编号:4029282 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种汇编语言程序的开发方法和装置,其中的方法具体包括:编写汇编语言程序,其中,使用自定义助记符代替需要用到的寄存器;针对所述汇编语言程序的自定义助记符,为其分配寄存器;根据分配结果,在所述汇编语言程序中将自定义助记符替换为相应的寄存器。本发明专利技术能够使得开发人员脱离寄存器的束缚,进而提高工作效率。

【技术实现步骤摘要】

本专利技术涉及程序开发
,特别是涉及一种汇编语言程序的开发方法和装置
技术介绍
一条计算机指令通常由两个部分组成操作码和操作数;其中,操作码可用来规 定这条指令完成什么操作,如取数、做加法或输出数据等,操作数则表示这条指令所完成操 作的对象,它可以是一个立即数,或者一个数据所在的地址等等。汇编语言(Assembly Language)是面向机器的程序设计语言;在用汇编语言编写 一条指令时,可以用助记符(Memoni)代替操作码,用地址符号(Symbol)代替操作数,故该 指令可以有明显的标识,易于理解和记忆;而且,汇编语言程序经汇编生成的可执行文件简 短,占用内存少,执行速度快,因而,汇编语言是高效的程序设计语言,在程序开发中起着重 要的作用。在一条指令的操作数用于表示数据所在的地址时,需要用到寄存器寻址,因而,在 汇编语言程序中可能需要使用计算机中的各种寄存器,例如,8位寄存器、16为寄存器和32 位寄存器等,而这些寄存器在汇编语言程序中通常是以特定的地址符号表示,例如所述地 址符号可以为AH、AL、BH、BL、CH、CL、DH和DL等;现有一种典型汇编语言程序的开发方法 可以包括以下步骤步骤1、建立一个表格,用来记录时间与寄存器之间的关系,其中,该表格可以是脑 中的印象,或者Excel表格;步骤2、在编写一条指令时,如果需要使用到寄存器,则查询表格并根据约束条件 选取寄存器(暂不考虑溢出),并在表格上做标识,以记录该寄存器的值需要保护;进一步, 若该指令需要的寄存器的值不再需要保护,则在表格上取消掉对应寄存器的标识;步骤3、表格切换到下一个时间,复制之前的寄存器标识情况,然后开始编写下一 条指令。可以看出,每编写一条指令,都需要确定寄存器的地址符号,使得开发人员受到严 重的寄存器束缚,从而影响开发人员的工作效率。总之,需要本领域技术人员迫切解决的一个技术问题就是如何使得开发人员脱 离寄存器的束缚,进而提高工作效率。
技术实现思路
本专利技术所要解决的技术问题是提供一种汇编语言程序的开发方法和装置,能够使 得开发人员脱离寄存器的束缚,进而提高工作效率。为了解决上述问题,本专利技术公开了一种汇编语言程序的开发方法,包括编写汇编语言程序,其中,使用自定义助记符代替需要用到的寄存器;针对所述汇编语言程序的自定义助记符,为其分配寄存器;根据分配结果,在所述汇编语言程序中将自定义助记符替换为相应的寄存器。优选的,所述针对所述汇编语言程序的自定义助记符,为其分配寄存器的步骤包 括针对当前处理器,配置寄存器参数和寄存器约束条件;根据所述寄存器参数和寄存器约束条件,为所述自定义助记符分配寄存器。优选的,所述寄存器约束条件包括在函数调用及返回时需要保护和还原的寄存 器集合,寄存器如何传递参数及返回值,以及指令可以使用的寄存器集合。优选的,所述寄存器参数包括寄存器类型和数量。本专利技术还公开了一种汇编语言程序的开发装置,包括编写模块,用于编写汇编语言程序,其中,使用自定义助记符代替需要用到的寄存 器;分配模块,用于针对所述汇编语言程序的自定义助记符,为其分配寄存器;替换模块,用于根据分配结果,在所述汇编语言程序中将自定义助记符替换为相 应的寄存器。优选的,所述分配模块包括多个配置选项,用于展示当前处理器的寄存器参数和寄存器约束条件选项,供用 户选择;分配单元,用于根据用户选择结果,为所述自定义助记符分配寄存器。优选的,所述寄存器约束条件包括在函数调用及返回时需要保护和还原的寄存 器集合,寄存器如何传递参数及返回值,以及指令可以使用的寄存器集合。优选的,所述寄存器参数包括寄存器类型和数量。与现有技术相比,本专利技术具有以下优点在编写汇编语言程序时,使用自定义助记符代替需要用到的寄存器,而在编写完 成后,再针对所述自定义助记符分配寄存器,并根据分配结果,在所述汇编语言程序中将自 定义助记符替换为相应的寄存器;因而,相对于现有技术,每编写一条指令,都需要确定意 义不明的aO,al, a2, a3等特定的寄存器地址符号,本专利技术的自定义助记符可以具有丰富的 意义,因而,可以在直观易懂的同时,使开发人员脱离寄存器的束缚,有利于提高汇编语言 程序的开发效率;再者,针对不同的处理器具有不同的寄存器参数,以及,不同情况会有不同的寄存 器约束条件的情形,本专利技术可以通过对辅助程序的配置选项进行适当的设置,便可以适应 不同的处理器,以及,适应不同的寄存器约束条件,有利于汇编语言程序在指令集相兼容的 处理器之间或者不同的开发约束条件之间进行移植。附图说明图1是本专利技术一种汇编语言程序的开发方法实施例的流程图;图2是本专利技术一种汇编语言程序的开发装置的结构图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本实施例可以适用于各种汇编语言,如ARM (Advanced RISC Machines)、 DSP (Digital Signal Processor)汇编语言等等。所有软件,都要翻译成CPU能直接识别的命令,才能由计算机去执行,这种能被 CPU直接识别和执行的命令称为指令;基于指令编出的程序称为汇编语言源程序,经汇编 后,就变成机器可执行的目标程序;因此,本实施例中的汇编语言程序即是汇编语言源程序。在实际中,由于DSP具有比较多的寄存器,且这些寄存器大多使用直观名称,例 如,a0, al,a2. aN ;rO, rl,. . . rM等,其中,N,M为自然数;故下面主要以DSP上的指令集 为例对本专利技术进行说明。一条指令可以用助记符代替操作码,用地址符号代替操作数,以加法指令为例指 令格式:ADD DST, SRC功能DST— DST+SRC操作说明ADD指令将目的操作数DST与源操作数SRC相加,并将结果存回目的操 作数DST;其中,ADD指令中目的操作数DST的类型可以是寄存器或存储器,源操作数SRC的 类型可以是寄存器、存储器或立即数,以下为ADD指令的示例ADD AL, 20;累加器内容与立即数相加ADD DX, SI;寄存器内容相加ADD AX, ;寄存器与存储器内容相加ADD DATA,AL;存储器内容与寄存器相加ADD BYTEPTR ,50H;存储器内容与立即数相加可以看出,在编写过程中,需要用到各种寄存器,如AL (累加器低8位, Accumulator Low),DX(数据寄存器,Data),SI (源变址寄存器,Source Index),AX (累加 器,Accumulator)等;而这些寄存器通常以特定的地址符号表示,导致人们难以阅读汇编 语言程序,从而不利于开发和维护。以ADD AL,20指令为例,在编写时,如果需要使用到寄存器,现有技术还需要进行 寄存器的分配工作也即,查询表格并根据约束条件选取寄存器AL,并在表格上做标识,以 记录该寄存器AL的值需要保护。如果在编写过程中,不为目的操作数分配寄存器,而是采用一个用户易读的自定 义助记符(例如,采用SquareTemp代表临时面积)来描述它该目的操作数,那么,可以在程 序编写完成后为每一个自定义助记符分配寄存器。本专利的专利技术人注意到了这一点,因而创造性地提出了本专利技术实施例的核心构思 之一,即在编写汇本文档来自技高网
...

【技术保护点】
一种汇编语言程序的开发方法,其特征在于,包括:编写汇编语言程序,其中,使用自定义助记符代替需要用到的寄存器;针对所述汇编语言程序的自定义助记符,为其分配寄存器;根据分配结果,在所述汇编语言程序中将自定义助记符替换为相应的寄存器。

【技术特征摘要】

【专利技术属性】
技术研发人员:许健
申请(专利权)人:北京红旗胜利科技发展有限责任公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1