一步步学汇编(三)开始编写程序

伪指令:没有对应的机器指令,最终不被CPU所执行,由编译器执行的指令。
汇编指令:有对应的机器指令,由CPU执行的指令,是对机器语言的抽象

segment... ends:伪指令,前者表明一个段的开始,后者表明一个段的结束
end:表示汇编程序的结束,注意与ends的区别
assume:将段寄存器与某个程序中的段相关联
程序的执行过程:如果一个程序P2在可执行文件中,则必须有一个正在运行的程序P1,
将P2从可执行文件中加载如内存,将CPU的控制权交给P2,然后P2才能运行,而P2运行
开始后,P1暂停运行

语法错误:大多数在编译过程被编译器发现的错误一般为语法错误
逻辑错误:编译过程中不被暴露出来,在运行过程中才被暴露出来的,往往是
逻辑错误。

在编译的过程中,提供一个输入文件(*.asm),可以得到3个输出文件(.obj, .lst, .crf)
(第一个目标文件是希望得到的,后两个为中间文件)

简化编译的方法:命令行> masm .asm;(会忽略中间文件的生成)
我们提供的可执行文件都是在操作系统提供的shell文件上执行的
DOS的shell是一个叫command.com的程序

在DOS中要执行一个文件,command首先根据文件名找到可执行文件,然后
将这个可执行文件中的程序加载如内存,设置CS:IP纸箱程序的入口。
此后,command停止运行,CPU运行程序。程序运行结束后,放回command

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值