在微机原理中,什么不能当源操作数,什么不能当目的操作数?

作者&投稿:冶蚀 (若有异议请与网页底部的电邮联系)
微机原理中的源操作数跟目标操作数是什么意思?有什么区别~

源操作数,指的是你准备要操作的那个“数”,而这个“数”可以有很多种寻址方法(不知道你明不明白),包括直接操作数(意思是直接给你一个具体的数,例如100),寄存器寻址,间址寻址等等记不太清了;目标操作数指的是你对源操作数进行完操作之后(例如加减操作等)将其结果输出到某个地址(包括各种寻址方法),那个地址就是你的目标操作数。

仅 cs 不能作为目的操作数,其他的段寄存器都可以作为目的操作数。

因为标志寄存器FLAG都不能直接作为目标操作数,立即数由于不是存储单元(也就是“容器”),所以任何时候都不能作为目的操作数,两个内存单元不可以直接传递数据(可以通过CPU寄存器间接中转)。针对源操作数的限制则比较少。

除了不可寻址的寄存器IP、FLAG(这两个寄存器任何时候不可以单独出现在指令中),其他的都可以作为源操作数(如MOV AX,CS就是合法指令),只是要注意源和目的操作数类型的匹配(同为字节或同为字,不允许字节对字的传送,如MOV AL,BX指令就是非法指令)。


扩展资料:

包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。

要求考生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。

参考资料来源:百度百科-微机原理



问的比较笼统,要针对具体的指令。
对于MOV指令而言:
CS、IP、标志寄存器FLAG都不能直接作为目标操作数,立即数由于不是存储单元(也就是“容器”),所以任何时候都不能作为目的操作数,两个内存单元不可以直接传递数据(可以通过CPU寄存器间接中转)。针对源操作数的限制则比较少,除了不可寻址的寄存器IP、FLAG(这两个寄存器任何时候不可以单独出现在指令中),其他的都可以作为源操作数(如MOV AX,CS就是合法指令),只是要注意源和目的操作数类型的匹配(同为字节或同为字,不允许字节对字的传送,如MOV AL,BX指令就是非法指令)
上述针对MOV指令的限制则可以通过其他指令解决,比如CS和IP可以通过控制转移指令间接修改,如JMP、CALL指令就是通过修改CS和IP实现程序转移的,FLAG寄存器可以使用PUSHF和POPF指令借助堆栈间接读取或修改。多个内存单元对多个内存单元的传输可以通过串操作指令(MOVSB、MOVSW)来进行。
简单说这么多吧,供参考,仍有问题可以再交流。

用编译软件,编译一下,不能用的,就都列出来了。

没有必要在此详细讨论。

----

另外,

有人说:CS 不能当做目的操作数这是错误的。

你用微软的 MASM6.0 以上版本来编译,即可编译成功。

当然,执行这条指令,需要特殊的场合环境,并不是人人能测试成功的。

你虽然不能用这条指令,也只是你自己的问题。

你不能说,此指令是错误的。




微机原理中REP什么意思
Robots Exclusion Protocol,简称REP。拒绝蜘蛛协议就是用在网站根目录下的robots.txt文件中的内容标示出本站哪些内容和目录不能被搜索引擎收录。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。robots.txt必须放置在一个站点的根目录...

微机原理sl是什么意思?
微机原理SL是指微机控制系统中的控制语言,通常我们使用的是C语言或者汇编语言来进行编程,而SL作为一种高阶语言,更加简洁实用,可以快速完成对于控制系统的编程任务。它的优势在于可以更好地实现控制、通信和数据处理等任务。此外,微机原理SL还具有高效性和可读性等特点,不同于传统的语言,它在实际应用...

微机原理中,十六进制数除以2,什么时候会溢出?
8088 中,有 16 位数除以 8 位数的除法指令。商、余数,都用 8 位数表示。除数是2?这个数字很小的,商,将会很大。商,如果大于预定的存储空间,就会溢出。

微机原理 下列每组中的两条指令有什么区别?其中,W为数据段中的字变量...
前者为基址相对寻址;后者可达到类似基址加变址相对寻址的功能。

微机原理中TOP命令的作用是什么
top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如? 前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最敏感的任务列表。该命令...

微机原理INC_AX:NOP是什么意思
微机原理Sto *** 是什么意思 XCHG AL,[DI] 这个里面是把目的串指标DI所指向的资料与AL的值交换; XCHG SI, DI 这里是把源串指标SI所指的地址与目的串指标DI所指的地址交换,这样就间接完成资料的交换。 希望采纳哦 微机原理中or是什么意思 OR 是 逻辑 “或” 指令。 目的运算元和源...

