汇编语言第四章第一个程序

本文详细介绍了从编写汇编语言源程序到最终执行的过程,包括伪指令和汇编指令的概念,以及程序结构。通过示例展示了汇编程序的编写、使用MASM编译、LINK连接,最后生成可执行文件并在DEBUG中进行程序跟踪。实验内容包括程序的执行流程和PSP头部检查。
摘要由CSDN通过智能技术生成

一个源程序从写到执行的过程

  • 编写
  • 编译连接
  • 执行

源程序

伪指令:没有对应的机器指令,最终不会被CPU执行,由编译器执行,编译器根据伪指令来进行相关的编译工作
汇编指令:是有对应的机器码的指令,可被编译为机器指令,最终为CPU执行。
常见的三种伪指令

  • XXX segment
    XXX ends
  • end:是一个汇编程序结束标记
  • assume:关联XXX与寄存器

程序的结构
小程序可以直接在Debug中写
大程序太麻烦要用汇编
汇编程序中的基本要素和汇编程序的简单框架=>
编写源程序
assume cs:abc
abc segment
mov ax,2
add ax,ax
add ax,ax
abc ends
end
程序返回
mov ax,4c00H int 21H

编辑源程序

进入DOS方式
运行edit
在Edit中编辑源程序
保存源程序(.asm)

编译

进入DOS方式
运行masm
输入源程序文件名(输入源文件名的时候一定要指明它所在的路径)
一直回车
得到目标文件(.obj)

连接

进入DOS命令
进入mash
进入link.exe
输入文件名
得到程序(.exe)

以简化的方式进行编译和连接

link 文件名之后加分号

exe的执行

masm>文件名执行

谁将可执行文件中的程序装载进入内存并使它运行

操作系统的外壳

操作系统是由多个功能模块的庞大,复杂的软件系统。任何通用的操作系统,都要提供一个称为shell的程序

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

编程->1.asm->编译->1.obj->连接->1.exe->加载->内存中的程序->运行

程序执行过程的跟踪

使用Debug模式将程序加载入内存,设置CS:IP指向程序的入口,Debug并不放弃对CPU的控制,这样就可以用Debug相关命令来单步执行程序

  • 用t命令单步执行
  • 用P命令执行int 21代码

实验三

编程、编译、连接、跟踪

assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end

生成可执行文件 t1.exe

用Debug 跟踪t1.exe 的执行过程

PSP的头两个字节是CD20,用Debug加载t1.exe,查看PSP的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值