Quantcast
Viewing all articles
Browse latest Browse all 36216

what is GOT17M4 exactly doing

HI,

 

I executed two assembly programs on bf609 with uclinux loaded. I attached the code for both the programs. when I debugged both the codes I observed that the address of p0 in both the programs was located at p3+0x1c. I tried running many programs but this address remained the same. I went through toolchain:application_binary_interface    [Analog Devices Open Source| Mixed-signal and Digital Signal Processing ICs] to understand this but din't clearly understand how this 1c is loaded by GOT17M4 in p0=[p3+inp@GOT17M4]. What is this GOT17M4 exactly doing. I attached the screen shots of the disassembly. Please go through.

 

Program1:

 

.section .data.l1
.align 4
inp: .byte4 0x12345678, 0xabcd5643, 0xccdd6688;
out: .byte4 0, 0, 0;
.section .text
.global _main;
_main:
p0=[p3+inp@got17m4];
p1=[p3+out@got17m4];
p5=3;
LOOP adi LC0=p5;
LOOP_BEGIN adi
r0=[p0];
r1=r0.l(z);
[p1]=r1;
p0+=4;
p1+=4;
LOOP_END adi;
nop;
p0=[p3+inp@got17m4];
p1=[p3+out@got17m4];
nop;
_main.end:

 

 

Program2:

 

.section .data.l1
.align 4
input: .byte4 0, 0;
.align 2
output: .byte2 0xa123, 0x2121;
.section .text
.global _main;
_main:
nop;
p0=[p3+input@got17m4];
p1=[p3+output@got17m4];
p5=2;
nop;
LOOP abc LC0=p5;
LOOP_BEGIN abc;
nop;
r0.l=w[p1];
r1=r0.l(x);
[p0]=r1;
p0+=4;
p1+=2;
nop;
LOOP_END abc;
nop;
p0=[p3+input@got17m4]
p1=[p3+output@got17m4];
nop;
_main.end:

Viewing all articles
Browse latest Browse all 36216

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>