八、汇编源程序的基本构成以及编译、调试

1. 以第一个汇编源程序为例说明:

assume cs:codesg

codesg segment
	mov		ax, 0123H
	mov		bx, 0456H
	add		ax, bx
	add		ax, ax

	mov		ax, 4C00H
	int		21H
codesg ends

end

    1) 汇编指令和伪指令的区别:首先这里要讲两个概念,即汇编语言包含什么,其总共包含两个部分,一部分就是汇编指令,就是指那些和01机器码具有一一对应关系的指令,这种指令可以直接利用简单的对应关系直接翻译成相应的机器指令01码,还有一种是伪指令,这部分指令没有直接的01机器码相对应,无法经过一步就翻译成机器指令,这类指令往往具有一定复杂的功能,也就是汇编编译器专有的功能,比如定义变量,定义符号等,这类指令比普通的汇编指令复杂,可能一条伪指令是若干条(多条)汇编指令的复合,即可以理解为编译器的命令,例如上面代码中的assume伪指令等,还有end指令,这些都是伪指令,它们不像mov指令等直接由一条机器指令与之对应;

总的来说就是汇编指令是让机器识别的,而伪指令是让编译器识别的;

    

    2) assume 段寄存器:用户定义的段名:将某个段寄存器和用户定义的段相关联,在这里就相当于mov cs, codesg所代表的地址了,这就完成了对cs寄存器的初始化;

!注意:这里并没有人为指定cs的值,那是因为为了保证安全由系统自动查找一段空闲的空间分配给当前程序,因此这个codes

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值