单选题假设整型数组E的起始地址和整数索引i分别存放在寄存器%edx和%ecx中,表达式‚E+i-1‛的汇编代码实现为()。(结果存放在寄存器%eax中)AMovl-1(%edx,%ecx),%eaxBMovl-4(%edx,%ecx,4),%eaxCleal-1(%edx,%ecx),%eaxDleal-4(%edx,%ecx,4),%eax

单选题
假设整型数组E的起始地址和整数索引i分别存放在寄存器%edx和%ecx中,表达式‚E+i-1‛的汇编代码实现为()。(结果存放在寄存器%eax中)
A

Movl-1(%edx,%ecx),%eax

B

Movl-4(%edx,%ecx,4),%eax

C

leal-1(%edx,%ecx),%eax

D

leal-4(%edx,%ecx,4),%eax


参考解析

解析: 暂无解析

相关考题:

汇编语言的程序代码必须位于代码段中,形成代码段物理地址的寄存器对是( )。A.SSSPB.CSIPC.DSBXD.CSBX

在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式

下面是关于Pentium微处理器中寄存器组的叙述,其中正确的是______。A.段寄存器从4个增加到6个B.所有的寄存器都是从16位扩展为32位C.EAX、EBX、ECX、EDX、ESP、EBP、ESI和EDI既可存放数据,也可作为基址或变址寄存器使用D.EAX、EBX、ECX、EDX、ESP、EBP、ESI和EDI既可作为32位也可作为16位或8位寄存器使用

80386~Pentium微处理器中的通用寄存器包括:EAX、EBX、ECX、EDX、ESP、 EBP、EDI和ESI。其中哪些可以作为32位、16位和8位寄存器使用______。A.EAX、EBX、ECX、EDX、ESP、EBPB.ESP、EBP、EDI、ESIC.EAX、EBX、ECX、EDXD.以上都不对

阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】c语言常用整型(int)或长整型(1ong)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如,long long类型,某些c系统会提供)也无法正确表示,此时可用一维数组来表示一个整数。假设下面要处理的大整数均为正数,将其从低位到高位每4位一组进行分组(最后一组可能不足4位),每组作为1个整数存人数组。例如,大整数2543698845679015847在数组A中的表示如下(特别引入-1表示分组结束):在上述表示机制下,函数add_large_number(A,B,c)将保存在一维整型数组A和B中的两个大整数进行相加,结果(和数)保存在一维整型数组c中。【c函数】Void add_large_number(int A[], int B[], int c[]){int i,cf; /*cf存放进位*/int t,*p; /*t为临时变量,p为临时指针*/cf= ( 1) ;for(i=0 ; A[i]-l&&B[i]-1;i++){/*将数组A、B对应分组中的两个整数进行相加*/t=(2) ;C[i]=t%i0000;cf= (3) ;}if( (4))P=B;else P=A;for(;P[i]-1;i++){/*将分组多的其余各组整数带进位复制入数组C*/C[i]=(p[i]+cf)%i0000; cf=(p[i]+cf)/10000;}if(cf0) C[i++]=cf;(5)=-1; /*标志”和数”的分组结束*/

在寄存器间接寻址中,若指令指定的寄存器是BX,SI,或者DI,则默认操作数存放在(46)段中。这时要用寄存器(47)的内容作为段地址。对于指令MOV BX,[SI]。假设数据段寄存器DS=1000H,代码段寄存器CS=4000H,堆栈段寄存器SS=7000H,SI=2000H,则操作数的物理地址为(48)。A.数据B.代码C.堆栈D.代码和堆栈

设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。A.P+i*2 设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i

假设某文件系统的文件索引表有i-addr[0],i-addr[1] ,..., i-addr[7]共 8个地址项,每个地址项大小为 4 字节,其中 5 个地址项 (i-addr[0]~i-addr[4] )为直接地址索引,2个地址项 (i-addr[5]~i-addr[6])是一级间接地址索引,1个地址项 (i-addr[7] )是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为5和518,则系统应分别采用( )。A.直接地址索引和一级间接地址索引B.直接地址索引和二级间接地址索引C.一级间接地址索引和二级间接地址索引D.二级间接地址索引和一级间接地址索引

阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。【说明】计算一个整数数组a的最长递增子序列长度的方法描述如下:假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度为 ;其中b[i]满足最优子结构,可递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明a:长度为n的整数数组,待求其最长递增子序列b:长度为n的数组,b[i]记录以a[i](0≤ilen:最长递增子序列的长度i, j:循环变量temp:临时变量(2)C程序#include int maxL(int*b, int n) {int i, temp=0;for(i=0; itemp) temp=b[i]; } return temp;}int main() { int n,a[100], b[100], i, j, len; scanf("%d", for(i=0;i【问题1】(8分)根据说明和C代码,填充C代码中的空(1)~(4)。【问题2】(4分) 根据说明和C代码,算法采用了 (5) 设计策略,时间复杂度为 (6) (用O符号表示)。【问题3】(5分) 已知数组a={3,10,5,15,6,8},据说明和C代码,给出数组b的元素值。

指令代码的地址存放在寄存器中。()A.DS和SIB.BX和BPC.ES和DID.CS和IP

假设某文件系统的文件索引表有 i-addr[0],i-addr[1] ,...,i-addr[7]共 8 个地址项,每个地址项大小为 4 字节,其中 5 个地址项 (i-addr[0]~i-addr[4] )为直接地址索引,2 个地址项(i-addr[5]~i-addr[6]) 是 一 级 间 接 地 址 索 引 , 1 个 地 址 项(i-addr[7] )是二级间接地址索引,磁盘索引块和磁盘数据块大小均为 1KB。若要访问文件的逻辑块号分别为 5 和 518,则系统应分别采用(46)。A.直接地址索引和一级间接地址索引B.直接地址索引和二级间接地址索引C.一级间接地址索引和二级间接地址索引 D.二级间接地址索引和一级间接地址索引

假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值() Leal(%eax,%ecx),%edxA、xB、yC、x+yD、x–y

内存地址0x200、0x204、0x208、0x2012中存放的值分别为0x87、0x65、0x43、0x21,寄存器%ecx,%edx中存放的值分别为0x200,0x1,则操作数(%ecx,%edx,4)的值为()A、0x87B、0x65C、0x43D、0x21

Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。

将整型数组A[1..8,1..8]按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[7,3]的地址是:()。

在C语言中,一维数组的定义方式为:类型说明符 数组名()。A、[整型表达式]B、[整型常量]或[整型表达式]C、[常量表达式]D、[整型常量]或[整型常量表达式]

若p1、p2、p3存放在存储器中相对于寄存器%ebp中地址偏移量为8、12、16的地方,返回值result存放于寄存器%edx中,则根据下面的汇编代码有() Movl 12(%ebp), %edx Movl (%edx), %eax Movl %eax, %edx Movl 8(%ebp), %ecx Addl (%ecx), %edx Movl 12(%ebp), %eax Movl %edx, (%eax) Movl %edx, %eaxA、result=*p1B、result=*p3C、result=*p1+*p2D、result=*p1+*p3

有一个10个字的数组存放在数据段,已知其起始地址为7A3CH:185FH,请问该数组在内存中的实际起始物理地址和末地址各为多少?此时,DS段寄存器中的内容为多少?

一维数组的定义语法是:类型说明符数组名()A、[整型常量]B、[整型表达式]C、[常量表达式]D、[整型常量]或[整型表达式]

指令代码的地址存放在寄存器()中。A、DS和SIB、BX和BPC、ES和DID、CS和IP

语句Dim A%(10),B!(10,5)定义了两个数组,其类型分别为()。A、一维实型数组和二维整型数组B、一维整型数组和二维单精度数组C、一维整型数组和二维长整型数组D、一维整型数组和二维双精度型数组

单选题假设寄存器%eax的值为x,%ecx的值为y,则指明下面汇编指令存储在寄存器%edx中的值() Leal(%eax,%ecx),%edxAxByCx+yDx–y

判断题Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。A对B错

单选题在C语言中,一维数组的定义方式为:类型说明符 数组名()。A[整型表达式]B[整型常量]或[整型表达式]C[常量表达式]D[整型常量]或[整型常量表达式]

单选题假设寄存器%eax的值为x,%ecx的值为y,那么汇编代码指令leal(%eax,%ecx,5),%edx存储在寄存器%edx中的值为()A5xB5yC5x+yD5y+x

填空题数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。