1、第七讲 数据访问与程序控制BIT/TI 1第七讲 连接器学习内容一、定界 (alignment)二、操作数 数据交叉通路、地址交叉通路、条件交叉通路 指针操作数与循环缓存区 有限字长效应问题三、程序控制 子程序调用与返回 程序跳转四、实验BIT/TI 2第七讲 连接器一、定界定界:数据或代码在存储器内的开始地址有一定要求 常数 变量 代码BIT/TI 3第七讲 连接器数据定界原则 数据类型决定:定界、存取指令数据类型 定界 (开始存放地址 ) LD/ST指令.byte 无限制 LDB/STB.short/.half 2的整数倍 (1 LSB=0) LDH/STH.word/.int 4的整数倍
2、 word(2 LSB=00) LDW/STWBIT/TI 4第七讲 连接器常数定界编译器会根据常数类型自动定界为避免存储器浪费,定义时应遵循先大后小的原则v .short 20hBIT/TI 5第七讲 连接器变量定界省去 alignment域?var_name .usect“sect_name”, #bytes, alignment.bss var_name, #bytes, alignment定界信息可选BIT/TI 6第七讲 连接器错误定界BIT/TI 7第七讲 连接器数据类型要与存取指令一致BIT/TI 8第七讲 连接器数据定界练习1) 定义一个 16位长的 short类型变量m .usect “vars”, _, _2) 定义一个 word类型数组,元素个数 20n .usect “vars”, _, _BIT/TI 9第七讲 连接器代码定界 连接器自动按照 256 bits定界 代码的起始存放地址必须是 256的整数倍,即 8 LSB = 0。BIT/TI 10第七讲 连接器