ZKX's LAB

段寄存器立即数 1.( )不能给段寄存器赋立即数。 选项: 1、 错 2、 对

2020-07-23知识2

怎么分辨立即数 寄存器操作数 存储器操作数 1.操作数称为立即数,这种寻址方式也就称为立即数寻址方式。2.指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。3.把在指令中指出所使用寄存器(即:寄存器。立即数 寄存器操作数 存储器操作数 立即数是什么意思,最好举个例子?立即能从指令流中得到的数,MOV AX,0FFFFH;对应机器指令为:B8 FF FF,其中的0FFFFH即为立即数,它存在于指令中,可立即获得寄存器操作数是什么意思,最好举个例子?上例中的 AX 即为寄存器操作数,操作数本身存放于寄存器中,在指令中只是给出了几个位的代码来表示它具体存放在那个寄存器中。以下是一些指令的机器码和对应的汇编指令B80000 MOV AX,0000BAFFFF MOV DX,FFFFB9FFFF MOV CX,FFFFBBFFFF MOV BX,FFFF存储器操作数是什么意思,最好举个例子?那就是存放在内存器中的操作数,如:MOV SI,[2000H]中的[2000H]MOV[BX+SI+02],AX中的[BX+SI+02]这些操作数实际被存放于内存储器中,被操作或运算时需要从存贮器中取出并被CPU接受送到运算器等参与操作运算。内存操作数是什么意思,最好举个例子?没太听说,要有的话,也就和存储器操作数没有多大差别汇编语言MOV指令 在汇编2113语言中,MOV指令是数据传送指令,也是5261最基本的编程指令,用于将一4102个数据从源地1653址传送到目标地址(寄存器间的数据传送本质上也是一样的)。其特点是不破坏源地址单元的内容。例如:1、MOVAX,2000H;将16位数据2000H传送到AX寄存器。2、MOVAL,20H;将8位数据20H传送到AL寄存器。3、MOVAX,BX;将BX寄存器的16位数据传送到AX寄存器。4、MOVAL,[2000H];将2000H单元的内容传送到AL寄存器。扩展资料:汇编语言特点:1、机器相关性这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。2、高速度和高效率汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。参考资料来源:-汇编语言8086中为什么不能将立即数直接传送到段寄存器 由于立即数直接写入段寄存器这样的指令,被翻译成机器码之后将占用更多的字节,在事先规定的指令长度范围内无法存贮下这么多的内容,因此改由先写入通用寄存器,再由通用寄存器写入段寄存器的办法代替。立即数实际上是相当占地方的1.( )不能给段寄存器赋立即数。 选项: 1、 错 2、 对 1~5 题 v x x x v.6~10 题 d c b d d供参考。为什么立即数不能直接送段寄存器? 由于立即数直接写入段寄存器这样的指令,被翻译成机器码之后将占用更多的字节,在事先规定的指令长度范围内无法存贮下这么多的内容,因此改由先写入通用寄存器,再由通用寄存器写入段寄存器的办法代替。立即数实际上是相当占地方的。汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢) 你问的这个问题,反正书上也没有说,我也不太肯定。只是猜想,猜想而已。反正立即数就不能给地址赋值,这个是肯定的。原因:我感觉和寄存器的结构有关吧,在我用汇编的1年,我感觉段寄存一般都是配合偏移地址使用的,要么就是保存地址,间接的寻址的。保存立即数会完全的污染段寄存器的,我个人感觉,因为那样设计也不好,要是乱给段寄存器赋值,比如:cs,ds,bp,sp,那岂不是CPU大乱啦。一般都是保存地址的。add源操作数是立即数,目标操作数可以是段寄存器吗 可以的。对段寄存器的操作,从网上抄的如下:段寄存器的操作有一些限制 –-段寄存器属专用寄存器,对他们的操作能力有限不允许立即数传送给段寄存器 MOV DS,100H;非法指令:立即数不能传送段寄存器不允许直接改变CS值 MOV CS,[SI];不允许使用的指令?不允许段寄存器之间的直接数据传送 MOV DS,ES;非法指令:不允许段寄存器间传送

#操作数#计算机指令#段寄存器#数据寄存器#立即数

随机阅读

qrcode
访问手机版