针对Lx5280 GUN 模拟器的正确性测试

2012-08-23 02:02:00夏兴昇
科技视界 2012年33期
关键词:指令

夏兴昇

(江苏经贸职业技术学院 江苏 南京 211168)

在移植之后产生的针对Lx5280的模拟器是否符合需求,我采用联合测试的方法,和汇编器as、调试器insight(gdb窗口形式)共同测试。综合考虑对新增寄存器和对新增指令的测试,由于添加的寄存器和指令结合紧密,我采用对Lx5280各个新增功能分模块测试。

被测指令程序的装载,我通过两种方式:

(1)通过汇编程序汇编指令后通过insight装入。

(2)在Lx5280汇编没有移植好前通过手动汇编方式。在insight寄存器窗口给寄存器赋值及指令memory窗口在当前指令地址处写入手动汇编指令的的机器指令码。这种方式也适用于在汇编、调试、模拟器联合调试时确认错误范围。同时可以增加测试的灵活性。

采用单步测试方法,测试结果通过insight寄存器窗口和memory窗口观察。

详细测试如下:

1 对Circular Buffers功能的测试

这里涉及cbs[0-2]、cbe[0-2]六个寄存器,涉及指令有LBP[.Cn]、LBPU[.Cn]、LHP[.Cn]、 LHPU[.Cn]、 LWP[.Cn]、 LTP[.Cn]、 SBP[.Cn]、SHP[.Cn]、 SWP[.Cn]、STP[.Cn]

指令格式:×××[.Cn]rT,(pointer)stride

如lbp.1 $5,($10)1

基本功能是:对point寄存器间接寻址后赋值给rT寄存器,即rT=[point]。同时对point寄存器加上stride,即point+=stride。Cn值为0-2,决定采用三个Circular Buffers中那一个,0可省略。

测试步骤:

(1)测试 cbs[0-2]、cbe[0-2]赋值,如对 cbs0 赋值

li $2,0xbfc00384

mtru $2,cbs0

通过insight寄存器窗口观察,观察赋值是否正确。

(2)测试存取字长正确性,如以下指令

(3)测试有符号和无符号扩展存取操作

在取字节和半字操作中,会把它们扩展到32位存入通用寄存器。这里有带符号扩展和无符号扩展。

首先通过memory窗口对($10)赋值0xff

(4)测试 point的自加,即 point+=stride

执行后由于上溢发生,$10被赋值0xbfc00384,实现了存取数据buffer循环功能。

2 对Zero Overhead Loop功能的测试

这里涉及lpc0、lps0、lpe0三个寄存器,无相关新增指令。

基本功能:当PC值和LPE0匹配时,且LPC0不等于0,则PC被赋值为LPS0,同时LPC0减1,用硬件实现了的程序循环功能。……

登录APP查看全文

猜你喜欢
指令
听我指令:大催眠术
ARINC661显控指令快速验证方法
测控技术(2018年5期)2018-12-09 09:04:26
LED照明产品欧盟ErP指令要求解读
电子测试(2018年18期)2018-11-14 02:30:34
杀毒软件中指令虚拟机的脆弱性分析
电信科学(2016年10期)2016-11-23 05:11:56
巧用G10指令实现椭圆轮廓零件倒圆角
时代农机(2015年3期)2015-11-14 01:14:29
中断与跳转操作对指令串的影响
科技传播(2015年20期)2015-03-25 08:20:30
基于汇编指令分布的恶意代码检测算法研究
一种基于滑窗的余度指令判别算法
欧盟修订电气及电子设备等产品安全规定
家电科技(2014年5期)2014-04-16 03:11:28
MAC指令推动制冷剂行业发展
汽车零部件(2014年2期)2014-03-11 17:46:27