LDRA - Testbed汇编语言使用指南1.1
更新时间:2023-10-06 07:42:01 阅读量: 综合文库 文档下载
- ldra testbed推荐度:
- 相关推荐
LDRA Testbed
汇 编 语 言 使 用 指 南
www.visionmc.com
联系电话: 021-68534562(上海),010-62131690(北京)
028-86527582(成都),0755-3581788(深圳)
LDRA TESTBED ........................................................................................................................................ 1 1. TESTBED对汇编分析前对ASM文件的文件格式要求 ..................................................................... 1 1.1程序全部使用大写 ................................................................................................................... 1 1.2 在程序体里不能有伪指令 .................................................................................................. 1 1.3过程中包含过程 ....................................................................................................................... 1 1.4 从一个过程之中跳转到另一个过程中 .................................................................................. 2 1.5 散转指令的问题 ...................................................................................................................... 2 1.6 $符号的问题 ............................................................................................................................ 2 1.7 标号的问题 .............................................................................................................................. 3 1.8 间接寻址问题 .......................................................................................................................... 3 1.9 函数标号 .................................................................................................................................. 3 1.10 程序中间有伪指令 ................................................................................................................ 3 1.11 8031汇编程序的主程序 ....................................................................................................... 4 1.12 宏汇编程序中宏展开的问题 ................................................................................................ 4 2. 汇编程序示例................................................................................................................................. 5 2.1 宏汇编的例子程序 .................................................................................................................. 5 2.2 8031汇编的例子程序 ............................................................................................................. 6 2.3 TI TMS320C2xx/3x汇编的例子程序 ..................................................................................... 9 3. 常见问题解决............................................................................................................................... 11 3.1 分析时提示ERROR 311 OCCURRED IN MACRO EXPANSION的错误 ................................... 11 3.2 选择新的文件分析提示无法为该文件创建ID ................................................................... 11 3.3 宏汇编Testbed7.09动态分析历史文件问题 .................................................................... 11 3.4 宏汇编系统测试的模板问题 ................................................................................................ 11 4.TESTBED FOR TMS320C3X汇编的使用注意及问题 ........................................................................... 12 4.1条件编译的问题: ................................................................................................................. 12 4.2 BNZD BZD 等的问题 .......................................................................................................... 12 4.3宏替换的问题 ......................................................................................................................... 12 4.4插桩模板的问题 ..................................................................................................................... 12 4.5 Testbed TiC3x(7.09)的插桩设置问题 .......................................................................... 13 5.TMS320C25汇编插桩模版 ............................................................................................................. 14 5.1插桩模板 ................................................................................................................................. 14
Testbed 汇编语言使用指对源文件的要求 1. Testbed对汇编分析前对ASM文件的文件格式要求
1.1程序全部使用大写
采用Testbed对汇编代码进行分析的时候,将汇编代码全部转换为大写的,否则Testbed进行分析的时候在函数的调用关系上会出错;具体的说就是如果函数名不是全大写,Testbed不能正确的分析出调用关系,会显示是外部函数;(以下说明和分析都以Testbed MASM 7.07为例,其它版本可能有不同)
1.2 在程序体里不能有伪指令
由于汇编的灵活和不规范性,所以程序中往往有在程序体中有常量定义等伪指令,这样Testbed在分析的时候有时就不能正确地分析这些程序后面的代码;所以在程序体内不要有伪指令,相关的伪指令都应当放到程序体外(proc 和 endp之外);
1.3过程中包含过程
不规范的程序写法,往往会有在过程中包含过程的情况,比如(以宏汇编为例):
START PROC
OR AX,AX JNZ NR00 XOR CL,CL JMP NR00 NR00:
CMP AX,4000H CALL NORAD
JMP START
NORAD PROC NEAR
OR AX,AX XOR CL,CL NREND: RET NORAD ENDP
START ENDP
START PROC
OR AX,AX JNZ NR00 XOR CL,CL JMP NR00 NR00:
CMP AX,4000H CALL NORAD
JMP START START ENDP
NORAD PROC NEAR OR AX,AX
XOR CL,CL NREND: RET NORAD ENDP
上面这种情况需要修改为:
1 上海创景计算机系统有限公司 1 Testbed 汇编语言使用指对源文件的要求 如果START是程序中的主程序,或者相当于主程序的话,那么在程序语法和功能没有问题的前提下可以将程序改为:
START:
这样Testbed的Callgraph中就不会同时出现
START函数和START(SEGMENT)了,这样的程序结构才是更加合理的。(SEGMENT)的名字就是ASM文件开头NAME的名字。
这种处理只针对于程序中的主程序或和主程序类似的程序。 注:
OR AX,AX JNZ NR00 XOR CL,CL JMP NR00 NR00:
CMP AX,4000H CALL NORAD JMP START
NORAD PROC NEAR OR AX,AX
XOR CL,CL NREND: RET NORAD ENDP
如果文件中只有一个主程序,没有子程序,那么在主程序结尾处最后的一个插装点放的位置会有问题,会放到 CODE ENDS 和 END 之间,这样编译会报错,应当把它放到CODE ENDS 前面。
1.4 从一个过程之中跳转到另一个过程中
程序中存在从一个过程中直接调转到另一个过程的情况,而不是通过函数调用,这种情况是一个典型的非结构化编程,需要进行修改,改为通过函数调用的形式。
程序中一个过程中多个ret的情况Testbed7.07及以后版本支持,以前的版本不支持,testbed会认为第一个ret处程序就结束了。
1.5 散转指令的问题
汇编程序中常会有散转指令的使用,其实就是类似于查表跳转,这在汇编中使用很方便,简单的语句就可以实现复杂的功能,但从程序分析的角度讲是非规范的,Testbed目前没办法支持,当前只有不分析相关代码或者对代码进行修改,改为用判断跳转来实现。
1.6 $符号的问题
汇编语言中的$符号Testbed是不支持的,需要进行修改,如:
JMP CMP JMP
$+2
AX,8000H LDRA_TEST AX,8000H
需要改为:
LDRA_TEST: CMP
2 上海创景计算机系统有限公司 2 Testbed 汇编语言使用指对源文件的要求 1.7 标号的问题
我们建议在程序中标号单独占一行,这样可以避免一些错误的发生(当然这不
是强制的),如下:
NR2:
CMP AX,8000H
1.8 间接寻址问题
宏汇编中的间接寻址,Testbed在静态分析的时候不能正确进行识别,如: Call [si+2]
因此如果程序中有类似用法的话,Testbed的静态分析结果会有不正确的地方,在调用关系图中可以发现相关异常;解决的办法就是将这种用法进行修改,改为普通的调用模式。
1.9 函数标号
在DSP的汇编中,如果有如下写法: TEST: LDI xxx
Testbed在分析的时候会有问题,建议都改为: TEST:
LDI xxx
1.10 程序中间有伪指令
在DSP的汇编中,经常有程序在多处进行数据声明,这样会给Testbed的分析带来问题,如:
.data . . .text . . . .data . . .text . . .
将后面的数据声明等伪指令都注释或者删除。
3 上海创景计算机系统有限公司 3
正在阅读:
LDRA - Testbed汇编语言使用指南1.110-06
应变计粘贴、连接、防护方法简述04-05
评论投稿邮箱05-14
分析化学答案 上12-07
节能评估报告书 - 图文01-29
2018届高三语文高考总复习教师用书:专题六 近几年全国卷虽未考查但在考纲之列的6个考点含分类汇编解析05-07
教师资格考试教育学论述题汇总06-20
琼脂糖凝胶的配制和DNA回收10-15
老干部局开反腐倡廉宣传教育月活动09-23
中国石脑油市场简析06-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇编语言
- 使用指南
- Testbed
- LDRA
- 1.1
- 网络函数
- 燃料设备检修中的危险点及控制措施
- 七度空间少女系列卫生巾策划方案 - 图文
- 最新-上海市松江区2018学年度第一学期初三9月月考数学试卷 精品
- 18春西南大学《会计学基础》
- VFP选择题2
- 深圳计通金融系统机房动力环境监控一体化解决方案
- 2017-2018学年第二学期冀教版五年级下册英语 - 图文
- LDRA - Testbed中文使用指南1.1 - 图文
- Autodesk公司CAD工程师认证考试题题库
- 浅析房屋建筑给排水系统设计与施工要点
- 发展对象谈话记录
- 了凡四训(译文)
- 论文特种加工技术的应用与发展
- 杭州市高中2011届高三第六次月考语文试题
- 平均数,加权平均数
- 海康威视8700 - 安装指南
- 高二物理期中试卷(必修)
- C语言程序编辑题库
- 上海市第二十八大同杯届初中物理竞复赛(大同杯)试题及参考答案 - 图文