assume用法及意思 汇编语言关于assume的用法?
汇编语言关于assume的用法?
assume的功能是将段名称与段寄存器相关联。
如果在数据节中定义变量名,例如:
x DB 0 1
,并且需要在代码中直接使用此变量名,例如:
mov Al,x 1
,则汇编程序在汇编时将报告错误。
因为在MOV指令中遇到变量名x时,汇编程序不知道将使用哪个段寄存器作为段地址。
因此:
如果要直接使用变量名访问或使用语句标签(例如示例中的标签start),则必须将这些变量或标签所在的段的段名称与assume伪指令中的段寄存器名称相关联,否则将发生错误。
如果不在段中使用变量名,则不能将段名与寄存器关联。
如果在访问变量时指定段交叉前缀,则不需要关联。例如,您可以使用MOV,Al,ds:X来访问变量X。
汇编中的ASSUME是什么意思?
我们需要使用“假定”将一个段与一个段寄存器相对应的原因是DOS找到的空闲内存的地址不是固定的,因此我们在任何时候都找不到空闲的地址。因此DOS需要一个可重定位的程序,此时定位的方法是设置段寄存器的值,使程序在可分配(空闲)内存中可用。它需要知道在重新定位段以正确执行时需要修改哪个段寄存器值。假设在将代码重新定位到编译器时提供要修改的段和寄存器之间的关系,并且编译器将此信息写入二进制文件。例如,DOS下的EXE程序记录在文件头中。
汇编中assume的作用?
要编写汇编语言程序,我们需要使用编译软件来编译。
假设是通知编译器段寄存器和定义段之间的关系。编译软件,比较迟钝,你随便写一个对应关系,就分不清真假了。程序的正确与否取决于程序的动态性。。。这个CPU指令与猜测无关。你不必去想。
assume用法及意思 assume that 位于句首 assume名词形容词副词
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。