wszyjsw2 发表于 2012-4-22 20:45:16

曾经是不是存在过一段时间用PL/M语言对51单片机编程

曾经是不是存在过一段时间用PL/M语言对51单片机编程?很想听老工程师述说这段历史

前几天在华为技术手册上看到还保留有用PL/M语言编程才是知道有这么一种语言,好像有段历史被抹掉了一样,对这种语言以前真的是听都没有听过

在百度搜索了 对这门语言的资料也不是很详细,到底是为什么这个东西会消失得无影无踪?感觉就和恐龙从地球消失一样,然后C语言(人类)成为了世界的主人

fsaok 发表于 2012-4-22 20:57:01

很久很久以前是,

西安好像有个叫李xx的工程师曾经推崇过,

wszyjsw2 发表于 2012-4-22 21:08:51

fsaok 发表于 2012-4-22 20:57 static/image/common/back.gif
很久很久以前是,

西安好像有个叫李xx的工程师曾经推崇过,

然后 ?然后由于 PL/M的存在不合理性    PL/M就从地球上消失了?

i55x 发表于 2012-4-22 21:24:17

97年用过PL/M-51的飘过。
PL/M的余孽还在,Keil C51身上还散发着PL/M的某些味道。

当时Intel推出PL/M的时候发了一套标准,有个重要的标准叫OMF-51,就是obj/lib格式标准。
Keil在研发C51的时候,遵从了这个标准,导致一系列不符合C标准的事实,最典型的就是不区分大小写,因为OMF-51不区分大小写。
但是就是这个标准,因为仿真器厂家大都接受OMF-51格式,导致了franklin C51(后来知道是keil做的)的普及。
而IAR这么优秀的编译器厂家,因为仿真器厂家的不配合,反而没有人用。

wszyjsw2 发表于 2012-4-22 21:28:18

本帖最后由 wszyjsw2 于 2012-4-22 21:30 编辑

i55x 发表于 2012-4-22 21:24 static/image/common/back.gif
97年用过PL/M-51的飘过。
PL/M的余孽还在,Keil C51身上还散发着PL/M的某些味道。



原来是这样   好像以前的KEIL链接文件后会申城OMF51文件或则.ABS文件然后才是转换成HEX文件的,现在没有了是吗?


PL/M是不是一款高不成低不就的超垃圾语言?要高级语言的特性不如C方便要说底层硬件操作又不如汇编?为什么现在华为公司还在用PL/M?出身年代太晚了 对过去的空白很好奇

i55x 发表于 2012-4-22 21:36:55

wszyjsw2 发表于 2012-4-22 21:28 static/image/common/back.gif
原来是这样   好像以前的KEIL链接文件后会申城OMF51文件或则.ABS文件然后才是转换成HEX文件的,现在没 ...

omf-51有几种尾缀的,lib是库文件,是浮动地址的;
obj有浮动地址和绝对地址两种,c编译器或pl/m编译器出来的是浮动地址的,asm编译器出来的是浮动地址或者绝对地址,根据你的写法不同有不同的效果。
浮动地址地址的obj们要用L51连接器进行定位,生成绝对地址的abs文件,然后转成hex。如果写绝对地址的asm文件,编译出来的obj可以直接转hex。

举例来说
mydatadata 20h
这个就是绝对地址,mydata是一个地址在20h的变量。

mydatads 1
意义与上面相同,申请一个字节的变量空间,但是mydata是一个未分配的浮动地址,具体位置是多少,要等L51连接之后才知道。

浮动地址汇编语言适合于汇编与高级语言混合编程的常识,资源利用率高。

wszyjsw2 发表于 2012-4-22 21:44:42

i55x 发表于 2012-4-22 21:36 static/image/common/back.gif
omf-51有几种尾缀的,lib是库文件,是浮动地址的;
obj有浮动地址和绝对地址两种,c编译器或pl/m编译器出 ...

以你当年的PL/M编程经验 你觉得PL/M为什么会消失?

i55x 发表于 2012-4-22 21:49:58

wszyjsw2 发表于 2012-4-22 21:44 static/image/common/back.gif
以你当年的PL/M编程经验 你觉得PL/M为什么会消失?

主要是intel停止升级,以及人们懒得学一种新语言(哪怕是很简单的)的缘故。

wszyjsw2 发表于 2012-4-22 21:54:01

