汇编--手把手教你运行第一个汇编程序(编译、连接)

本章节详细介绍了如何编写、编译、连接和执行8086汇编语言的第一个程序。通过回顾栈的基础知识和Win32的debug指令,讲解了源程序的编辑、使用MASM编译器的过程,以及简化后的编译与连接方法。在程序执行过程跟踪中,解释了cx寄存器的作用以及psp如何与程序通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第四章 第一个程序

首先回顾一下栈的基础知识:

栈的特点:先入后出

对于8086,其pop、push指令操作如下:

pop:数据出栈,sp+2

push:sp-2,数据入栈

然后回顾一下win32的debug指令:(出于个人习惯,有些步骤不是必要的)

首先进入debug

cd c:\

c\>:debug

指令r:查看、修改寄存器的值,可以操控cs,ip。但是在汇编程序中不可以直接修改ip

r 查看寄存器值

r register_name 修改寄存器值

指令d: 查看内存中的内容

d 段地址:偏移地址 <结尾偏移地址>

结尾偏移地址可以省略,默认显示128个内存单元。如果参数全部缺省,从debug预设地址开始

指令e :改写内存中的内容

e 段地址:偏移地址 内容(字符用引号括起)

指令u:将机器码翻译为汇编代码

u 段地址:偏移地址

指令t:单步执行,从cs:ip地址开始

指令a:以汇编形式向内存中写入汇编指令

a 段地址:偏移地址

4.1 源程序到执行

编写-编译、链接-执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值