导航:首页 > 源码编译 > pl源码可以转化为asm源码吗

pl源码可以转化为asm源码吗

发布时间:2022-11-25 20:08:34

⑴ 请问:后缀是ASM的文件就是汇编语言编的源代码程序吗

是的 汇编是 .ASM 比如hello.asm 等等

⑵ 将.c转换为.asm(c语言转换为汇编)

VC++ 编译器 自带的 mpbin 就可以 做反汇编。
C:\Program Files\Microsoft Visual Studio\VC98\BIN\DUMPBIN.exe

mpbin /DISASM abc.exe
出来了

mpbin /DISASM abc.exe /OUT:abc.asm
存入abc.asm

源码的作用及介绍有哪些

源码是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的语言。以下是由我整理关于什么是源码的内容,希望大家喜欢!

源码的分类

1、计算机里面运行的所有东西都是用程序编出来的(包括操作系统,如Windows,还有Word等,网络游戏也一样),而编写程序要用到计算机语言,用计算机语言直接编出来的程序就叫源码,比如用

VisualBasic编写的源码文件一般为、bas文件,而用C++编写的一般为、cpp文件,源代码不能直接运行,必须编译后才能运行。源码经过编译处理后就可以直接在操作系统下运行了。

2、很多的站长都喜欢使用建网站的程序源码,因为可以很方便的修改,对于任何一个seo人员来说,都是非常好的一个切入点。

3、从字面意义上来讲,源文件是指一个文件,指源代码的集合、源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码)。

4、“源代码”在大多数时候等于“源文件”。

比如在这个网页上右键鼠标,选择查看源文件、出来一个记事本,里面的内容就是此网页的源代码、"这句话就体现了他们的关系,此处的源文件是指网页的源文件,而源代码就是源文件的内容,所以又可以称做网页的源代码、、

源代码是指原始代码,可以是任何语言代码。

汇编码是指源代码编译后的代码,通常为二进制文件,比如共享库、可执行文件、、NET中间代码、JAVA中间代码等。

高级语言通常指C/C++、BASIC、C#、JAVA、PASCAL、易语言等等。汇编语言就是ASM,只有这个,比这个更低级的就是机器语言了。

源码的作用

1、生成目标代码,即计算机可以识别的代码。

2、对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。

源码的执行效率

虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用BASIC语言生成文件普遍要小的原因。

源代码就是用汇编语言和高级语言写出来的代码。主要对象是面向开发者;

我们平常使用的应用程序都是经过源码编译打包以后发布的,呈现的最后结果是面向使用者,最终客户的。

源码的程序使用

网站程序一般就是可以用记事本打开的好多行英文的,用编程语言写好的软件

源程序经过编译成目标程序,才能运行。一般目标程序不能再修改了。

我们电脑上安装的软件都是目标程序。源程序不可能直接运行的。

提倡软件开源的人士认为应该提供源程序给用户,让用户自己修改,有利于软件行业的发展。反对的人觉得这样不利于保护版权。

⑷ 有没有将c语言源代码转换成汇编语言的软件

如果只是想得到C语言或C++语言的汇编代码

可以通过指定编译器的选项来达成目的,这里我们用1998年生产的Windows平台VC6.0的SDK举例(以传统的命令行编译环境方式,对应的IDE集成开发环境可在工程》设置里在编译选项里加入/Fa即可):

