Posted on 7th Jun 2017 1132 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;
Run the neaPay ISO8583 simulator 9546 views
Log Files in BASE24 classic 3831 views
BASE24 classic interview questions 3409 views
BASE24 documentation to read 3374 views
BASE24 classic vs BASE24-eps 3334 views
BASE24 classic screens examples explained 2605 views
Enabling traces in the payments simulator 2307 views
EMV explained for programmers 2305 views
BASE24-eps interview questions 2255 views
Cards and Banks Training 2084 views
Working with Base24-eps vs BASE24 Classic 1298 views
BASE24 classic routing in IDF 1139 views
First steps with BASE24 Classic 966 views
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!