我是靠谱客的博主 温暖电脑,最近开发中收集的这篇文章主要介绍汇编语言第四章第一个程序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

  • 编写
  • 编译连接
  • 执行

源程序

伪指令:没有对应的机器指令,最终不会被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的内容

最后

以上就是温暖电脑为你收集整理的汇编语言第四章第一个程序的全部内容,希望文章能够帮你解决汇编语言第四章第一个程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部