开始》运行,输入cmd启动命令行,
若安装了VC6.0的SDK(或其IDE集成开发环境),默认路径为"C:\Program Files\Microsoft Visual Studio“
命令行输入"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"回车执行初始化编译环境
命令行输入 mkdir CtoASMTest建立测试目录,并进入该目录,命令行输入 cd CtoASMTest
用记事本建立测试代码,命令行输入notepad CtoASM_test.c回车确认,输入以下测试C代码
int main(int argc,char* argv[]){
int i;
for(i = 0; i < argc; ++i){
printf("argv[%d] is:\t%s\n",i,argv[i]);
}
printf("CtoASM_test end.\n");
}
若直接默认编译,命令行输入cl CtoASM_test.c,则会产生对象文件*.obj和目标文件*.exe
命令行输入dir 列出测试目录文件清单如下,多了obj和exe编译产生的文件
CtoASM_test.c
CtoASM_test.exe
CtoASM_test.obj
若想得到c文件对应的汇编语言文件,可以指定汇编文件产生选项 /Fa,即cl /Fa CtoASM_test.c则会同时产生汇编文件CtoASM_test.asm,内容如下
TITLE CtoASM_test.c
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
PUBLIC _main
EXTRN _printf:NEAR
_DATA SEGMENT
$SG41 DB 'argv[%d] is:', 09H, '%s', 0aH, 00H
ORG $+3
$SG42 DB 'CtoASM_test end.', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
_argc$ = 8
_argv$ = 12
_i$ = -4
_main PROC NEAR
; File CtoASM_test.c
; Line 1
push ebp
mov ebp, esp
push ecx
; Line 3
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L37
$L38:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L37:
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR _argc$[ebp]
jge SHORT $L39
; Line 4
mov edx, DWORD PTR _i$[ebp]
mov eax, DWORD PTR _argv$[ebp]
mov ecx, DWORD PTR [eax+edx*4]
push ecx
mov edx, DWORD PTR _i$[ebp]
push edx
push OFFSET FLAT:$SG41
call _printf
add esp, 12 ; 0000000cH
; Line 5
jmp SHORT $L38
$L39:
; Line 6
push OFFSET FLAT:$SG42
call _printf
add esp, 4
; Line 7
mov esp, ebp
pop ebp
ret 0
_main ENDP
_TEXT ENDS
END
其中还可以产生其它文件,可以参考编译器的选项说明,命令行输入cl /?查看帮助,其中关于产生的输出文件类型可以有以下选择
-OUTPUT FILES-

/Fa[file] name assembly listing file /Fo<file> name object file
/FA[sc] configure assembly listing /Fp<file> name precompiled header file
/Fd[file] name .PDB file /Fr[file] name source browser file
/Fe<file> name executable file /FR[file] name extended .SBR file
----------------------------------------------
补充,
其它平台的编译器也有类似的汇编输出选项,如类Unix平台的GNU编译器cc -S CtoASM_test.c和gcc -S CtoASM_test.c 都可以通过指定-S选项产生c或c++代码对应的汇编语言文件。

⑸ 病毒,源代码asm格式怎么用 啊

ASM是汇编源码文件,使用汇编软件编译即可得到可执行文件。

⑹ 我的点脑怎么不能生成.asm格式的文件呢请高手指点

.asm是汇编语言的源代码,也就是文本文件格式,随便一个编辑器比如记事本、写字板都可以生成的。
编译时用命令:masm
filename.asm即可,可生成.exe、.obj等目标文件,当然原.asm文件还保留。

⑺ .asm是什么文件

ASM是汇编语言源程序的扩展名,汇编语言(Assembly Language)是面向机器的程序设计语言。汇编语言是一种功能很强的程序设计语言,是利用计算机所有硬件特性并能直接控制硬件的语言。打开asm文件有两种方法即笔记本和MasmEdit软件。

在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。

(7)pl源码可以转化为asm源码吗扩展阅读:

汇编语言的特点

1、面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

2、保持了机器语言的优点,具有直接和简捷的特点。

3、可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

4、目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5、经常与高级语言配合使用,应用十分广泛。

⑻ 如何把pl\1代码转换成cobol代码

(1) IBM VisualAge Millenium Language Extensions(MLE)
千年语言扩展(MLE)技术是一种强大的第二代修复技术。这种专利技术可以生成高效的、编译器产生的分割代码。有了MLE,您就不必为每个程序中所有关于 2000 年日期的变量手工添加逻辑,从而更迅速地实现转换。IBM “面向2000年”的 COBOL 和 PL/I 编译器版本及其运行库,通过千年语言扩展(MLE)技术,实现自动化的日期窗口,解决千年难题。
MLE的实现非常简单。MLE允许您指定一条新的DATE FORMAT子句,识别源代码中的日期数据说明语句。由编译器支持的MLE将在编译过程中识别和使用这些子句, 在对象程序必要的地方自动插入世纪分割逻辑,以处理2000年以后的日期数据。
由于IBM VisualAge千年语言扩展技术可以分割任何需要处理2位数日期域的程序逻辑,执行逻辑几乎不需修改。这就可以节约您的开发资源,将其投入更高效率的应用程序开发工作中去。“千年语言扩展”能帮助用户减少实施“开窗口”技术的编程工作量,并简化应用程序的后续维护工作。