微机原理中EA是什么
EA是有效地址。是一个16位无符号数,表示操作数所在单元到段首的距离即逻辑地址的偏移地址。当操作数是存放在存储器中时,存储器的存储单元的物理地址有两部分组成。一部分是偏移地址;一部分是段地址。在8086至8088的各种寻址方式中,寻找存储单元所需的偏移地址可由各种成分组成,称为有效地址,用EA...

微机原理中的源操作数跟目标操作数是什么意思?有什么区别
源操作数,指的是你准备要操作的那个“数”,而这个“数”可以有很多种寻址方法(不知道你明不明白),包括直接操作数(意思是直接给你一个具体的数,例如100),寄存器寻址,间址寻址等等记不太清了;目标操作数指的是你对源操作数进行完操作之后(例如加减操作等)将其结果输出到某个地址(包括各种...

微机原理中所说的“地址”到底是什么意思?说具体形象点
这就出现了ip地址,而路由器就可以根据这个逻辑的ip地址选择最佳路径。好了,就是这两种地址,不能再说了,...A计算机要和B计算机通信,需要有B的地址阿,同样B要给A回信,也要知道A的地址。这就像两个人写信是一样的 而,在计算机中有两种地址,一种是mac地址,这个就是网卡的“身份证”,是全...

微机原理中的中断中断点恢复是什么意思?
断电就是正常程序运行时被中断打断的地方叫断点,需要进行现场保护的原因是因为在中断完成之后要返回断点继续运行,一般要保护的信息是sp寄存器,各个变量的值,等等。单片机在工作的时候可能出现外部供电电压不稳定。程序被中断时下一条指令的地址成为断点地址,也就是执行完中断程序后的返回地址。

淇县13688689336: 微机原理:是CS不能作目的操作数还是段寄存器都不能作目的操作数 -
耿荔麦特: 仅 cs 不能作为目的操作数,其他的段寄存器都可以作为目的操作数.

淇县13688689336: 微机原理中 段寄存器可以作目的操作数吗?还是只有cs不能:MOV DS 2000H对吗? -
耿荔麦特: 微机原理中 段寄存器可以作目的操作数吗?还是只有cs不能:--都可以.MOV DS 2000H对吗?--错.--源操作数,不能是立即数.

淇县13688689336: cs寄存器为什么不能作目的操作数,急求!! -
耿荔麦特: 一般情况下,指令指针IP及代码段寄存器CS的内容不通过MOV指令修改,即他们不能作为目标操作数,但可以作为源操作数. CS是代码段寄存器,这个寄存器保存的是代码段的首地址,并且这个寄存器只能由系统管理,用户不可更改.

淇县13688689336: ++的操作数不能是常量吗? -
耿荔麦特: 都说了是常量了,还怎么操作.“常量”是和“变量”相对的概念.当然,如果以后你开发一个软件,让它能对常量操作,也是可以的.O(∩_∩)O~

淇县13688689336: 下列数据传送指令中正确的是() -
耿荔麦特: 呵呵 俺来了 正确的答案是(D) MOV CX,【SI】;源操作数[SI]是采用寄存器间接寻址方式 A 源操作数ES 是段寄存器不可以做源操作数 B 源操作数WORD PTR 【BX+DI】是一个16位的数据 (字) 而目的操作数AL为一个字节(8位数) 二者不匹配 C 源操作数BYTE PRT【SI+DI】是采用基址加变址的寻址 SI是不能做基址寄存器的只有BX或BP才能做基址寄存器 哈哈 满意就选满意回答吧

淇县13688689336: 汇编语言小问题 微机原理 -
耿荔麦特: 怎么没有看到问题啊?等待中.................第一题: 当前指令物理地址是由cs:ip决定的,则下一条指令应该是cs*16+(ip+2H)=10000H+102H=10102H 当前栈顶物理地址为SS*16+SP=40200H [BX]对应的段寄存器是DS所以物理地址是DS*16+BX=...

淇县13688689336: 微机原理与接口技术题 -
耿荔麦特: 两个操作数和多个操作数.一般地,对于两操作数来说,左边的是目的操作数,右边的是源操作数源操作数. 8086指令系统的指令有的带操作数,有的不带操作数.而带操作数的指令又分为带一个操作数

淇县13688689336: 微机原理中一道程序题 -
耿荔麦特: MOV [BX],0;这条指令是错误的,因为【BX]是存储器操作数,而源操作数是立即数,这个立即数在内存分配几个存储单元不清楚.可以改成比如:MOV BYTE PTR [BX],0;MOV [BX],CX等都可以,你改成MOV [BX],AX当然也可以,因为这样的话源操作数很确定,就是一个字,所以正确.

淇县13688689336: 汇编语言中,MUL指令中源操作数为什么不能为立即数?
耿荔麦特: 这只是一种语法规定,根本原因在编译器,编译器无法处理MUL后跟立即数. 汇编语言只是一种编程语言规范,正如汉语,英语一样,按照规范才能说出别人能听懂的语言.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网