广东省建设工程安监局网站,襄樊市网站建设公司,建站网站建设哪个好,备案网站内容怎么写目录
测试目标#xff1a;
测试代码#xff1a;
1. start.s
2. align.s
测试结果#xff1a;
1 .ldr伪指令的测试结果:
2 .align伪操作测试结果:
结果分析#xff1a; 测试目标#xff1a;
熟悉ARM处理器的伪指令#xff0c;本次实验主要来练习ldr伪指令和align…目录
测试目标
测试代码
1. start.s
2. align.s
测试结果
1 .ldr伪指令的测试结果:
2 .align伪操作测试结果:
结果分析 测试目标
熟悉ARM处理器的伪指令本次实验主要来练习ldr伪指令和align伪操作的使用。理解ARM处理器伪指令的功能并学会分析汇编语言代码。
测试代码
1. start.s
area init,code,readwriteentrystartldr r0,0x7000000orr r0,r0,#0x13mcr p15,0,r0,c15,c2,4ldr r0,0x7e004000mov r1,#0str r1,[r0]ldr r1,0x7e000020mov r0,#0x1000str r0,[r1]ldr r1,0x7e000024mov r0,#0str r0,[r1]haltb haltend
2. align.s area init,code,readwriteentrystartmov r1,r0mov r0,#12ldr r4,srcldr r3,srcldr r5,strldr r6,strldr r7,strsrcdcd 7777strdcd 0x33f80000dcb 0x88dcb 0x77alignresetmov r8,#0end
测试结果
1 .ldr伪指令的测试结果: 2 .align伪操作测试结果: 结果分析
1.LDR伪指令是将一个32位的常数或者一个地址值读取到寄存器中可以看作是加载寄存器的内容。由图1可知LDR伪指令替代成具有相同功能的thumb指令加载的常数不符合MOV或MVN指令立即数的要求汇编器将常量放入内存文字池并使用一条程序相对偏移得LDR指令从内存文字池读出常量。
2..align的作用范围只限于紧跟它的那条指令或者数据而接下来的指令或者数据的地址由上一条指令的地址和其长度决定。由图2可知align下紧跟的指令的PC值是十六进制的28是以4的倍数对齐。