Posted on 7th Jun 2017 700 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 6814 views
Log Files in BASE24 classic 2450 views
BASE24 documentation to read 2102 views
BASE24 classic vs BASE24-eps 2086 views
BASE24 classic interview questions 1956 views
BASE24 classic screens examples explained 1740 views
Enabling traces in the payments simulator 1622 views
Cards and Banks Training 1361 views
EMV explained for programmers 1333 views
BASE24-eps interview questions 1267 views
BASE24 classic routing in IDF 696 views
First steps with BASE24 Classic 565 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!