汇编使用教程 debug

来源:互联网 发布:淘宝买家差评如何修改 编辑:程序博客网 时间:2024/06/10 03:09

汇编执行的流程:
编辑(name.asm)—>编译(name.obj)—>连接(name.exe)–>加载–>内存中的程序–>运行

使用的软件 masm,link,command,cpu

下载:http://download.csdn.net/download/w3045872817/10034541

使用debug教程:

debug的R命令查看、改变cpu寄存器的内容用debug的D命令查看内存中的内容用debug的E命令改写内存中的内容用debug的U命令将内存中的机器指令翻译为汇编指令用debug的T命令执行一条机器指令用debug的A命令一汇编指令的格式在内存中写入一条机器指令用debug的G命令连续执行一段机器指令

具体用法:

d  1000:0 查看从1000:0到1000:80 共128个字节d  1000:0  f 查看1000:0 到 1000:f之间的内容a 200 改变ip为200,写入汇编命令g 200  300 执行200到300 之间的汇编指令e 1000:0 修改内存中的内容1000:0开始   按Enter  在"."后输入你想输入的内容  有两种输入1.不输入直接空格  2.数一个16进制数 不按Enter直接写在后面(可以写入字符串用 "") 如:e 1000:0 1 "aba+++" 3

调试可执行文件
首相输入debug name.exe
就可以使用上面的debug命令了

编译文件例子:

data segment    x DW 1010Hdata ends;----------------------------------code segment    assume cs:code,ds:datastart:    mov ax,x    shl ax,1    mov ax,4c00h    int 21hcode endsend start

首先使用masm编译成obj文件
masm.exe test.asm
使用link连接生成可执行文件
link.exe test

程序执行过程跟踪

在dos中运行一个程序,是由command将程序从可执行文件中加载进内存的

执行的过程:
首先会找到一块容量足够的空闲内存空间,然后将这段空闲内存空间中的钱256个字节创建为程序段前缀(psp)数据,dos利用psp来和被被加载程序进行通信
内存地址安排:
psp区:SA:0
程序区:SA+10H:0

原创粉丝点击