您好、欢迎来到现金彩票网!
当前位置:手机棋牌游戏下载 > 伪指令 >

汇编伪指令assume cs:codeds:datasstack的含义

发布时间:2019-07-31 04:25 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  你的程序中,可以用十个八个段,比如段名 D1,D2,D3,D4,D5,D6,……

  8086/8088 CPU的设计,是任一时刻,只能通过4个段寄存器最多同时访问4个段。

  你 assume ES:D5 以后,就将程序中的D5段与ES段寄存器绑定了,汇编程序能知道,访问D5段中的变量,要用ES作为段寄存器。

  装入exe文件时,根据exe文件头中的信息,将CS:IP指向装入后内存中程序的入口(第一条执行指令),也就是说,要在装入程序时设置CS, IP两个寄存器。

  对于其它3个段寄存器,DOS装入功能的处理,是将它们指向DOS操作系统为管理程序内存而创建的程序段前缀PSP的段地址。

  最后提一下,assume是给汇编程序在汇编翻译源程序时用的,段寄存器(CS除外)要自己设置初值是DOS操作系统的功能要求你程序这么做的。追问assume ES:D5 以后,就将程序中的D5段与ES段寄存器绑定了

  这个“绑定”的意思是:如果用其他段寄存器比如DS:[bx]访问D5段,程序就会报错吗?追答举个例子吧:

  假设,在D5段中有一个变量x02,你程序中某处有一条指令 mov ax, x02

  若没有assume,汇编这条mov指令时,汇编程序会报错。因为不知道用哪个段寄存器。

http://tennisinspokane.com/weizhiling/587.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有