Posted on 7th Jun 2017 2405 views
First program in TAL: the "hello world".
The code is below, we are going to compile it.
Compiling is done in a separate article, in this one we only focus on the code.
TAL stands fro Transaction Application Language, and you can expect that the language is sort of dedicated to working with data and processing data.
We need to explain the header here:
?nocode, inspect, symbols
This compiler directive contains 3 directives:
nocode: Lists instruction codes in octal format after each procedure
inspect: INSPECT sets the Inspect product as the default debugger for the object file
symbols: SYMBOLS saves symbols in a symbol table (for Inspect symbolic debugging) in the object file. The default is NOSYMBOLS
[break] More header:
?nolist, source $system.system.extdecs0( ? file_open_ ? file_close_ ? initializer ? writex ? process_getinfo_)
This compiler directive contains several directives:
nolist: NOLIST suppresses listing of sourced-in procedures
extdecs: EXTDECS is a file, provided by the operating system, that contains external declarations for system procedures. System procedures, for example, manage files, activate and terminate programs, and monitor the operations of processes.
?nocode, inspect, symbols ?nolist, source $system.system.extdecs0( ? file_open_ ? file_close_ ? initializer ? writex ? process_getinfo_) ?list literal maxlen = 256; proc startup_proc(rucb, passthru, message, msglen, match) variable; int .rucb, .passthru, .message, msglen, match; begin end; proc param_proc(rucb, passthru, message, msglen, match) variable; int .rucb, .passthru, .message, msglen, match; begin end; proc assign_proc(rucb, passthru, message, msglen, match) variable; int .rucb, .passthru, .message, msglen, match; begin end; proc hello_w main; begin int term_length, termnum, count; string .terminal_name[0:maxlen - 1], .sbuffer[0:maxlen - 1]; call initializer(,, startup_proc, param_proc, assign_proc,,); call process_getinfo_(,,,,, terminal_name:maxlen, term_length); call file_open_(terminal_name:term_length, termnum); sbuffer ':=' "Hello world!"; count := 12; call writex(termnum, sbuffer, count); call file_close_(termnum); end;
ISO8583 Message Types for Transaction Processing
Run the neaPay ISO8583 simulator
Log Files in BASE24 classic
Cards and Banks Training
BASE24 documentation to read
BASE24 classic interview questions
BASE24 classic vs BASE24-eps
EMV explained for programmers
BASE24 classic screens examples explained
Enabling traces in the payments simulator
BASE24-eps interview questions
PCI compliant with neapay switch
First steps with BASE24 Classic
Java version for neapay products
Ready to start your next project with us? Give us a call or send us an email and we will get back to you as soon as possible!