DIBOL Programming Language Help For Students

INTRODUCTION TO DIBOL

DIBOL is a imperative programming language, which is well suited for Management Information Systems(MIS) software development. DIBOL or Digital Interactive Business Oriented Language is a COBOL related computer programming language originally marketed by Digital Equipment Corporation (DEC) in 1970. It has FORTRAN/BASIC like syntax with BCD arithmetic. The original version was produced for PDP-8 and PDP-11 systems, though it can also be run on other systems through an emulator. DIBOL-to-COBOL compilers are also available. Synergy/DE provide mechanisms for using existing DIBOL code with new applications. Nowadays, Synergy/DE allows the development and deployment of multi-platform, web-enabled applications that integrate with e-commerce solutions, ODBC-enabled reporting tools, RDBMSs, ActiveX components, wireless devices, and other third-party applications and data. With your existing DIBOL applications, you can quickly and easily migrate to the hardware platform of your choice, add a Web or Visual Basic front end to access your existing back-end logic, migrate your application to Windows, simplify development efforts and build more powerful applications, and access existing logic and data from Microsoft .NET, Java, Visual Basic, Active Server Pages, and other COM-compliant applications.

DIBOL Example : Program to display 99 bottles of beer on the wall

RECORD MISC
    NUMBOTTLES	,D2,99			;Default # of bottles to 99
    ANUMBOTTLES	,A2			;Used to mask the output of bottles


.PROC
    XCALL FLAGS (0007000000,1)		;Suppress STOP message
    OPEN (8,O:C,"TT:")        		;Open the terminal/display
    REPEAT
	BEGIN
	ANUMBOTTLES = NUMBOTTLES,'ZX'
	WRITES (8,ANUMBOTTLES+" Bottles of Beer on the wall,")
	ANUMBOTTLES = NUMBOTTLES,'ZX'
	WRITES (8,ANUMBOTTLES+" Bottles of Beer,")
	WRITES (8,"   Take one down, pass it around,")
	DECR NUMBOTTLES	      		;Reduce # of bottles by 1
	IF (NUMBOTTLES .LE. 1) EXITLOOP	;If just 1 bottle left, get out
	ANUMBOTTLES = NUMBOTTLES,'ZX'
	WRITES(8,ANUMBOTTLES+" Bottles of Beer on the wall.") 
	WRITES (8," ")
	END
    ANUMBOTTLES = NUMBOTTLES,'ZX'
    WRITES(8,ANUMBOTTLES+" Bottle of Beer on the wall.") 
    WRITES (8," ")
    WRITES (8,ANUMBOTTLES+" Bottle of Beer on the wall,")
    WRITES (8,ANUMBOTTLES+" Bottle of Beer,")
    WRITES (8,"   Take one down, pass it around,")
    WRITES (8," ")
    WRITES (8," ")
    WRITES (8, "Hey the Beer's gone, I am out of here...")
    SLEEP 2
    CLOSE 8
    STOP
.END