(2)IBM COBOL and CICS/VS Command Level Conversion Aid( CCCA )

CCCA是一种转换辅助工具,可以将传统的应用程序代码转换为当前ANSI 85标准的代码。CCCA新具备的2000年功能可以自动实现MLE技术。另外,CCCA可以生成转换管理报告,记录每次修改。这不仅有助于提高开发工作效率,而且还可以跟踪2000年修改工作的进程。

(3)HLASM Toolkit

HLASM Toolkit 是IBM High Level Assembler for MVS & VM & VSE ( HLASM ) 的一个选件,单独报价。它提供了一套有力灵活的工具组件来改进应用程序在OS/390 , MVS/ESA,VM/ESA,和 VSE/ESA 系统上的开发和恢复。
这些优化产品工具包括:

A、结构化的程序宏
B、反汇编工具
C、程序理解工具
D、交叉参考工具
F、优化的 SuperC 比较工具
在解决千年难题时,这些工具可以帮助您:

1、恢复和重建符号汇编语言源代码
2、分析和理解复杂的汇编语言程序
3、调试和测试

以快速、准确地完成2000年系统分析和迁移工作。

(4)Runtime Analyzer 和 Millennium Runtime Windowing Tool

IBM Runtime Analyzer (RAMO) 和 IBM Millennium RuntimeWindowing Tool (MRWT)在 IBM/390 硬件和软件技术方面的最新创新能帮助您针对现有的应用程序 进行自动 runtime 修补。

Runtime Analyzer 和 MRWT作为VisualAge2000,IBM Year2000系列工具之一, 帮助您减少了测试所需的资源和时间,为Year2000 所需代码的转换提供了有效的方法。 您可以在进行2000年任务的评估、计划、实现及测试阶段使用这套工具。

这套工具将为您提供:

评估现有应用程序的2000年就绪情况
寻找和修正与2000年日期相关的代码
执行棘手环境下的runtime修补
对关键应用实施2000年的应急计划
实施战略性的长期修补解决方案
优化您现有的 IT 投资

(5) Application Testing Collection of VisualAge 2000 Test Solution ( ATC )

一旦您开始建立测试环境和制定测试策略时,您就可以决定您的测试基本线了。 您现有的应用程序和数据是您基本线的最初来源;但是,它们经常会提供一些多余的测试 数据。为了优化您的测试质量,您需要生成一个小型的测试集确能提供最大的覆盖率,这就是蒸发测试床。

IBM VisualAge VisualAge 2000 测试方案提供了多种工具来帮助您建立一个最优 测试床 U馄渲校珹pplication Testing Collection (ATC),是一套非常优秀的能够独立使 用或者以整体方式使 用的工具组件,它充分体现了 Y2K 测试需要的独特特性,减少了 测试的任务量而使之成为流线化 。

五项强有力的工具套件组成了ATC,协助您完成 2000 年的测试任务:源审计助手,覆盖助手,蒸发助手,部件测试助手,和自动回归测试工具。

源审计助手是一种“语法认知”测试工具,比较和审计源代码在记年转换前和 转换后的变化。

覆盖助手是一套代码覆盖工具,能够报告出整套测试组件的覆盖率,帮助您掌握 源代码执行情况的监测信息和报告信息,提高已发生测试事件的工作效率。覆盖助手可以直接针对源代码工作。

蒸发助手可以帮助测试者生成更小的测试文件,最大限度的降低了测试循环周期而 不降低测试效率。

部件测试助手能够在测试事件执行时,在所选的源位置处记录下变量值的变化。它还可在测试事件执行时转换变量值,以及根据控制文件定义的转换规则转换输入的数据文件。

