X86汇编9.HelloWorld程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了X86汇编9.HelloWorld程序相关的知识,希望对你有一定的参考价值。

工欲善其事必先利其器,要学好汇编,首先需要会搭建开发环境,通过一个简单的helloword程序入门。

安装环境

1.安装vmware虚拟机,然后安装windows XP系统
2.解压DOSBox0.74-2-win32.zip,把三个可执行文件masm.exe,link.exe,debug.exe拷贝到windows的system32目录下
3.编辑源码,如:1.asm

assume cs:codesg
codesg segment
        mov ax, 0123H
        mov bx, 0456H
        add ax, bx
        mov ax,4c00H
        int 21H
codesg ends
end

4.编译源码,如:nasm 1.asm;
5.链接目标文件,如:nasm 1.obj;
6.debug运行程序:debug 1.exe
(由于程序无输出信息,所以用debug程序运行方便查看结果)

要掌握的debug命令:

U - 反汇编命令
用法: -U 代码段地址:起始偏移地址如:-U CS:100
D - 显示内存中的数据命令
用法:-D 数据段地址:存放数据的偏移地址如:-D DS:0020
E - 修改内存中的数据命令
用法:-E 数据段地址:存放数据的偏移地址如:-E DS:0020
T - 单步执行程序命令
用法:-T 要执行的指令条数 如:-T 3
G - 连续执行程序命令
用法:-G=代码段地址:指令的起始偏移地址 指令的结束偏移地址如:-G=CS:100 106 注意:结束地址一定要是操作码的所在地址
R - 查看和修改寄存器数据命令
用法:-R 回车 如:-R AX
Q - 退出“DEBUG”应用程序命令

以上是关于X86汇编9.HelloWorld程序的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

反汇编基本原理与x86指令构造

如何反汇编原始 16 位 x86 机器代码?

如何在汇编程序 x86 函数调用中传递参数?

《现代x86汇编语言程序设计》怎么写里边的代码

程序的载入和运行——《x86汇编语言:从实模式到保护模式》读书笔记25