2020-02-04 09:08发布
i55x 发表于 2012-4-22 21:24 97年用过PL/M-51的飘过。 PL/M的余孽还在,Keil C51身上还散发着PL/M的某些味道。
wszyjsw2 发表于 2012-4-22 21:28 原来是这样 好像以前的KEIL链接文件后会申城OMF51文件 或则.ABS文件然后才是转换成HEX文件的,现在没 ...
i55x 发表于 2012-4-22 21:36 omf-51有几种尾缀的,lib是库文件,是浮动地址的; obj有浮动地址和绝对地址两种,c编译器或pl/m编译器出 ...
最多设置5个标签!
西安好像有个叫李xx的工程师曾经推崇过,
PL/M的余孽还在,Keil C51身上还散发着PL/M的某些味道。
当时Intel推出PL/M的时候发了一套标准,有个重要的标准叫OMF-51,就是obj/lib格式标准。
Keil在研发C51的时候,遵从了这个标准,导致一系列不符合C标准的事实,最典型的就是不区分大小写,因为OMF-51不区分大小写。
但是就是这个标准,因为仿真器厂家大都接受OMF-51格式,导致了franklin C51(后来知道是keil做的)的普及。
而IAR这么优秀的编译器厂家,因为仿真器厂家的不配合,反而没有人用。
原来是这样 好像以前的KEIL链接文件后会申城OMF51文件 或则.ABS文件然后才是转换成HEX文件的,现在没有了是吗?
PL/M是不是一款 高不成低不就的超垃圾语言?要高级语言的特性不如C方便 要说底层硬件操作又不如汇编?为什么现在华为公司还在用PL/M?出身年代太晚了 对过去的空白很好奇
omf-51有几种尾缀的,lib是库文件,是浮动地址的;
obj有浮动地址和绝对地址两种,c编译器或pl/m编译器出来的是浮动地址的,asm编译器出来的是浮动地址或者绝对地址,根据你的写法不同有不同的效果。
浮动地址地址的obj们要用L51连接器进行定位,生成绝对地址的abs文件,然后转成hex。如果写绝对地址的asm文件,编译出来的obj可以直接转hex。
举例来说
mydata data 20h
这个就是绝对地址,mydata是一个地址在20h的变量。
mydata ds 1
意义与上面相同,申请一个字节的变量空间,但是mydata是一个未分配的浮动地址,具体位置是多少,要等L51连接之后才知道。
浮动地址汇编语言适合于汇编与高级语言混合编程的常识,资源利用率高。
以你当年的PL/M编程经验 你觉得PL/M为什么会消失?
一周热门 更多>