安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  编程工具 > o语言开发环境 v1.0.0.3 绿色免费版
o语言开发环境

o语言开发环境

 v1.0.0.3 绿色免费版
  • 软件大小:6.65 MB
  • 更新日期:2019-07-08 17:01
  • 软件语言:简体中文
  • 软件类别:编程工具
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:6.65 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  O汇编开发环境是为了能方便开发O汇编程序而开发的应用程序,它集中了代码编写、调用O汇编程序编译代码和调用外部链接程序链接生成执行文件等功能;内置强大的汇编指令,O汇编语言的指令与当前大部分的汇编指令格式表述有所不同,O汇编的指令是以数据为本(套用以人为本),或者说是所谓面向数据(套用面向对象),其具体表现就是,大部分的汇编指令都是以一个操作数开始,并认为这个操作数是指令的主语;而当前其它汇编语言都是以指令名称开始,后面跟的是操作数列表,形象表示区别如下:O汇编,主语操作数 指令/操作符 其它相关操作数;其它汇编,指令 操作数,操作数;O汇编也有一些指令是以指令/操作符开始的,因为有些指令可以省略主语,比如压栈和出栈指令,而有些指令根本不需要主语;而有些指令是隐含操作数,O汇编要求显示地给出这些操作数,以增加代码可读性。还有一些指令默认两个操作数作为一个操作数,O汇编要求它们显示地给出并以联接符把它们联接起来。所有的指令测试实例都可以在“sample\指令测试”的文件下找到,我这里只介绍一部分指令;支持自动完成选择框,自动完成选择框是为了方便输入寄存器、符号或者是代码模板而提供的一个选择列表窗口,在编辑窗口的任何编辑位置按Tab键将会出现这个列表窗口,出现列表窗口后,按空格键或者是退格键将会在寄存器列表、一般定义符号、指令符号和代码模板列表之间循环切换;强大又实用,需要打的用户可以下载体验

o语言开发环境

应用介绍

  什么是汇编语言。汇编语言(Assembly Language)又叫组合语言,是面向机器的程序设计语言。在传统的汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址妈。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称为汇编。

  顾名思义O汇编语言也是一门汇编语言,它具有传统汇编语言的基本特点,也有与它们诸多不同之处。O汇编语言一个最大显著的特点是支持语言配置,使得它可以支持所有你想支持的语言,当然,O汇编语言的初衷是为了支持中文,所以它可以非常好的支持中文汇编。如果你已经习惯了其它英文的汇编模式,比如你喜欢用EAX、EBP类似这样的方式来命名寄存器,不要紧,只需要修改一下语言配置文件,这可以轻松做到。O汇编语言另一个显著的特点是指令使用非常直观和人性化,在不缺失汇编语言灵活性的情况下,使汇编语句的语意可以很直观地表现出来,这主要得益于用了一些象征性的符号,使得汇编语句不再是千篇一律的 (指令 寄存器,内存操作数) 这样的格式,而是更像 (寄存器 = 内存操作数)这样的格式,不但容易理解,而且便于记忆,使汇编语言不再那么枯燥,使人一团雾水。

  当然,在这里我还是着重介绍怎么用中文来编写程序,汇编语言通常是分段的,O汇编语言也是如此,下面是O汇编语言的基本格式:位模式 32 ∥指明是16位、32位还是64位的代码,∥这里包含一些头文件和库的引用、∥数据段、∥只读段、∥外部引用段、∥代码段开始、∥开始函数定义、∏主函数()、∥这里添加代码、∥代码段结束

  首先介绍注释方式,O汇编语言使用行注释与块注释两种方式,使用‘∥’这个符号作为行注释的开始,注意‘∥’这个符号不是C语言里的两个左斜杠‘//’组成的注释符号,而是一个字符,在一行内只要以这个符号开始,那么这之后的所有字符都被看着是说明字符。块注释是「 」这两个符号,在这两个符号中间的字符都被看着是说明字符。

