日本电子维修技术 关于winhex模板的资料



模板本身是个带扩展名TPL的文本文件。WINHEX提供的模板编辑器可以让您写模板的定义,并提供语法检查. 模板的定义,主要包含变量声明,类似于源代码的编程语言. 支持的数据类型包括所有的共同整数,浮点和布尔类型,日期类型, hex值,二进制,文字, 串型. 数组变量和一组变量,都可以使用.能自由移动,前移和后移的数据,使得使用模板的特别灵活:
  1.同一个变量可以有多种用途
  2.你不关心的数据部分可以跳过
  模板管理器列出所有的模板的winhex目录,包含模板定义、标题、附加说明、文件名,点击应用按钮,显示模板选用模板定义的数据,在当前编辑窗在目前的数据解释. 你也可以创造一个新的模板定义,删除或编辑一个现有winhex提供的几个模板样例.
  二、模板定义
  模板由头部和主体两部分组成,模板头部定义的格式如下:
  template "title"     //模板标题
  [description "description"]   //说明
  [applies_to (file/disk/RAM)]   //应用到文件、磁盘还是内存
  [fixed_start offset]         //固定的起始偏移值
  [sector-aligned]           //扇区对齐
  [requires offset "hex values"]//要求偏移的HEX值相等
  [big-endian]              //高字节优先
  [hexadecimal/octal]
  [read-only]              //只读
  [multiple [fixed overall size]]
  // Put any general comments to the template here.
  begin
  variable declarations ...
  end
  中括号代表是该项是可选的.   表达式里面含有空格的话就要用双引号引起来. 评论会出现在模板的定义. 字继双斜线被忽略的解析器. 注释可以写在任何地方,在注释前要“//”号。
  1.关键字" applies_to "必须跟着一个只有一个文件,磁盘或内存 . 如果你是用一个模板解析的数据和用此关键字定义的数据来源不相同的话,winhex会发出一个警告。
  2.当模板解释这些数据时默认是从当前的光标位置处开始的,一旦使用fixed_start声明位置,解释将总是以指定的偏移位置处开始解释.
  3.如果模板应用于磁盘的情况下, 关键字"sector-aligned"确保模板从当前的扇区的开始处进行解释, 而不管确切的光标在当前扇区的确切位置.
  4."requires"的声明与"applies_to "声明有点类似,"requires" 声明使WinHex 防止模板定义对不匹配的数据做错误解释。指定一个偏移量和一个任意长度HEX串(十六进制串)来进行匹配。例如,一个有效的主引导记录,可以确认的hex串值“55AA”在偏移0x1fe处 ; 一个可执行文件的hex串值 " mz "在偏移0x0处 . 有许多" appliesto "声明的模板定义头部 ,都是考虑.
  5.关键字"big-endian"导致模板定义所有多字节整数和布尔变量是以big-endian顺序(高字节为优先)的读写   .  
  6. 关键字" hexadecimal "使模板定义的所有整数变量的以十六进制记法显示 .
  7.关键字"read-only"确保模板只能用来显示数据. 数据将成灰色,就不能修改数据如果在头部设定"multiple"关键字 , winhex允许浏览到相邻的数据记录在同个模板. 这就要求winhex要知道的记录的大小. 如果"multiple"关键字没有指定为尺寸参数,winhex 计算模板结构总尺寸( = record )来解释当前位置到模板的对应的末尾. 如果这是一个可变尺寸, 即数组大小或移动参数来动态决定 winhex不能浏览先前数据记录.
 


评论

要是有就请超版删除了吧。

评论
这个似乎前不久发过了一篇。