自动回归测试工具能自动进行回归分析。这是 ATC 工具中一项重要的执行过程, 它能允许不需复杂的安装就能进行非现场测试。

(6) Teleprocessing Network Simulator ( TPNS ) 和 TPNS Test Manager (TTM)

TPNS 是一套出色的测试模拟工具,常被用于复杂的测试计划之中。它是一种终端 和网络仿真工具,能协助您实现平滑的系统移植,增加系统的可信度,帮助您对在线系统 实现全面测试,减少生产系统的停机时间,并且大量节省资源、时间和资金,提高测试工作的效率并获得更高的最终用户满意度。 您能用 TPNS 来获知系统表现和响应时间,以 及评估网络设计,进行功能测试、自动回归测试(Automate Regression Testing)等。 TPNS 为测试的各个阶段提供了结构化的和系统化的方法,从而提高了系统测试的效率。

TPNS Test Manager ( TTM ) 是一个在测试过程中引导用户,增强可用性的产品。 它提供了大量的管理服务以帮助 TPNS 用户。这些服务包括:测试实例的组织,代码生 成,任务自动化,文档生成等。

⑼ 怎么把BIN文件转换为ASM文件

C51的Bin也是标准LINK出来的,反汇编就需要一些技巧,工具只能做到一些基本的工作的,以前我做过一个简单的时钟,就想试试反汇编,结果发现好复杂,短短几十行汇编,如果你没有源代码,几乎是不太可能直接找到其所在位置的。而且LINK之后最大的一个问题就是偏移,你只要多添一句,大部分跳转码的偏移都要做修改,所以只能在等长代码情况下修改。而且有一点我是绝对确定的,你所要求的工具以现在的技术而言是没有的,大部分工作还是得人工。 把邮箱留下,我可以给你一个反编译器,能把bin转成asmasm变成bin你就只能找对应的编译器了,如KEIL不过修改可能很困难的,如果是用c51写的,改动较大,程序再大点基本无解

⑽ 如何将c语言程序转成汇编语言程序。

如果是VC则在编译器命令行参数再加 /FA 则会生成汇编代码。如果参数是 /FAs 则会同时将源码和汇编代码。
/FA 程序集代码;.asm
/FAc 机器码和程序集代码;.cod
/FAs 源代码和程序集代码;.asm
/FAcs 机器码、源代码和程序集码;.cod

/Fa的用法

/Fa 为编译中的每个源代码文件创建一个源文件.asm。
/Fa文件名 将文件名.asm 放到当前目录中。仅在编译单个源代码文件时有效。
/Fa文件名.扩展名 将文件名.扩展名放到当前目录中。仅在编译单个源代码文件时有效。
/Fa目录\ 为编译中的每个源代码文件创建一个源文件.asm,并将其放到指定目录中。请注意必须有后缀反斜杠。只允许使用当前磁盘上的路径。
/Fa目录\文件名 将文件名.asm 放到指定目录中。仅在编译单个源代码文件时有效。
/Fa目录\文件名.扩展名 将文件名.扩展名放到指定目录中。仅在编译单个源代码文件时有效。

如果你是用gcc 或 g++编译器,如dev c++则加入命令行参数 -S 即可

阅读全文

与pl源码可以转化为asm源码吗相关的资料

热点内容
oraclelinux安装目录 浏览:131
安卓系统可以安装编译器吗 浏览:568
javajson实体类 浏览:688
板加密钢筋是否取代原钢筋 浏览:64
学习编程的思路 浏览:228
app易语言post怎么学 浏览:963
地梁的箍筋加密区位置 浏览:300
二分法排序程序及编译结果 浏览:677
日语命令形和禁止型 浏览:283
安装软件用管理员解压 浏览:503
编译原理代码块 浏览:398
小孩可以用压缩面膜吗 浏览:12
锥形倒角怎么计算法 浏览:880
java合并链表 浏览:505
pic单片机编译器 浏览:803
丽水四轴加工中心编程 浏览:689
国产系统怎么解压 浏览:552
战双程序员 浏览:483
him触摸编程软件 浏览:931
植物大战僵尸存档怎么转移安卓 浏览:852