i55x 发表于 2012-4-22 21:49 static/image/common/back.gif
主要是intel停止升级,以及人们懒得学一种新语言(哪怕是很简单的)的缘故。 ...

呵呵 ,原来还是因为懒得学呀             想知道你现在还用吗?在编程时部分简单和最求实时性的代码你会不会直接就用PL/M写了

i55x 发表于 2012-4-22 22:01:36

wszyjsw2 发表于 2012-4-22 21:54 static/image/common/back.gif
呵呵 ,原来还是因为懒得学呀             想知道你现在还用吗?在编程时部分简单和最求实时性的代码你会 ...

我已经十多年没摸过这个东西了。
不过尽管老,最新的IDE,如keil、万利、zlg的集成开发环境依然支持这个编程语言,原因就是OMF-51的原因,它产生的obj文件格式与keil完全兼容。

wszyjsw2 发表于 2012-4-22 22:09:27

i55x 发表于 2012-4-22 22:01 static/image/common/back.gif
我已经十多年没摸过这个东西了。
不过尽管老,最新的IDE,如keil、万利、zlg的集成开发环境依然支持这个 ...

如果AVRARM PIC这样的单片机不支持PL/M的话   他存在和不存在也没有什么区别 可是就搞不懂为什么华为海会使用这种垃圾语言

cc224 发表于 2012-4-22 22:14:57

PL/M应该是intel搞出来的吧,并不只用于51
我买过一本msc-96上用的pl/m书
它差不多就是一种高级语言,学起来麻烦,当年用的人就很少
后来c51把汇编的份额都占了这么多,pl/m和c比起来基本找不到什么优势了
华为什么的还在用这个也许是历史遗留问题吧,如果以前在pl/m上有积累的话

wszyjsw2 发表于 2012-4-22 22:19:20

cc224 发表于 2012-4-22 22:14 static/image/common/back.gif
PL/M应该是intel搞出来的吧,并不只用于51
我买过一本msc-96上用的pl/m书
它差不多就是一种高级语言,学起 ...

原来是这么着    历史确实很悲催呀    80C19680C96和PL/M路也差不多到尽头了

i55x 发表于 2012-4-22 22:19:26

cc224 发表于 2012-4-22 22:14 static/image/common/back.gif
PL/M应该是intel搞出来的吧,并不只用于51
我买过一本msc-96上用的pl/m书
它差不多就是一种高级语言,学起 ...

PL/M学起来很容易,我根本就没学过,完全是看《Intel microcontroller handbook》后面附的一段例程,就明白了他的所有语法。用ultraedit打开plm51.exe找到全部关键字一个一个地试,就全明白了,只要有高级语言基础,上手这个东西也就半天时间。

mobile01 发表于 2012-4-22 22:22:40

当年 2500AD 比较好用,keil 宏编功能惨败
各家推出的仿真器必须使用 2500AD,可惜最后也消失了{:mad:}

wszyjsw2 发表于 2012-4-22 22:33:07

i55x 发表于 2012-4-22 22:19 static/image/common/back.gif
PL/M学起来很容易,我根本就没学过,完全是看《Intel microcontroller handbook》后面附的一段例程,就明 ...

哎现在的单片机基本都不带PL/M编译器了
如果INTEL能够持续给予技术支持和更新我觉得即使用ultraedit+PL/M编译器来编译部分代码也是不错的

i55x 发表于 2012-4-22 22:38:42

mobile01 发表于 2012-4-22 22:22 static/image/common/back.gif
当年 2500AD 比较好用,keil 宏编功能惨败
各家推出的仿真器必须使用 2500AD,可惜最后也消失了 ...

{:lol:} 知道2500AD编译器的也是骨灰级人物了,您今年过40了吧?

mobile01 发表于 2012-4-22 23:55:33

本帖最后由 mobile01 于 2012-4-23 00:05 编辑



i55x 发表于 2012-4-22 22:38 static/image/common/back.gif
知道2500AD编译器的也是骨灰级人物了,您今年过40了吧?

还在用,而且使用全友ICE2500AD宏定义可达 32bit,标记定义更是没有一家做的如此智慧.
目前全世界没有一家ICE设计的比全友ICE好用{:titter:}

jetli 发表于 2012-4-23 08:25:37

膜拜各位高人,终于明白某些发黄的教科书里面的某段文字了,,,{:sweat:}
页: [1]
查看完整版本: 曾经是不是存在过一段时间用PL/M语言对51单片机编程