汇编语言中 mov ds,ax 移动的是ax中的数据还是只是它的一个复制副本?

2024-11-21 17:50:21
推荐回答(5个)
回答1:

对计算机而言,移动即是复制。移动一个文件到其它地方,也是先复制过去,再把原文件删除。
mov ds,ax 将ax中的数据赋值给ds,ax中的值不会消失。mov ax,data这句,如果是前面有assume ds:data的情况,是将地址值传给ax。

由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。对于处理器而言,就是如何找到他所需的数据。

但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与 复杂的存储管理方式紧密相关,因而难以理解。最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。

扩展资料:

编译环境:

用汇编语言等非机器语言书写好的符号程序称为源程序,汇编语言编译器的作用是将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上后,就能被计算机的CPU处理和执行。

汇编的调试环境总的来说比较少,也很少有非常好的编译器。编译器的选择依赖于目标处理器的类型和具体的系统平台。一般来说,功能良好的编译器用起来应当非常方便,比如,应当可以自动整理格式、语法高亮显示,集编译、链接和调试为一体,方便实用。

对于广泛使用的个人计算机来说,可以自由选择的汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等,但大都不具备调试功能。如果是为了学习汇编语言,轻松汇编因为拥有一个完善的集成环境,是一款非常适合初学者的汇编编译器。

参考资料来源:百度百科-汇编语言




回答2:

对计算机而言,移动即是复制。移动一个文件到其它地方,也是先复制过去,再把原文件删除。
mov ds,ax 将ax中的数据赋值给ds,ax中的值不会消失。
mov ax,data这句,如果是前面有assume ds:data的情况,是将地址值传给ax;
若data是一个变量,如
DATAS SEGMENT
data dw 12H;
DATAS ENDS
中的data,则是把data中的数据给ax。

回答3:

mov dx,ax ;只是将ax中的值传递给了dx而ax并没有发生变化,这是一种寄存器寻址方式,所有的mov语句都是传值不传址,传址要用lat语句才行,希望对你有用。

回答4:

要从相应的内存地址取值,然后传给ax。所以是复制的一个副本到ax中

回答5:

你说的那是lea
mov把内容给ax,要是lea的话,就是把他的地址送过去