汇编原理(三)编程

源程序:

汇编指令:有对应的机器码与其对应

伪指令:无对应的机器码,是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。

ex1:XXX segment、XXX ends这两个是一对成对使用的伪指令,且必须会被用到,其功能是定义一个段,segment表示开始,ends表示段结束。XXX表示段名

ex2:end是汇编程序的结束标志。end和ends不一样。ends是段的结束,end是整个程序结束。

ex3:assume 寄存器与段的关联假设。

标号:

一个标号指代了一个地址。

ex:codesg 放在segment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址(也就是说被cs换一个名字较codesg?)

DOS中的程序运行:没懂

程序的返回:不理解是用来干嘛的

指令为 mov ax, 4c00H

int 21H

指令性质为汇编指令

exe的执行

关于编译和链接

需要配置:Edit、masm、连接器link、调试工具(debug)、nodepad、ultraedit

shell:

操作系统是由多个功能模块组成的庞大、复杂的软件系统。任何通用的操作系统,都要提供一个称为shell(外壳)的程序,用户通过使用这个程序来操作计算机系统工作。可不可以理解为控制台?

不熟悉在shell里面的各种指令,比如cd打开文件夹,md修改文件夹这些

汇编程序从写出到执行的过程:

编程(edit) -> XXX.asm -> 编译(masm) -> XXX.obj -> 连接(link) -> 1.exe -> 加载(command) -> 内存中的程序 -> 运行(CPU)

相关推荐
txg66613 小时前
编译无关的漏洞检测:基于 Transformer 的 LLVM-IR 与汇编鲁棒建模
汇编·深度学习·安全·transformer
浩浩测试一下1 天前
汇编 16位32位64位通用寄存器(逆向分析)
汇编·windows·stm32·单片机·嵌入式硬件·逆向·二进制
浩浩测试一下2 天前
汇编常用的(JCC 串 判断)指令 通用寄存器 标志寄存器 段寄存器(逆向分析)
汇编·通用寄存器·逆向二进制·标志寄存器·段寄存器·串 jcc 常用指令
浩浩测试一下3 天前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
浩浩测试一下3 天前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
浩浩测试一下3 天前
汇编 内联汇编与混合编程 (逆向分析)
汇编·混合编程·windows编程·内联汇编·二进制逆向·c语言混合汇编
浩浩测试一下3 天前
汇编 结构体与宏
汇编··免杀·结构体·windows编程·逆向二进制
浩浩测试一下3 天前
汇编中的JCC指令 (逆向分析)
汇编·逆向·标志位·jcc指令·跳转指令·标志位寄存器
浩浩测试一下3 天前
汇编中的段与段寄存器(大小)段序 (逆向分析)
汇编·逆向·二进制·字节序·windows编程·内存地址排序
浩浩测试一下5 天前
汇编 call与ret 函数与堆栈 (逆向分析)
汇编·push·函数·pop·call·ret·堆栈逆向