软件功能

  复合数据类型

  复合数据类型就是在基本数据类型的基础上组合成复合的数据类型,使其更接近人们生活中的一些数据结构。O汇编语言的复合数据类型可以包括数组、结构体、联合体和枚举类型,以及数组、结构体和联合体之间的不同组合。

  使用数据类型

  可以在两种地方使用数据类型进行变量的定义,一个是保存数据的段,保存数据的段包括数据段、只读段、预留段,另一个是代码段中的函数内。在保存数据的段中定义的是全局变量,这里定义的变量可以在整个代码文件中使用,而且还可以做为其它代码块的外部引用进行使用;在函数内定义的变量是局部变量,只能在函数内使用。定义变量的格式是: 数据类型名称 变量名<行结束>,必须以行为单位进行变量定义,

  全局变量又称静态变量,枚举类型也是静态变量,虽然枚举类型没有在保存数据的段中明确进行变量定义,但是每个枚举类型的成员都会被编译器自动加到数据段中,全局变量是被静态编译到代码文件中的,除了预留段(预留段没有初始数据),数据段与只读段的数据都可以在最终编译成的目标文件找到它们的数据;

  而局部变量是动态变量,因为局部变量是分配在堆栈段中,当程序运行到某个函数内部时,使用一条指令在堆栈内进行动态分配变量空间,当函数运行结束时,这些空间被回收。

软件特色

  16位模式内存操作数寻址:

  内存操作数就是指指令要处理的数据放置在内存的某一位置的数据(通常数据都放置在保存数据的段中,或者是堆栈中),内存操作数寻址就是要通过某种手段来得到这一内存地址。16位模式下的内存地址是通过某个寄存器里保存某一起始地址再加上一个8位立即数或者是16位立即数来做为偏移量,两个地址相加最终得到内存地址。这里讲的某个寄存器,也可以是两个寄存器,偏移量也可以为0,即没有偏移量。

  32位模式内存操作数寻址:

  32位模式内存操作数寻址在16位基础上增加两种特殊的寻址方式,一种是不使用寄存器直接使用32位偏移量(其实这里的寄存器位置使用了基址32寄存器做为标志),另一种是比例变址(其实这里的寄存器位置使用了栈址32寄存器做为标志)。从二进制代码来分析,实际的二进制代码是下面方式表述的:[32位位移量] = [数段:基址32+32位位移量],这里的基址32是做为标记使用,不是访问栈的基址寄存器,默认不需要写出来;[32位位移量+比例变址] = [栈址32+比例变址+32位位移量],这里的栈址32寄存器也只是做为标记,默认不需要写出来。

  O汇编语言支持二进制数、八进制数、十进制数、十六进制数、浮点数以及IEEE标准格式的浮点数,如无特殊指明,一个数字字符串是一个十进制数,比如:1234;以0x开头的是十六进制数,比如:0x1234;立即数还可以是一个单字符,比如:’M’。除此之外,O汇编语言使用进制符来修饰不同的进制。

安装步骤

  1、用户只要点击本网站提供的下载地址即可将应用程序下载到磁盘

o语言开发环境

  2、打开数据包,解压数据文件,得到可以直接使用的程序文件,双击应用程序即可安装

o语言开发环境

  3、需要完全同意上述协议的所有条款,才能继续安装应用程序,如果没有异议,请点击“同意”按钮

o语言开发环境

