Advertisement

考研试题边界与存储系统匹配

阅读量:

【2012年计算机联考真题】

该计算机存储器采用按字节地址的方式进行存取操作,并且采用了小端存储模式存放数据。假设编译器将int类型定义为32位、short类型定义为16位,并且要求所有操作对象必须按照内存边界进行对齐组织。其C语言实现代码如下:

复制代码
 struct{

    
     int a;
    
     char b;
    
     short c;
    
 }record;
    
 record.a=273;

假设记录变量的起始地址是十六进制C008,则该起始位置存储的信息及其记录.c的位置分别为多少?

A . 0x00 0xC00D

B . 0x00 0xC00E

C . 0x11 0xC00D

D . 0x11 0xC00E

【答案】 D

【解析】

为了更好地理解机器码的基本概念,在汇编语言编程中经常需要关注记录(record)的相关操作。其中记录首地址(base)是指向记录中的第一个字段(field)起始位置的位置寄存器值。假设我们定义了一个记录类型record并为其分配了一个内存空间,则需要明确以下几个关键点:一是记录首地址对应的字段值即为record.a字段的内容;二是计算得到`a=273= 二进制表示为 8进制表示为 十六进制表示为 十六进制表示为 二进制表示为$ 十六进

全部评论 (0)

还没有任何评论哟~