
正文
java实现汇编指令代码 java汇编语言
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java如何编译c或c++文件
java是不能够编译C/C++文件java实现汇编指令代码的。他们原理完全不同。背后的运行机制也完全不一样。
C/C++源文件只能够用C/C++的编译器来编译。
以GCC编译器为例java实现汇编指令代码,整个编译可以分为四步。
第一步是预处理java实现汇编指令代码,包括语法检查等工作。
gcc -P abc.c
第二步由源程序生产汇编语言代码。
gcc -S abc.c
会生成abc.s文件java实现汇编指令代码,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc -c abc.c
会生成abc.o
第四步连接器从目标代码生成可执行文件。
gcc abc.o
目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
相关问答
Q1: 汇编语言 是什么 最好帖下代码 谢谢
汇编属于低级语言,它的本质就是机器语言,只不过为了方便记忆和书写,使用了一些助记符,将机器指令与相应的英语短语(即助记符)如mov,cmp等对应起来,然后通过编译程序将他们转化成机器指令...
它不能称为一个开发平台,它相当于是一个标准吧,实际上不同的版本,标准也是不一样的,不同的公司也推出了不同的开发平台
C# C Java 都是属于高级语言,他们不可以编写汇编语言,但是通过内置的函数接口,可以实现和汇编语言的混合编程,不过需要一些特殊的语法,标准的格式支持
建立不同语言之间的接口
在不同格式的两种语言间提供有效的通讯方式,作出符合两种语言调用约定的某种形式说明,实现两种语言间的程序模块互相调用、变量的相互传送以及参数和返回值的正确使用
格式
asm 操作码 操作数 ;或换行
举例
asm mov ax,ds;
asm pop ax; asm pop ds; asm ret;
asm push ds
如:
#include stdio.h
void upper(char *dest,char *src)
{ asm mov si,src
/* dest和src是地址指针 */
asm mov di,dest
asm cld
loop: asm lodsb /* C语言定义的标号 */
asm cmp al,'a'
asm jb copy /* 转移到C的标号 */
asm cmp al,'z'
asm ja copy
/* 不是’a’到’z’之间的字符原样复制 */
要注意模块连接的约定规则
命名约定:汇编语言过程应采用C语言类型
声明约定
寄存器使用约定
存储模式约定:采用相同的存储模式
参数传递是关键
通过堆栈传递入口参数
通过寄存器返回出口参数
; 汇编语言子程序:lt703s.asm
.model small,c ;小型存储模式
.data
msg db ’Hello, C and Assembly ! $’
.code
PUBLIC display
display proc
mov ah,9 ;小型模式不必设置DS
mov dx,offset msg
;寄存器AX和DX无须保护
int 21h
ret
display endp
end
/* C语言程序:lt703.c */
extern void display(void);
/* 说明display是外部函数 */
main()
{ display();
}
希望对你有所帮助..
Q2: 如何将java语言转变为汇编语言
流程:
Java词法分析
最开始的时候,高级语言编写的程序对编译器来说只是一连串的单个字符组成的字符串。为了让编译器识别这一连串的字符串,需要逐个字符的读取源程序,然后将其切分成有意义的单词,这些被切分后的单词在编译器眼里是以
标识,语义值对的形式存在。
为了从源程序字符串中依次找出单词,编译器需要具有扫描功能,通常这种扫描器可以用一组有限状态机来实现。为了说明有限状态机是怎么一回事,下面给出一个实例。
下图为一个识别数字的有限状态机,数字由整数部分和可选的小数部分组成。因此,根据这个有限状态机,250和3.14159都能被识别成一个有效的数字。
Java语法分析
完成了“词法分析”后,接下来就是激动人心的“语法分析”阶段。通过语法分析得到语法树。
Java翻译语法树
首先,寻找最小表达式,接下来,将最小表达式与其周边的表达式合并。最后,将所有的表达式有序的进行合并,得到最终的汇编语言描述。
至此,我们便将高级语言翻译成了汇编语言。
Q3: java怎么嵌入汇编代码,或者java怎么嵌入c代码
从语法级别上不提供对汇编内嵌的支持,不过,如果确实需要,可以借助于JNI,它可以调用C/C++代码,这样你可以间接地嵌入汇编代码。
关于java实现汇编指令代码和java汇编语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