使用说明

  一、位模式说明

  .位模式 32 ∥指明是16位、32位还是64位的代码

  由于计算机使用16位地址、32位地址或者是64位地址时所使用的指令及寄存器都有很大区别,所以必须指明你所写的代码将被运行在哪种模式下。由于目前常用的程序都运行在32位模式下,O汇编语言对16位程序的支持还没有进行严格的测试,而64位的程序目前也还不支持。这两种模式在以后开发过程中都会得到完善的支持。

  二、保存数据的段

  根据数据不同属性,保存数据的段通常有以下三种:

  ∥数据段

  ︻

  ∥数据段中的数据 这段数据被加载到可读可写的内存中

  ︼

  ∥只读段

  ﹃

  ∥只读段中的数据 这段中的数据被加载到只读的内存中,如果要对这段空间进行写操∥作会出现写保护异常

  ﹄

  ∥预留段

  ﹁

  ∥预留段中的空间,这段空间分配在可读可写的内存中,但它只在加载程序,准备运行∥时才分配,所以这段中的空间只是先定义,而不能进行静态初始化

  ﹂

  三、外部引用段

  外部引用段是可选的,如果没有使用到外部符号就不需要这个段。也可以有多个引用段,主要是用来放置使用外部的函数及变量,比如要使用系统提供的函数,就在这里进行声明,在代码段里使用了。这个段不会对最后编译的代码产生任何影响,只是起到外部符号声明作用。

  ∥外部引用段

  ︽

  ∥引用外部的函数及变量

  ︾

  什么是外部函数及变量将在后面介绍

  四、代码段

  代码段就是用来编写代码的段落。O汇编语言规定代码只能写在函数里,也就是说代码段是由一个或若干个函数组成的,结构如下:

  ∥代码段开始

  ︷

  ∥开始函数定义

  ∏主函数()

  {

  ∥这里添加代码

  }

  ∥其它的函数定义

  ∥…

  ︸ ∥代码段结束

  一个代码文件里可以拥有多个代码段,但是只能有一个主函数,主函数是程序开始执行位置,主函数不能拥有参数,一个主函数只能按如下格式定义:

  ∏主函数()

  {

  ∥这里添加代码

  }

  因为主函数是程序最开始执行的地方,所以又要叫入口或者门函数,因此用“∏”类似门一样的符号来表示。O汇编语言的代码编写风格是以行为单位的,因此定义一个函数至少占三行,函数名及参数占一行,左大括号“{”占一行,右大括号“}”也单独占一行。普通的函数定义如下:

  ∫函数名(变量类型 参数名…)

  {

  ∥这里添加代码

  }

  O汇编语言函数默认是标准调用方式,所谓调用方式是指使用函数时,参数的压栈顺序及参数堆栈由函数自身还是由调用者来进行修正堆栈平衡的一种约定。不同语言有不同的约定,下表列出了目前不同语言对函数调用方式:

  C语言SysCallStdCallBASICFORTRANPASCALO汇编

  参数压栈顺序先右后左先右后左先右后左先左后右先左后右先左后右先右后左

  由谁进行参数堆栈平衡调用者函数自身函数自身函数自身函数自身函数自身函数自身

  允许使用可变参数是是是否否否是

  注意上表列出的SysCall、StdCall及O汇编风格当使用可变参数时,参数的堆栈平衡就必须由调用者来完成。因为函数自身定义时参数还未确定,只有在使用时才能最终确定参数的个数。

  Windows的默认风格是StdCall风格,O汇编默认的也是这种风格,如果O汇编要指定C风格时就必须按下面格式定义:

  ∫ :C 函数名(变量类型 参数名 其它参数) ∥在函数定义符及函数名之间加入 “:C”

  {

  ∥这里添加代码

  }

  定义可变参数的函数时如下:

  ∫ :C 函数名(变量类型 参数名 ..) ∥在参数最后加入“..”两个英文句号

  {

  ∥这里添加代码

  }

  O汇编的基本的基本格式就是这样子,熟悉其它汇编语言的朋友都知道,汇编语言都是分段的,只不过它们分段都是由文字来定义,比如MASM、NASM,而O汇编使用了不同的符号来表示,这样直观而不容易混淆,也使得结构非常清晰,至于选择哪一种风格那就看个人喜好和习惯了。

  第一节 寄存器

  寄存器是处理器内部用于保存和处理数据的地方,由于计算机处理的都是二进制数,一个二进制数是由若干个二进制0或1来组成的,而且数据存储的地址也是用二进制寻址的,所以就有了二进制位数。从最早的的8位到现在的64位处理器,从单核到多核,使得处理器处理的数据越来越大,而且速度也越来越快,处理器内部结构已经发生了很大变化,但是X86架构所使用的指令和寄存器都一直是向下兼容的,这也使得指令和寄存器在不断扩充和升级的情况下,变得越来越繁多和复杂。下表列出了32位X86架构处理器所使用到的寄存器:

o语言开发环境
o语言开发环境
o语言开发环境
o语言开发环境
o语言开发环境

  注:打星号的寄存器是不能使用的。

  上表中最后面从GDTR到MSW是我加进去的,这几个比较特殊,也由单独的指令来控制,之所以把它们归结到寄存器里来,主要是因为它们功能和其它寄存器一样,都是保存着处理器内部的数据,只是它们保存的数据有特殊的用途。

人气软件