第2题
1. 在ARM汇编语言程序设计中,伪操作与伪指令的区别是什么? 2. 分析ARM汇编语言伪指令LDR,ADRL,ADR的汇编结果,说明它们之间的区别。 3. 完成下列数据定义伪操作: (1)申请以data_buffer1为起始地址的连续的内存单元,并依次用半字数据0x11,0x22,0x33,0x44,0x55进行初始化; (2)申请以Str_buffer为起始地址的连续的内存单元,并用字符串“ARM7 and ARM9”进行初始化; 4. 定义一个结构化的内存表,其首地址固定为0x900,该结构化内存表包含2个域,Fdatal长度为8个字节,Fdata2长度为160个字节。 5. 在GNU-ARM编译环境下,写出实现下列操作的伪操作: (1)分配一段字节内存单元,并用57,0x11,031,'Z',0x76进行初始化; (2)分配一段半字内存单元,并用0xFFE0,0xAABB,0x12进行初始化; (3)分配一段字内存单元, 并用0x12345678,0xAABBCCDD进行初始化; (4)分配一段内存单元,并用长为8字节的数值0x11填充100次; 6. 先对内存地址0xB000开始的100个字内存单元填入0x10000001~0x10000064字数据,然后将每个字单元进行64位累加,结果保存于【R9:R8】(R9中存放高32位)。 7. 内存数据区定义如下: Src: .long 1,2,3,4,5,6,7,8,9,0xA,0xB,0xC,0xD,0xE,0xF,0x10 .long 1,2,3,4,5,6,7,8,9,0xA,0xB,0xC,0xD,0xE,0xF,0x10 Src_Num: .long 32 Dst: .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 请用ARM指令编写程序,实现将数据从源数据区Src拷贝到目标数据区Dst,要求以6个字为单位进行块拷贝,如果不足6个字时,则以字为单位进行拷贝(其中数据区Src_Num处存放源数据的个数)。 8. 将一个存放在【R1:R0】中的64位数据(其中R1中存放高32位)的高位和低位对称换位,如第0位与第63位调换,第1位与第62位调换,第2位与第61位调换,。。。第31位与第32位调换。 9. 内存数据区定义如下: DataZone DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 DCD 0x12345678, 0x87654321, 0xABCDEF12, 0xCDEFAB45 以上可以看做一个8*4矩阵,请用ARM汇编语言在ARM集成开发环境下设计程序,实现对矩阵的转置操作。 如果改为在GNU ARM环境下编程,程序应如何修改。
第4题
A.①和⑨
B.①和⑧
C.④和⑤
D.⑧和⑩
第7题
A.汇编语言程序中只能包含cPu可直接识别的汇编指令
B.一条汇编指令可以没有操作码字段,但是必须具有操作数字段
C.汇编语言源程序都是通过对某高级语言源程序进行编译而得到的
D.一条汇编指令可以没有操作数字段,但是必须具有操作码字段
第8题
A、将从70H存储单元读取一个字节数据保存于AL寄存器
B、将把AL寄存器内容保存于70H存储单元
C、将从70H号I/O端口读取一个字节数据保存于AL寄存器
D、将把AL寄存器值内容输出到70H号I/O端口
第10题
A. 汇编语言程序中只能包含CPU 可直接识别的汇编指令
B. 一条汇编指令可以没有操作码字段,但是必须具有操作数字段
C. 汇编语言源程序都是通过对某高级语言源程序进行编译而得到的
D. 一条汇编指令可以没有操作数字段,但是必须具有操作码字段
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!