汇编代码转机器码工具,AsmToByte是一款汇编代码转机器码的小工具,支持地址jmp和call,支持宏汇编,省去了大家手动转换的操作,有需求的朋友们可以下载体验。
使用方法:
如下图所示,上方窗口输入汇编代码,点击转换按钮后,下方机会转换为机器码,有三种模式。
1.一个源程序从写出到执行的过程
编写汇编源程序——对源程序进行编译连接——执行可执行文件中的程序
2.源程序
在汇编语言源程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。而伪指令没有对应的机器指令,最终不被CPU所执行。而是由编译器来执行,根据伪指令来进行相关的编译工作。
segment和ends是一对成对使用的伪指令。这事在写可被编译器编译的汇编程序时,必须要用到的一对伪指令。segment和ends的功能是定义一个短,segment说明一个段开始,ends说明一个段的结束。一个段必须有一个名称来标识,使用格式为:
段名 segment
....
....
....
段名 ends
一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当做栈空间来使用。一个源程序中所有将被计算机所处理的信息:指令、数据、栈,被划分到了不同的段中。一个有意义的汇编程序中至少要有一个段,这个段用来存放代码。
end是一个汇编程序的结束标记,汇编器在编译汇编程序的过程中,如果碰到了伪指令end,就借宿对源程序的编译。
assume这条伪指令的含义为“假设”。用来假设某一段寄存器和程序中的某一个用segment... ends第一的相关联。
源程序中的“程序”是指源程序中最终由计算器执行、处理的指令或数据。
汇编程序中,出了汇编指令和伪指令外,还有一些标识,比如“codesg”(见书中第四章)。一个标识只带了一个地址。比如codesg在segment的前面,作为一个段的名称,这个段的名称最终将被编译、链接程序处理为一个段的段地址。
我们知道,一个程序结束后,将CPU的控制权交还给使它得以运行的程序,我们称这个过程为程序返回。
mov ax,4c00H
int 21H
这两条指令所实现的功能就是程序返回。
在汇编语言编译的时候,语法错误容易发现,也容易解决。而逻辑错误通常不容易被发现。
汇编程序从写出到执行的过程
编程(Edit)——1.asm——编译(编译)——1.obj—— 连接(link)——1.exe——加载(command)——内存中的程序——运行(CPU)
- PC官方版
- 安卓官方手机版
- IOS官方手机版