评论
三、变量声明
  模板主体的定义主要包括变量声明,类似于编程语言. 下面是变量声明的基本形式
  type "title"//类型 标题
  下面是类型:
  int8, uint8 = byte, int16, uint16, int24, uint24, int32, uint32, int64,
  uint_flex
  binary,
  float = single, real, double, longdouble = extended,
  char, char16, string, string16,
  zstring, zstring16,
  boole8 = boolean, boole16, boole32hex,
  DOSDateTime, FileTime, OLEDateTime, SQLDateTime, UNIXDateTime = time_t, JavaDateTime
  "title"只能包含在引号中若含空字符. "title"绝不能仅由数字组成. winhex不区分大小写字符称. 最多有41字符.
  在类型之前可以跟以下关键字
  big-endian(高字节优先  little-endian (低字节优先) 
  hexadecimal(十六进制)  decimal(十进制) octal(八进制)
  read-only(只读)  read-write(可读写)
  这些修正只影响紧随其后的变量. 他们是多余的,如果他们出现在头已经定义数据类型后面的数据代表占用空间大小的位数,char16和string16是一样的,winhex支持Unicode字符和字符串. 但是, Unicode字符以外的256个第一的ANSI等价字都不支持. 最高字符串大小,可以修改用模板是8192字节.
  各类串, string16 , hex需要额外参数,明确了一些内容. 这个参数可以是一个常数或一个先前宣布变数或数学表达(见下文) . 如果它是一个常数,可以指定十六进制格式, 这是公认的,如果号码是先0x .
  你可以声明变量数组,把数组大小括号旁边的种类或 称号. 以下两行宣布可变大小的 ascii字符串,其长度取决于前变: 
  uint8  "len"
  char[len] "A string"
  同样的功能可以通过以下两句来定义:
  byte  "len"
  string len "A string"
  字符"~ "可以作为一个占位后更换与实际的数组元素的数目(见高级 命令) . 这并不适用于数组char变数,因为它们会自动被翻译成一个字符串. 字符串的参数,整型变量数据大小的表达式,可在指定的数学符号. 他们将处理的综合公式解析器. 这些用语须圆括号. 他们不能含有空字符. 他们可利用先前宣布整型变量的名字不包含空字符. 支持的行动,另外, ( + ) ,减法( - ) ,乘法( * ) ,整除( / ) ,取模( % ) , 位与 ( & ) , 位或 ( | ) , and 异或 ( ^ ) . 有效的数学公式所举例( 5 * 2+1 )或( len1 / ( len2 +4 ) ) . 结果总是一个整数,必须是一个正数.
  zstring和zstring16都是NULL结尾的字符串,其大小取决于动态地在运行决定.
  四、高级命令
  当附背带,若干变量声明包含一个块,可以反复使用作为一个整体. 但是请注意,块不能嵌套在当前的执行工作. " ~ "字符可以用一个变量的名字作为占位符后更换为实际计数. 择" numbering "声明界定在哪里开始计数( 0 by default )
    numbering  1
    { tab byte  "len"
     string len "String No. ~"
    } [10]
  在这个例子实际变量的名字放在模板将"String No. 1", "String No. 2", ..., "String No. 10". 而不是一个固定的重复数目 ( 10在这个例子中) ,您可能还注明是"无限" . 在这种情况下winhex将重复块到年底档案遭遇. " exitloop "可以用来走出这条回路在任何时间
  " ifequal "是有用的比较两个表达式. operands可分为两个数值,是恒定值十进制,整型变量或公式, 或者字节序列作文字或hex值是比较byte字节. ascii字符串表达式必须加上引号, hex序列必须prreced了" 0x "标识. 公式须括弧.
  { r byte  Value
   IfEqual Value 1
     ExitLoop
   EndIf
  } [10]
  " ifequal " 以结束" endif "的声明. 如果比较表达都是相等的,模板的解释后继续" ifequal " . optionally , " ifequal "可以遵循的不等的声明. 模板处理器支进入" else "区块,如果表达不能划等号. " ifequal "命令不能嵌套. " ifgreater "类似于" ifequal " . 条件是正确的,如果第一表达的是大于二. 字符串按词典顺序进行比较.
  为了便于阅读和导航模板 你可确定一组的变量,在对话框中会在不同组的变量用空间分开:
  section "...Section Title..."
  ...variable declaractions...
  endsection
  "section", "endsection", 和 "numbering"关键字都没有与当前位置的解释有
关。
  有两个命令也不做变量声明,但被明确用来改变目前的位置. 可以跳过无关紧要的数据(向前移动)或能取得一定的变量不止一次 由于不同类型(反向运动) . 用" move n "声明中跳过n字节,由目前的位置,其中N可说是消极的. " goto n " 到指定绝对位置,从一开始的模板解释(必须是位置) . :
  int32  "Disk serial number (decimal)"
  move -4
  hex 4  "Disk serial number (hex)"

评论
看到这个就头大了.不了解其结构.

评论
看不懂,是编程吗

评论
楼主了得,这都能整。需要多大的毅力啊。 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...