如何将java语言转变为汇编语言

 我来答
锋友学盟
2016-03-02 · TA获得超过376个赞
知道小有建树答主
回答量:719
采纳率:83%
帮助的人:176万
展开全部

  流程:

  1. Java词法分析

    最开始的时候,高级语言编写的程序对编译器来说只是一连串的单个字符组成的字符串。为了让编译器识别这一连串的字符串,需要逐个字符的读取源程序,然后将其切分成有意义的单词,这些被切分后的单词在编译器眼里是以

    <标识,语义值>对的形式存在。

    为了从源程序字符串中依次找出单词,编译器需要具有扫描功能,通常这种扫描器可以用一组有限状态机来实现。为了说明有限状态机是怎么一回事,下面给出一个实例。

    下图为一个识别数字的有限状态机,数字由整数部分和可选的小数部分组成。因此,根据这个有限状态机,250和3.14159都能被识别成一个有效的数字。

  2. Java语法分析

    完成了“词法分析”后,接下来就是激动人心的“语法分析”阶段。通过语法分析得到语法树。

  3. Java翻译语法树

    首先,寻找最小表达式,接下来,将最小表达式与其周边的表达式合并。最后,将所有的表达式有序的进行合并,得到最终的汇编语言描述。

    至此,我们便将高级语言翻译成了汇编语言。

baitang3671b
2014-12-25 · TA获得超过5040个赞
知道大有可为答主
回答量:4421
采纳率:31%
帮助的人:1127万
展开全部
java是跨平台的,是很高级的语言。汇编语言是底层的语言。
java一般是在虚拟机上运行,编译成虚拟机的语言,不需要直接编译成实际硬件的语言。
因此,java不可能直接转变为汇编语言的。
如果想要转,只能人工进行,也即是看懂了java程序,再编写一个同样功能的汇编程序。
更多追问追答
追问
不会
追答
不明白你为什么要把java转汇编。java在虚拟机上用挺好的,不想要虚拟机了?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自在探世间
2015-10-19 · 超过31用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:30万
展开全部
可以先将java打包成成可执行文件.exe,之后用ollyDbg反汇编这个exe文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王茂S
2019-07-20 · TA获得超过211个赞
知道答主
回答量:19
采纳率:0%
帮助的人:6973
展开全部
java不会直接转为汇编,好像是转换为二进制机器码在JVM里运行。
每个程序运行都会先从硬盘中读取数据到内存中。
然后CPU从内存中取走二进制数据指令来进行操作。
你可以用OD从内存地址中提取数据转为汇编。
都19年了,你怕是都懂了,我现在才刚上大学自学中!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热情害羞的coder
2014-12-23 · 一个热情却不止怎么介绍i自己的程序员
热情害羞的coder
采纳数:28 获赞数:54

向TA提问 私信TA
展开全部
让做汇编的人转~
追问
找不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式