os/390汇编系列:Hello,World

我们的第一个程序当然是从Hello,World开始。汇编程序跟Cobol,PLI一样,也要进过编译,链接,执行三部曲。 第一步,当然是Code你的源程序,如图。

 

接下来,对它进行编译。这里要注意的就是正确地存放Load Moudle到你的LoadLib去,

以便执行的时候找到这个模块。

  

接下来,如果编译通过(CC=0),就可以执行这个目标文件了。

下面是梦寐以求的结果,看

细心的人可能会发现为什么后面有乱码?我先告诉你那是因为我只定义了一段’Hello World,I love os/390′大小的内存,这只有十几个Bytes,但是输出是80个Bytes的,后面就自然显示内存里后面跟着的东西。 今天先到这,明天解释一下这些指令都是干什么用的,为什么单单输出一个’hello,world’要这么多指令,这里面可大有文章。

os/390 汇编系列:开始前的题外话

从10月13号起,公司安排我们在6026Training Room培训IBM MainFrame Assemble。

以前在大学里也有接触过Intel 8086体系的汇编,但当时候是入了一下门,没认真的学。更何况MainFrame的体系结构与之完全不同。汇编编程要了解硬件知识,对于全部是英文的OS/390来说是个挑战。经过这三周的培训,基本算是入了门,也可以自己写些简单的程序了,对于一些维护项目估计也就够了。

废话少说,开始。首先,为什么学汇编?

既然有Cobol,PLI这样的高级语言,为什么还要用鸟语汇编来写程序?首先除了项目需要,还有就是因为汇编它是直接操控硬件的语言,毫无疑问高效快速。编写出来的程序代码占用空间小,效率高,所以在编写一些系统程序时(例如操作系统内核、硬件驱动程序),汇编语言是第一选择。其次,因为汇编大多是对一些寄存器,内存进行操作,所以更能理解像Cobol,PLI等高级语言经过编译链接后怎么在内存里存放并且一条条指令执行的。这样的话,有利于我们对程序进行差错,特别是当一些很隐蔽的错误时,汇编就显示出它独有的优势来。

 

SQLCODE comed across on DUN system

With finishing of the DUN system, I writed down the SQLCODE comed across on DB2. 

1.SQLCODE = -540, ERROR:  THE DEFINITION OF TABLE IBMUSER.DUNBSINF IS    

INCOMPLETE BECAUSE IT LACKS A PRIMARY INDEX OR A REQUIRED UNIQUE INDEX 

意思是说建表后一定要建立相应的primary key的index 或者是unique index,某一个columm

指定为primary key后,就自动加上了unique 限制.

Read the rest of this entry »