Home
USER MANUAL.MultiClet P1 multicellular processor
Contents
1. www multiclet com USER MANUAL MultiClet P1 multicellular processor software Contents 1 User Manual on Software Installation and Uninstallation 1 1 Installation of software and documentation 224 1 2 Software and documentation uninstallation 2 User Manual on Development Environment 2 1 Framework description aia 4 248 54 22a ba Bek Saha Ss Dee Project creation bg AS ie ok oi Sh Gea A A eee a 2 3 Project c mpilation s see a wy ce Seca A tele eS we ea ge een ge hee elas 2 4 Program start on the model al LEAL EA AA A 20 Documentation ls A A E DO Connes hs acc a A sc Rs ee Be A A O OR go a 3 User Manual on Compiler C Sel L DeESErIPtHON an er ts ol Fete DAR O Al ths A ds 0 o 3 2 Preparation for Works A 4 as oes A oe ode ote a a Es 3 3 Transferring and assembling by the driver 3 4 Transfer of arguments to link editors ce alar ec Boe 3 5 Some other useful keys of compilation driver 3 6 Diagnostic messages sario O ge a 3 7 Features of the earlier version of the compiler 3 8 Programy assembling o erori w Sy te ti Se ea ere g See ok Ee a a 4 User Manual on Assembler 4 1 General information about multicellular processor 4 1 1 4 1 2 4 1 3 Program memory PM 20 29d ro a Data memory DM 2h oun cee em nt lani odan iea APS Registers ihi p gz n bs ah ee Sef ek ay
2. www multiclet com PD00001 Rev 03 12 2014 12 144 All right reserved MultiClet Corp 2010 2014 2 2 1 User Manual on Development Envi ronment Framework description The framework is based on the basis of a freeware PSPad editor http www pspad com with specific settings to work with MultiClet projects The editor has the following characteristics work with projects work with several documents simultaneously MDI saving of screen session i e at the next entry PSPad will automatically open all the files opened at the closing FTP client you can edit the files directly from web server script support record save and download scripts search and replace in the files comparison of texts with multicoloured highlighting of differences patterns HTML tags scripts code patterns installation includes the patterns for HTML PHP Pascal JScript VBScript MySQL MS Dos Perl syntax highlighting is applied automatically according to the file type highlighting styles chosen by the user for exotic syntaxes autocorrelation 13 User manual on software intellectual in built HTML preview using IE and Mozilla HEX editor of full value activation of external programs separately for every development environment external compiler with interception of output log window and parser logs for every environment create IDE effect colour highlight of syntax for printin
3. inside of an assembler there are no counters of a current place in subsections Counter of a current place of a section in which instructions are being assembled at the P g moment is called active counter of a place Section bss is issued as a place for storing global variables For this section by using command lcomm it is possible to substract address space without specifying which data will be loaded into it prior to program execution At the time of beginning of program execution the content of section bss is filled with zeros 4 3 4 Symbols Symbols identifiers variables and so on are used in an assembler for naming various con tents 4 3 4 1 System of symbol names System of names in an assembler is built up according to the following principle names may consist of capital and block Latin letters digits underlining symbol _ and stop symbol only and the name may not begin with a digit Capitalization of letters in a name is taken into account 4 3 4 2 Labels A label is defined as a symbol which is followed by a two spot This symbol represents current value of an active counter of place depending on the currentsection text data bss Redefinition of labels in an assembler is not admissible www multiclet com PD00001 Rev 03 12 2014 44 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 3 4 3 Symbols with absolute va
4. ters IRETADDR IHOOKADDR are used by program algorithm In memory of multicellular processor fixed zone to place interrupt handler Developer may place interrupt handler any where in address area of progra memory In case of interruption the core will be trasmitted to the address written in register IHOOKADDR At this addess developer may place initial interrupt handler which can imlement dispatching and transmit the program to a needed address where there is concrete interrupt handler Return address is automatically saved in register IRETADDR developer has a full access to it Interrupt hadling procedure In case of interruption interrupt controller determines priority interrupt and forms a signal which leads to installation of a relevant bit of register INTR The whole program is devided into paragraphs At the time of paragraph execution all interruptions are prohibited except nonmaskable which may interrupt the work of processor core at any time After paragraph completion transmission to the intial address of interupt handler may occur if there was an interrupt request interruption is not maskable relevant bit of register MSKR is set and there is no global interrupt prohibition bit ONIRQS in register PSW The address of the next paragraph is automatically written into register IRETADDR into register INTNUMR the number of requested interruption and global interrupt prohibition is installed The core is transmi
5. 11 12 with commands rdq two 64 positioning integer unsigned digits are being read from data memory by addresses B and B 8 and accordingly are placed into a commutator in the line No 13 with a command mulc multiplication operation of the exe cution result of a previous command is being calculated 1 the result of an execution of a reading command in the line No 11 2 the result of an ex ecution of a reading command in the line No 12 both arguments of command www multiclet com PD00001 Rev 03 12 2014 100 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software mulc in accordance with suffix c are interpreted as complex 64 bit numbers that is why multiplication operation is performed in accordance with complex arith metic rules the result of a command execution is interpreted as a 64 positioning complex digit and is placed into a commutator in the line No 15 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 101 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 31 norm NORmalization Normalization norm ARG Assignation calculation operation of displacements reqired amount for fixed point number s normalization Syntax norm sb sl IR GPR CR Figure 4 46 Syntax description of command norm Occurrence of the
6. User manual on software 4 4 4 47 xor XOR Logical addition xor ARG1 ARG2 Assignation operation of two argument s logical addition under mod2 Syntax Figure 4 62 Syntax description of command xor Occurrence of the result yes Algorithm of work implement logical addition on mod2 ARG1 ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 121 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 5 Instruction system of assembler All assembler commands have the names beginning with a dot symbol which is followed by Latin symbols in general in lower case 4 5 1 alias name value A command alias serves for replacement of often used constants key words statements and expressions by some identifiers Each alias shall be declared in one line prior to the first use Alias value consists of any symbol set and begins with the first nonblank character which follows the name and ends either with the end of the line or with a symbol or beginning of a single line commentary Redeclaration of alias value is admissible This command replaces any further occurrences of identifier name to its value 4 5 2 align abs expr abs expr abs_ expr The command align serves for incr
7. Welcome to the MultiClet SDK Uninstall Wizard This wizard will quide you through the uninstallation of MultiClet SDK Before starting the uninstallation make sure MultiClet SDK is hot running Click Next to continue Ca To continue installation press Next button On the second step a window of MultiCletSDK removal confirmation appears www multiclet com PD00001 Rev 03 12 2014 10 144 All right reserved MultiClet Corp 2010 2014 User manual on software MultiClet SDK Uninstall Uninstall MultiClet SDK Remove MultiClet SDK From your computer MultiClet SDK will be uninstalled from the Following folder Click Uninstall to start the uninstallation Uninstalling From C MultiClet oa To confirm MultiClatSDK removal press Remove button In the process of removal the progress of files removal will be displayed MultiClet SDK Uninstall Uninstalling Please wait while MultiClet SDK is being uninstalled Delete File C MultiClet SDk shell Convert US chars to HEX form ini 7 Show details On completion press Close button At this point the process of the product removal is supposed to be done www multiclet com PD00001 Rev 03 12 2014 11 144 All right reserved MultiClet Corp 2010 2014 User manual on software MultiClet SDK Uninstall Uninstallation Complete Uninstall was completed successfully Completed
8. all processor blocks are termination of decoding of the preceding command by all processor blocks reading and location of the next command in command register by all processor blocks every processor block has its own command register Fetching and decoding of commands continues until the last command of the paragraph is fetched The address of the new paragraph can come either at any moment of command fetching of the current paragraph or on completion of command fetching It comes to all processor blocks simultaneously If at the moment of fetching of the last command of the paragraph the address of the next paragraph is not calculated fetching suspends until the address is received If on completion of all commands of the paragraph the address of the next paragraph is not formed processor switches to the wait state of start signal external reset wait www multiclet com PD00001 Rev 03 12 2014 38 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 2 General information about assembler The assembler given id used to code programs for multicellular processor The assembler has the following characteristics e use of separate command memory for every processor block cell and of the general data memory e 32 bit addressing of command memory e 32 bit addressing of data memory Assembler can be started on IBM PC compatible computers having the following character istics e
9. 1 3 2 Index registers Are used for indirect addressing Logical structure of the index register is shown in fig 4 4 63 48 47 32 Bl o Index Index Mask Mask Base Base Figure 4 4 Index register structure To address to any of the registers of this type numbers from 32 to 39 are used The registers of this type have no names In general case see exclusions in the description of a specific command in the chapter Assembler command system when using the register of the given type as an operation argument the value of this argument is formed according to the following algorithm 1 calculation of the effective address according to the following formula Address Index Base www multiclet com PD00001 Rev 03 12 2014 27 144 All right reserved MultiClet Corp 2010 2014 User manual on software 2 addressing to data memory at the effective address Address for reading writing the argument value according to the type of the command used Modification of index register value is done by hardware on completion of the paragraph in case the appropriate MODR register bit of mask of switching index registers is set see chapter Control register according to the following formula Index Index Mask 1 amp Mask where is an operation of bit by bit OR amp is an operation of bit by bit AND is an operation of bit by bit conversion Two formulae given
10. 4AA D E RAS Be bok Se ee we ee eh 81 Mel Ae jae f NG on et ates Ai eee es e e Boe we Bok BA be eS 82 4 4 4 14 Ue 8 as e a ee ee ee ee eS 83 4AA T5 0G 42 kebab eee Dee ee eee he hee be hoe rede 84 AS JE ae do otis he a BO A AR a AE E 85 A JE s sare ppa ee Gee ee Se ee Se ee Se ee ES 86 HA a a naaa ee ee Oe a 87 BAA Ws ote Oe Ge en Ae oe Oe See ee ee Ee 88 A 6h ke GS eh Ss eee ROG ee a E GREER ASN SES 89 AA JM sos na Be ce Sh es ee ee ee SOE E 90 AAA OO Mesias tegen a AY ODS i oD aoe BSR ee E 91 AMAIA MO a RA Bs BO GB A ee BO ES 92 AA AOA UE dr e oe ee ek a ee eh g 93 AAA DD TD cuac 94 AAD OG Ws ok eee oh SER REA amp ESR ESE SR OES RES 95 MAA OT madd schrieb e 96 AAA DS MAX a hed ee A Eo See ee eS 97 44429 MI er aa es ho ene Ge oe be ae es a a OS 98 AAA ml e 322 eke Gudea we k ke a ee RE ae eS eR 99 AAA BU DOM an BER EA Eee Se Se Se AREA 102 AAD De MOS 2 2 4 r r BSA BY Owed ps BS EH G 103 AA Ol of tee eh Bs A a oe BR OR e 3 A 104 www multiclet com PD00001 Rev 03 12 2014 3 144 All right reserved MultiClet Corp 2010 2014 User manual on software AA Pack eor s srd t a BEd See gaiean See yi Se ee ES 105 4 44 35 patoi s sogra se ra poed diens A 106 AAA SO NE e SS E RA RI e A 107 AAA ST TOL rarer 35 eerie A Em RES E 110 AAAS FOL a r lad ee ee he ee A RE aao we WO 111 AAA AE Bo a eK ds a ee O Hoe Boe gh Seok Be ee amp ae 112 4 4 4 40 sbb do ee Ghd e ee ee e AE AAA 113 E AEREA 114 AAAA cll sal gh
11. OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 104 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 34 pack PACK Package pack ARG1 ARG2 Assignation operation of packed number formation Syntax Figure 4 49 Syntax description of command pack Occurrence of the result yes Algorithm of work form 64 bit result value highest 32 bit from 32 to 63 of which are equal to lowest 32 bits from 0 to 31 argument ARG1 and lowest 32 bits from 0 to 31 highest 32 bits from 32 to 63 argument ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SEF CF OF ZF r 0 0 f www multiclet com PD00001 Rev 03 12 2014 105 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 35 patch PATCH Patching patch ARG1 ARG2 Assignation operation of patched number formation Syntax Figure 4 50 Syntax description of command patch Occurrence of the result yes Algorithm of work form result value highest 32 bit from 32 to 63 of which are equal to lowest 32 bits from 0 to 31 argument ARG1 and lowest 32 bits from 0 to 31 to lowest 32 bits from 0 to 31 argument ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command exec
12. Windows Catalog 4D Windows Update Internet Internet Explorer By Accessories E Games E Startup gt E mail a outlook Express y Editor PSPad Internet Explorer Wi msn A MSN L Outlook Express gt Remote Assistance E Windows Media Player 8 Windows Messenger Windows Movie Maker GB Kaspersky Internet Security 2013 a on COM Port Toolkit 33 Windows Messenger Tour Windows XP Projects MulkicletsDk All Programs mM J 5 Uninstall MulticletSDK To start work choose a necessary point in the menu e MultiCletSDK documentation MultiCletSDK folder MultiCletSDK projects Create a project Remove SDK PSPad editor launching PSPad editor www multiclet com PD00001 Rev 03 12 2014 9 144 All right reserved MultiClet Corp 2010 2014 User manual on software 1 2 Software and documentation uninstallation Software and documentation uninstallation further on MultiCletSDK is carried out by a specially developed uninstaller To begin the uninstallation process start uninstall exe file which is located in the Multi CletSDK installation directory or choose a point MultiCletSDK Remove MultiCletSDK in the Start menu After starting the uninstallation process a hello message window appears with brief infor mation about the product uninstalled MultiClet SDK Uninstall
13. a command word according to a formulae I Riase F HI Rindezr V32 For exceptions from the rules of formation of command arguments and their interpretation ref to description of a certain command 4 4 3 2 Rules of formation of command results In general command form a result saved in a commutator The size of a value of any command corresponds to the size of a commutator 64 bits The result is terminated with values of indicators Table 4 13 Result flags Flag Description ZF Zero Flag Is set in case when all bits of result command are equal to zero OF Overflow Flag Is set in case of significant bit s loss CF Carry Flag Is set in case when com mand s result goes beyond word length www multiclet com PD00001 Rev 03 12 2014 52 144 All right reserved MultiClet Corp 2010 2014 User manual on software SF Sign Flag Is set equal to com mand result most signifi cant signed bit s value Result indicators are set depending upon the operation type and may have a value not for each command More detail information you may find in description of a certain command 4 4 4 Description of commands 4 4 4 1 abs ABSolute value Absolute value abs ARG Assignment operation of calculation of an absolute value of an argument Syntax abs sb sl f IR GPR CR FH Figure 4 16 Syntax description of command abs Occurr
14. a commutator Condition of result indicators after a command execution SF CF OF ZF r T r r www multiclet com PD00001 Rev 03 12 2014 112 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 40 sbb SuBtract with Barrow Carry Flag Subtraction with borrow sbb ARG1 ARG2 Assignation operation of integer valued subtraction with account of carry flag CF of the previous command s subtraction sub Syntax sbb b 1 Figure 4 55 Syntax description of command sbb Occurrence of the result yes Algorithm of work implement subtraction from argument s value ARG2 carry flag value CF argu ment ARG1 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r r r r www multiclet com PD00001 Rev 03 12 2014 113 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 41 set SET Installation set ARG1 ARG2 Assignation operation of register s value installation IR GPR CR Syntax _ set b sb l sl q Figure 4 56 Syntax description of command set Occurrence of the result yes Algorithm of work install register s value set by argument ARG1 equal to argument s value ARG2 size 1 bite signed or unsigned word signed or unsigned doub
15. a size value Size and value are optional If the second comma and value are missing value equals 0 If the first comma and following tokens are missing the size equals 1 4 5 19 float flonums float is a synonym of a command single and presupposes zero or more numbers with a floating point separated with commas This command may be located in sections data and bss Each digit is a 32 positioning value and is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If a floatnum value is not specified the value 0 is presupposed 4 5 20 global names globl names global sets linking attribute of each symbol which are separated with commas from the names list to the value GLOBAL as a result of which in the process of linkage the symbol will be viewable for all object files If the symbol does not exist it will be created This digit in the process of performance is a result of this expression calculation The calculated 16 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly add
16. above use integer 32 bit arithmetic The values of 16 high order bits from 16 to 31 Index field Index and Mask field Mask are filled with zeroes 4 1 3 3 Control registers Processor contains the following control registers Register Register name Access Description number rights 48 PSW R W register to control calculation process 49 INTR R W Interrupt register 50 MSKR R W Maskable interrupt register l ER R Exception register 52 IRETADDR R Return address register 53 STVALR R W System timer period register 54 STCR R W System timer control register 55 IHOOKADDR R W Primary interrupt handler register 56 INTNUMR R Interrupt number register T MODR R W Register of index register s modification mask 4 1 3 4 PSW register to control calculation process Calculation control register is used to control calculation process www multiclet com PD00001 Rev 03 12 2014 28 144 All right reserved MultiClet Corp 2010 2014 PSW Bit number Operations Initial state Description User manual on software 2 w E Reserved SUSPEND RESERVED Figure 4 5 Structure of calculation control register Function of stages of register For all the stages of register 0 absence of any feature or event 1 presence of any feature or event 0 Handling of masked interruptions The feature does not block the
17. an www multiclet com PD00001 Rev 03 12 2014 57 144 All right reserved MultiClet Corp 2010 2014 1 TICLET User manual on software assembler command long into a current assembly section on current address of assembly in the line No 14 a current assembly section a section of executed instructions text is set with an assembler command in the line No 16 a symbol indicator D is declared which is an indicator in a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the lines No 17 18 19 20 with commands rdl four 32 positioning integer unsigned digits are being read from data memory by addresses A A 4 B B 4 correspondingly and are placed into a commutator in the line No 21 with a command addl the results of execution of two previous commands are added 3 the result of execution of a reading command in the line No 18 1 the result of execution of a reading command in the line No 20 both arguments of a command addl in accordance with siffix I are interpreted as 32 positioning integer unsigned digits the result of execution of a command is also interpreted as 32 positioning integer unsigned digit and is placed into a commutator in the line No 22 with a command addl the results of execution of 2 previous commands are addes 5 the result of execution of a reading command in the line No 17 Q3 the result
18. cde ed baie ESS dr ES 116 damas SM 25 esa a e OR AROSE oS Ee Se ELE SERS 117 ALA Sg dora thee ae a a 3 es Boe eRe eee ye e 118 4AAA5 Ue bo E ea Be Se AR a ee ee G 119 BAG WE scoe Oh we ek pe Oe es Ge Be we oe BS oO a a 120 AAA AL ROU Gs x amp 4 bm Sb oe eee ee ee dw Go we HR eS 121 4 5 Instruction system of assembler o 122 dk MS ae ow ue oO ee BY ee Be Bed ad eee ees 122 A a A Be BL As es e BR es Bok BO She eS 122 Aa ceive we ok a oe a ee ee AA tg a 123 AGA ABE op cc no ae eG A A 123 da Ds di tk ee A wee A a A a ee we 123 ADO PE 123 Bee COMM a aa es A OL ee a ay 123 45 8 ts Ok ete Eh e ae ee Os eo ae AS ee ae ae 124 Ao BE ko tk ak a a See ee e Oo oe de ER AE ES 124 ADIO Sele s Kurs a sh ace ye oe a Boe oe Be ee ee Oe Se OS a 124 ALL OM Ss em hee EM HP ie OH Se OS a dike bw Ste BER e 124 ALI SEI e oe eS shee RNE RS Bd es BOR A e 124 SG sedi a o ade ve au We Oe eh ek ee e eg 125 AGAA CQWIY osa aria 125 ADALO SEU ALEA RBA EES RECESS OSES Ee ESE 125 AMG SUE foe MESES EK AAA AAA BHR ERS 125 Agel JEUNE x a 43 ice Xa ee Ok A OE A ek 125 Ao dl is Gh e te a eo ee Go we es ee ee ee a eS 125 La LO SGA 6 x te Bee ee ee Se Gk a A a ee eH a 126 45 20 ODA COD can Be he BED oe Se EP Ee Se Oe Re SS eee SS 126 ADIL A Os BSS A E HESS SS OD Hd Roe Som OSS CS 126 45 22 GMI RR Ge a A ee Re SRR e SOR me 128 All right reserved MultiClet Corp 2010 2014 A523 COM sd amp Bare ee Bere a GO
19. constants 4 3 2 1 Numeric constants The following variants of numeric constants representation are possible in the assembler 1 in the form of hexadecimal number This number starts from prefix 0x or 0X followed by one or more hexadecimal numbers 0123456789abcdefA BCDEF To change the sign use a prefix operator 2 In the form of octal number This number starts from the zero number followed by one or more octal numbers 01234567 To change the sign use a prefix operator 3 In the form of binary number This number starts from the prefix 0b or 0B followed by one or more binary numbers 01 To change the sign use a prefix operator 4 In the form of decimal number This number starts from nonzero number followed by one or more decimal numbers 0123456789 To change the sign use a prefix operator 5 In the form of real decimal number with floating point written in the following format www multiclet com PD00001 Rev 03 12 2014 40 144 All right reserved MultiClet Corp 2010 2014 LTICLET User manual on software a starting with the prefix 0f or 0F b further optionally comes the number sign or c further optionally comes the integer part of the number consisting of zero or more decimal numbers d further optionally comes the fractional part of the number starting from the dot sign and cons
20. flc MC bld lcc lecdir Wm M lcc multiclet symbolic tst factorial c A CRTDIR crt0 o o fact img 3 5 Some other useful keys of compilation driver S driver will provide only transferring of source files to C to MCp processor assembler Other construction stages of the executable will not be held 3 6 Diagnostic messages As the compiler front is built on the basis of LCC the diagnostic messages connected with lexical syntactic and semantic correctness of the source program are standard for this system They are quite detailed and informative For more detailed information see the instructions on the site http www cs virginia edu lec win32 Compiler code generator can also display diagnostic messages connected with the current particularities of its realization The list of messages for the current version is as follows www multiclet com PD00001 Rev 03 12 2014 19 144 All right reserved MultiClet Corp 2010 2014 1 User manual on software lt coordinates in source texts gt expression is too complex please consider to decom pose it this message is displayed if the compiler did not manage to put the expression in the specified position in the source texts file line within the restrictions imposed to the structure of the paragraph The problem will be solved in the next versions 3 7 Features of the earlier version of the compiler The current compiler versio
21. in the line No 4 argument of a command abssb in accordance with suffix sb is interpreted as integer sign with the dimension of a bite the result of command execution in interpreted as integer sign with the dimension of a bite and is located into a commutator with a set indication of overflow OF since www multiclet com PDO00001 Rev 03 12 2014 54 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software Pe EE the value 128 overruns word size of a sign integer digit with the dimension of a bite in the lines No 6 7 other variants of usage of command abs are shown in the line No 8 with a command complete a current paragraph is finished www multiclet com PD00001 Rev 03 12 2014 55 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 2 adc ADdition with Carry Addition with carry adc ARG1 ARG2 Assignation operation of integer valued addition with consideration of carry indica tion CF of the result of previous addition by a command add Syntax gt adc b Figure 4 17 Syntax description of command ade Occurrence of a result yes Algorithm of work perform addition of carry indicator values CF argument ARG1 with a value of argument ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators
22. multicellular processor command 4 4 3 1 General rules of formation of command arguments and their interpre tation In general the commands may be two argument one argument and without arguments According to the syntax description puc 4 15 as the first argument of a two argument command the result is always used This is the result of execution of one of 63 previous commands which is located in a commutator and is specified with a reference to this value the second argument of a two argument command or an argument of a one argument com mand may be specified using one the following variants www multiclet com PD00001 Rev 03 12 2014 51 144 All right reserved MultiClet Corp 2010 2014 User manual on software e using the result of execution of one of 36 previous commands which are located in a commutator and specified with a reference to this value e using the value of a general purpose register 4GPR or a value of control register CR e using a value decoded from data memory by the address calculated on the basis of a value of an index register R according to the formulae I Rbase I Rinden e using a raw value specified in a command word with dimension of bites V8 and word V32 according to the type of a command e using a value decoded from data memory by the address calculated on the basis of a value of index register 4 R and a raw 32 positioning value specified in
23. on assembly stage is by default always equal to zero Value of this attribute may be changed with the help of an assembler command size The symbol appurtenance attribute to some section is set by an assembler automatically depending on the current assembly section In other words this attribute shows in which section the symbol is defined 4 3 5 Expressions Expression defines an address and a numeric value The result of a n expression shall be an absolute digit or a dislocation in a certain section www multiclet com PD00001 Rev 03 12 2014 45 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 3 5 1 Empty expressions An empty expression has no value it is just a space In case if there is no expression in such a place of a source code where it is needed an assembler uses zero value 4 3 5 2 Integer expressions Integer expressions is one or more arguments separated by operators 4 3 5 3 Arguments Symbols identifiers digits or subexpressions may act as expression arguments A value of a symbol in any section secName is a dislocation in relation to the beginning of this section Sections text data bss and an absolute ABS and an undefined UND may act as a section secName A value is a 32 positioning integer value with a digit in two s complement Digits usually are integer If an expression consists of one argument which is a digit with a floatin
24. recommended to equalize the data to 8 byte Addressing of data memory for 4 segments is shown in fig 4 3 DM1 DM2 Address deposition 0x00000 0x00000 0x00007 0700008 0x0000f 0200010 0x00017 0x00018 0x0001 f 0x00020 0x00000 0x00007 0700008 0x0000f 0x00010 0x00017 0700018 020001f 0x1ffe0 0200000 0200007 0200008 0x0000f 0200010 0200017 0200018 020001f Figure 4 3 Data memory structure www multiclet com PD00001 Rev 03 12 2014 26 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 1 3 Registers Multicellular processor contains the following registers e General Purpose Registers GPR e Index Registers IR e Control Register CR All the registers listed above are 64 bit Addressing to registers is done according to their number or name which are preceded by a sharp symbol The total amount of registers is 64 All commands of all processor devices when being decoded have a simultaneous reading access to all the registers Recording to the registers is also executed simultaneously on completion of the current paragraph Register numbering is continuous and starts from Zero 4 1 3 1 General purpose registers Used as a scratchpad memory To address to any register of this type use numbers from 0 to 7 Registers of this type have no names Interpretation of register value depends on the command type 4
25. result yes Algorithm of work calculate required amount of displacements for fixed point number s normaliza tion set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF 0 0 0 r www multiclet com PD00001 Rev 03 12 2014 102 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 32 not NOT Logical negation not ARG Assignation operation of arguments s logical negation Syntax IR GPR CR Figure 4 47 Syntax description of command not Occurrence of the result yes Algorithm of work implement logical negation ARG1 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 103 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 33 or OR Logical addition or ARG1 ARG2 Assignation operation of two arguments logical addition Syntax Figure 4 48 Syntax description of command or Occurrence of the result yes Algorithm of work implement logical addition ARG1 ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF
26. results of subexpressions As a result of performance of any logic operation 1 returns in case if the result is correct and 0 returns if the result is not correct www multiclet com PD00001 Rev 03 12 2014 48 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 Command system of assembler A command of a multicellular processor as any another one in general is an encoded according to a number of rules instruction for a processor for execution of some operation with a number of operands In a multicellular processor there are short instructions 32 bites and long instructions 64 bites The instruction of a multicellular processor has encoded inside of it operation code which defines the action which the processor shall execute operation suffix which defines the rules of formation of operation operands type of operation which defines the size of operands and interpretation of their values a set of data value of a reference to the result of a command value of a reference to the case raw value necessary for formation of operands other data necessary for execution of operation and actions connected with an opera tion 4 4 1 Convention as AS1 AS2 stands for a reference to the result of a command which is saved in a communicator in relation to a current command ref to section Commutator R stands for a reference to the case ref to
27. to 63 are ignored Condition of result indicators after a command execution SF CF OF ZF Y 0 0 r Application command rd is used for value reading signed and unsigned from data memory During signed value reading multiplication of signed bit is implemented to reach the size of commutator As far as possible given command should be found in the beginning of the paragraph Example 1 data 2 3 A 4 long 1 2 5 6 text 7 8 B 9 rdl A 10 rdl A 4 11 addl 1 2 12 wrl 1 A 8 13 complete Explanation of an example in the line No 1 with an assembler command data a current assembly section is set which is the section of initialized data in the line No 3 a symbol indicator A is declared which is an indicator in a current assembly section data and is initialized with a current assembly address value in the line No 4 with an assembler command long into a current assembly section 32 bit digit 1 is set followed by plus 4 byte 32 bit digit 2 www multiclet com PD00001 Rev 03 12 2014 108 144 All right reserved MultiClet Corp 2010 2014 U j TICLET User manual on software in the line No 6 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 8 a symbol indicator B which is an indicator in a current assembly section text and is initialized with a current assembly address value a
28. without explicit initialization of value if the initial value is specified it will be ignored To reserve a desired size uninitialized memory block without switching current assembling section the following assembler directives can be used lcomm and comm Usage of directive text in the source code of the program switches the current assembling section to the section text In this section the executable program instructions are stored www multiclet com PD00001 Rev 03 12 2014 135 144 All right reserved MultiClet Corp 2010 2014 User manual on software which are in the process of program download are located in the program memory of the processor The distribution of executed instructions between processor units Each processor block has its own program memory is completed at the stage of program packaging by linker Tags can be installed in each of the above sections Tag is defined as a character followed by a colon Tags are used as address of data memory or program memory For example tag set in section data or bss may be used in the read and write processor commands and the tag set in the section text is used in next paragraph s address seek commands In addition if the current assembling section is the section of executable instructions text then the tag is interpreted as the beginning of the section Tags are not allowed within a paragraph if a tag is specified in a paragraph
29. www multiclet com PD00001 Rev 03 12 2014 66 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 6 clf Convert Long to Float Type conversion clf ARG Assignation operation of a type conversion Syntax IR GPR CR Figure 4 21 Syntax description of command clf Occurrence of the result yes Algorithm of work implement transformation of signed 32 bit integer number set by argument ARG into a number with floating point set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r Application a command cfsl is used to convert with preliminary round off to the nearest integer operand value an interpreted as real valued digit of short precision to a signed integer 32 positioning digit www multiclet com PD00001 Rev 03 12 2014 67 144 All right reserved MultiClet Corp 2010 2014 User manual on software 1 2 3 4 clf 1394 5 wrl 1 0 6 complete Explanation of an example in the line No 1 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 3 a symbol indicator A which is an indicator in a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the lin
30. 014 22 144 All right reserved MultiClet Corp 2010 2014 j TICLET User manual on software mc ploader image bin e performed on the functional model To do this execute for example the following command in the command line mc model dump raw dump addr Y dump long dump length 4 A dump from 0x00000088 Y dump to 0x00000488 Y image bin Options lt dump from and dump to specify the initial and final addresses of data memory block the contents of which are to be sent to the printer Beginning from the address 0100000088 in data memory the line editor located the array the elements of which as a result of executing the program will be sorted out by their growth To find the description of all options of the functional model launch execute the com mand in the command line mc model help www multiclet com PD00001 Rev 03 12 2014 23 144 All right reserved MultiClet Corp 2010 2014 4 A 1 User Manual on Assembler General information about multicellular processor A multicellular processor core is the first processor core with an unprecedented new multi cellular architecture developed in Russia A multicellular processor is intended for solving a wide range of control problems and digital processing of signals in applications requiring minimum energy consumption and high performance A multicellular processor consists of 4 cells
31. 0f 1 78 0f0 19 7 8 text 9 10 A 11 rdq B 12 rdq B 8 13 insubp 1 2 14 wrq 1 B 16 15 complete Explanation of an example in the line No 1 with an assembler command data a current assembly section is set which is the section of initialized data in the line No 3 a symbol indicator B is declared which is an indicator in a current assembly section data and is initialized with a current assembly address value in the line No 4 with an assembler command float into a current assembly section 4 32 bit real valued numbers are set beginning from current assembly address a symbol of a reverse slash in the end of a line is used to continue a line i e the lines No 4 5 6 are logically a one line in the line No 8 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 10 a symbol indicator A is declared which is an indicator in a current assembly section text and is initialized with a current assembly address value begins new paagraph in the lines No 11 12 with commands rdq two 64 positioning integer unsigned digits are being read from data memory by addresses B and B 8 and accordingly are placed into a commutator in the line No 13 with a command insubp reverse subtarction operation of the execution result of a previous command is being calculated 1 the result of an execut
32. 2014 76 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software in the line No 8 with a command getq earlier saved in commutator value is being saved that is previous command s implementation result is being performed with flag values upgrade 4 the result of an extraction command in the line No4 in the line No 9 with command complete current paragraph is being completed www multiclet com PD00001 Rev 03 12 2014 77 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 11 insub INversion SUBtract Inverse subtraction insub ARG1 ARG2 Assignation operation of inverse subtraction of two arguments Syntax insub b sb 1 sl f p c Figure 4 26 Syntax description of command insub Occurrence of the result yes Algorithm of work implement subtarction ARG2 ARG set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r r r T Application command insub is used for inverse subtraction of operands meaning of which is interpreted in accordance with operation type Example 1 data 2 3 B www multiclet com PD00001 Rev 03 12 2014 78 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 float 5 0f12 8 Of 5 6 6
33. Bs cg Search R D 4 1 3 1 General purpose registers o ooa oa 10 13 13 15 15 15 16 16 17 17 18 18 19 19 19 20 20 4 1 3 2 Index registers eds OS Boece hee ee ee we eS 27 4 1 3 3 Control registers 25 ol wk e RA RA eH HS 28 4 1 3 4 PSW register to control calculation process 28 4 1 3 5 INTR interruption register o 30 4 1 3 6 MSKR register of interruption mask 31 4 1 3 7 ER error register 200 a AA 32 4 1 3 8 IRETADDR register of return address 33 4 1 3 9 STVALR register of system timer period 33 4 1 3 10 STCR register of system timer control 34 4 1 3 11 THOOKADDR register of initial interrupt handler 35 4 1 3 12 Interrupt number register INTNUMR 36 4 1 3 13 MODR register of modification mask of index registers 36 4 1 4 SN op 4d bees 37 4 1 5 Command fetching i 224524h65 2452 504f6 bbe 02 3 38 4 2 General information about assembler o 39 4 2 1 Assembler start and command line options 39 4 3 Basic terms of the language oo corsa dore eae Ee ee RD 40 43 1 Comments o soe s 26 4 44 eb Ra RO A ee es 40 43 2 COMSISO S seins tds 40 4 3 2 1 Numeric constants rios ss 26 6 os3 40 4 3 2 2 Symbolic literal constants o lt oo 41 o TOR AN 42 4 3 3 1 Subsections 4 4 E Aa AA bes 43 ABA DIMbO S esa e e a 44 4 3 4 1 System of symbol name
34. Corp 2010 2014 User manual on software 64 positions starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement 4 5 37 text subsection text signals an assembler on the necessity to assemble all following instructions into the end of subsection text with a number of subsection Subsection value shall be an absolute expression If a subsection value is not specified a value of 0 is presupposed 4 5 38 type name type type sets a type attribute of nem symbol which is equal to type value Sustainable types admissible type values STT NOTYPE type of name symbol is not defined STT OBJECT type of name symbol is a data object section data bss STT FUNC type of name symbol is a function section text STT COMMON type of name symbol is a common data object section bss 4 5 39 warning string When assembling this command a warning with the text string is output into the error output This command may be used for error signaling in a conditionally compiled code block when using the commands of conditional compilation 4 5 40 weak names weak sets a linking attribute of each symbol separated with commas from names into the valuexWEAK as a result of which in the process of linkage the symbol will be viewable for all object files If t
35. PD00001 Rev 03 12 2014 119 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 46 wr WRite Writing wr ARG1 ARG2 Assignation operation of value writing in data memory Syntax wr b sb l sl q Figure 4 61 Syntax description of command wr Occurrence of the result yes Algorithm of work write depending on command type value size 1 byte signed or unsigned word signed or unsigned double word set by argument ARG1 into data memory with the address set by argument ARG2 Interpretation of arguments values in accordance with above described work algorythm first argument s value is interpreted as it is is directly used second ar gument s value is always interpreted as data memory address where first arguments writing is implemented In other words given command always addresses to data memory inspite of formation type second argument value If previous command s re sult is used to form argument s value that is the link for comutator is used S or values of general purpose register GPR and control register C R then highest 32 bits from 32 to 63 are ignored Application command wr is used for both signed and unsigned value writing into data memory As far as possible given command is to be set at the end of the paragraph www multiclet com PD00001 Rev 03 12 2014 120 144 All right reserved MultiClet Corp 2010 2014
36. Rev 03 12 2014 122 144 All right reserved MultiClet Corp 2010 2014 L LTICLET User manual on software 4 5 3 ascii string ascii presupposes zero or more string literals separated with commas This command may be located in sections data or bss Each string without final zero byte is located sequentially in the initialized area of data memory section data starting from the current assembly address If a command is located in section bss only the value of the current assembly address changes without actual data placement 4 5 4 asciiz string asciiz presupposes zero or more string literals separated with commas This command may be located in sections data or bss Each string without final zero byte is located sequentially in the initialized area of data memory section data starting from the current assembly address If a command is located in section bss only the value of the current assembly address changes without actual data placement 4 5 5 bss subsection bss signals an assembler on the necessity to assemble all following instructions to the end of the subsection bss with the number of a subsection A subsection value shall be an absolute expression If a subsection value is not specified the value 0 is presupposed 4 5 6 byte expressions byte presupposes zero or more string literals separated by commas This command may be located in sections data or bs
37. STCR STCR register of system timer control Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 a1 10 9 s 7 6 5 4 3 2 1Jo Operations R 0 RW R 0 Rw Rw rw Initial state 0 0 0 ololo Description ale Z z Reserved PREDIV Reserved 2 8 a Figure 4 11 Structure of control register of system timer Purpose of stages of register 0 Permission of counter work 0 prohibited 1 permitted www multiclet com PD00001 Rev 03 12 2014 34 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 1 2 3 7 8 15 16 31 4 1 3 11 Permission of timer cycling work if the cycling work is prohibited the timer will switch off after one period bit 0 of the given register will be set to lt 0 0 prohibited 1 permitted Attribute of period count completion set in STVAL in accordance with given attribute interruption from timer processing request is being implemeted 0 prohibited 1 permitted Reserved Value of counter predivisor System frequency is divided by the value specified in the given bits The frequency divided is the clock frequency for the timer counter Reserved TIHOOKADDR register of initial interrupt handler Register of initial interrupt handler is used to keep the address of the program memory of the initial interrupt handler Structure of register of initial interrupt handler is shown in fig 4 12 THOOKADDR Bit nu
38. _ IR GPR CR Figure 4 20 Syntax description of command cf sl Occurrence of the result yes Algorithm of work implement round off of a real number single precision set by argument ARG2 to proximal integer implement round off of a real number single precision to signed 32 bit integer number set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 r r www multiclet com PD00001 Rev 03 12 2014 64 144 All right reserved MultiClet Corp 2010 2014 User manual on software Application command cfsl is used for transformation with preliminary round off to the nearest integer operand value an interpreted as real valued digit of short precision to a signed integer 32 positioning digit 1 2 3 4 clf 1394 5 wrl 1 0 6 complete Explanation of an example in the line No 1 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 3 a symbol indicator A which is an indicator in a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the line No 4 with a command cfsl an operation of conversion is being per formed with integer unsigned 32 bit number 1394 to the real valued short precision number in the line No 5 with a
39. after a command execution SF CF OF ZF r r r r Application command adc is used by addition of long integer digits As distinct from similar commands of most other processors a command adc of a multicellular processor adds a value of a second argument with 1 if a carry indicator CF of the first argument is set otherwise just a value of the second argument returns as a result www multiclet com PD00001 Rev 03 12 2014 56 144 All right reserved MultiClet Corp 2010 2014 User manual on software Example 1 x 2 Program of two 64 bit numbers addition 3 x 4 5 data 6 7 A 8 long 0x00010203 0xAABBCCDD 9 B 10 long 0x04050607 OxEEFF0908 11 C 12 long 0x00000000 0x00000000 13 14 text 15 16 D 17 rdl A 18 rdl A 4 19 rdl B 20 rdl B 4 21 addl Q3 Ql result 0r99BAD5E5 OF 22 addl 5 Q3 result Ox0406080A 23 adcl 2 1 result 020406080B 24 wrl 1 C 25 wrl 4 C 4 26 complete Explanation of an example in the line No 5 a current assembly section is established as a command of assembler data a section of data assembly data in the lines No 7 9 11 the symbols indicators A B C which are indicators of a current assembly section data are declared and initialized with current values of assembly address in the lines No 8 10 12 32 positioning digits 0200010203 Or AABBCCDOD 0104050607 Or EEFF0908 0200000000 0700000000 are being written into
40. agraph address setting conditional jns ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 39 Syntax description of command jns Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if sign flag SF argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 93 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 25 jo Jump if Overflow flag set Next paragraph address setting conditional jo ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 40 Syntax description of command jo Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if overload flag OF argument ARG1 is equal to one www multiclet com PD00001 Rev 03 12 2014 94 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 26 js Jump if Sign flag set Next paragraph address setting conditional js ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 41 Syntax description of command js Occurrence of the result no Algorithm of work set next paragraph addre
41. an executable program itself is performed by a builder using one or several object files created by an assembler As a result of the above each object file is assigned with a final address in such a way that no object file is overlapped by another During program assembly the blocks of bites as a whole are moved to those addresses which they will have during program execution their length and order of bites do not change Such a block of bites is called a section and a procedure of address assignment to these sections is called relocation Aside from address assignment to sections execution time and relocation in assembling phase the values of an object file symbols are brought into accordance so that all references to those symbols would have correct addresses of execution time It should be noted that because of the special organization of program memory of a multicellular processor where the executed program instructions length of section text www multiclet com PD00001 Rev 03 12 2014 42 144 All right reserved MultiClet Corp 2010 2014 User manual on software in which the assembler located executed program instructions may increase because of the adjustment of paragraphs for further details ref to section Program Memory PM An object file created by an assembler includes at least 3 sections each of which may be empty 1 cexuua text In this section the executed program instructio
42. arting from the current assembly address byte size the value of which equals fill Size and fill are absolute expressions This command may be located in section data or bss If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If a comma and fill value isnot specified the value O is presupposed www multiclet com PD00001 Rev 03 12 2014 131 144 All right reserved MultiClet Corp 2010 2014 L LTICLET User manual on software 4 5 36 string str String presupposes zero or more string 8 bit literals separated with commas This command may be located in section data or bss Each string literal and a final zero byte are located sequentially in the initialized area of data memory section data in 8 positions starting from the current assembly address If a command is located in a section bss only a value of the current assembly address is changed without actual data placement The following variants of a command string are also sustainable string8 str string8 presupposes zero or more string 8 bit literals separated with commas This command may be located in section data or bss Each string literal and a final zero byte are located sequentially in the initialized area of data memory section data in 8 positions starting from the current assembly address If a command is located in a section bss only a value of t
43. bler language consists of a sequence of instructions Instruction in this case is processor command or assembler directive Each statement must be placed in a separate line that is must end with a translation of a line or the beginning of a comment Separate program memory and the total memory are used in multicellular processor for each processor unit data To specify the memory area into which the next instructions of source program text will be assembled the following assembler directives are used data bss text Usage of directive data in the source code of the program switches the current assembling section to the section data In this section the initial program data are stored which in the process of program download are placed in data memory of processor To initiate this section in the source code of the program the following assembler directives can be used ascii asciz byte float long short single string and its variants quad Usage of directive bss in the program source code switches the current assembling section to the section bss This section is used to backup the necessary size of uninitialized memory block of data each byte of which is in the process of program download is initialized to zero To select a block of uninitialized memory data in the source code of the program the following assembler directives can be used ascii asciz byte float long short single string and its variants quad
44. cators after a command execution SF CF OF ZF r T r r www multiclet com PD00001 Rev 03 12 2014 117 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 44 sqrt SQuare RooT Square root sqrt ARG Assignation operation of real argument s square rooting Syntax _ IR GPR CR Figure 4 59 Syntax description of command sqrt Occurrence of the result yes Algorithm of work implement real argument s square rooting V ARG set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF 0 0 0 r www multiclet com PD00001 Rev 03 12 2014 118 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 45 sub SUBtract Subtraction sub ARG1 ARG2 Assignation operation of two arguments subtraction Syntax sub b sb l sl flple Figure 4 60 Syntax description of command sub Occurrence of the result yes Algorithm of work implement subtarction ARG1 ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF T T r r Application command sub is used for two operands subtarction which value is iterpreted in accordance with operation type www multiclet com
45. coherent processor blocks united by the intel lectual switch environment with a separate memory of program and data The system of core commands of a multicellular processor has two formats AA word dimension 32 bits and long word dimension AV 64 bits Core commands work with the following data types sign unsigned byte size 8 bits sign unsigned word size 32 bits unsigned double word size 64 bits sign tangible size 32 bits sign tangible loaded size 64 bits sign tangible complex size 64 bits It is noteworthy that not every core command supports all the data types listed A multicellular core provides by hardware parallelism realization on the operator level in a natural way without solving the paralleling problem 24 User manual on software 4 1 1 Program memory PM Program memory represents independent blocks of statistic randomaccess memory PMO PM3 the number of which equals the number of processor blocks cells Every proces sor block has its own program memory accordingly The memory blocks specified are not connected among each other and function independently For the user the program memory functions only in reading mode and is used only for storing program algorithm For the constants an area singled out for this in data memory Addressing is made to 64 bit long word Figure 4 1 shows a logical addressing of program memory for the processor consisting of 4 processor b
46. command wrl a value of the result of execution of a previous command is recorded into data memory at the address 0 1 the result of execution of a conversion command in the line No 4 in the line No 6 with a command complete a current paragraph is being com pleted Example 1 text 2 3 A 4 cfsl 0f1 394E1 5 wrl 1 0 6 complete Explanation of an example www multiclet com PD00001 Rev 03 12 2014 65 144 All right reserved MultiClet Corp 2010 2014 DLTICLET User manual on software in the line No 1 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 3 a symbol indicator A is declared which is an indicator in a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the line No 4 with a command cfsl an operation of conversion is being per formed with preliminary round off to the nearest integer real valued digit of short precision 13 94 to an integer signed 32 positioning digit the result of execution is an operation 14 in the line No 5 with a command wrl a value of the result of execution of a previous command is recorded into data memory at the address 0 1 the result of execution of a conversion command in the line No 4 in the line No 6 with a command complete a current paragraph is being com pleted
47. cture of interruption mask register Purpose of register stages www multiclet com PD00001 Rev All right reserved MultiClet Corp 2010 2014 03 12 2014 31 144 i TICLET User manual on software 0 27 Mask for 4 31 bits of INTR register 0 prohibition interrupt request 1 permit for interrupt handling 28 31 Reserved 4 1 3 7 ER error register Structure of error register fig 4 8 ER Bit number Error register ER Operations Initial state Description 113 I1 112 110 AI3 Al2 Reserved An AIO DZ3 DZ2 DZ1 DZO RESERVED RESERVED AMBATR_ER Figure 4 8 Structure of error register Purpose of register stages For all stages of register 0 absence of any feature or event 1 presence of any feature or event 0 1 Bus errors 2 Reserved 3 Reserved 4 Error divide by zero in 0 core 5 Error divide by zero in 1 core 6 Error divide by zero in 2 core 7 Error divide by zero in 3 core 8 Error wrong address in O core formulated wrong address 9 Error wrong address in 1 core 10 Error wrong address in 2 core 11 Error wrong address in 3 core 12 Error wrong instruction in 0 core non existent instruction is read from pro gram memory 13 Error wrong instruction in 1 core www multiclet com PD00001 Rev 03 12 2014 32 144 All right reserved Mult
48. d according to the formula 32 1 where 7 the bit number of MODR register on the completion of operations of the paragraph The rule of changing the value of index register can be found in the chapter Index registers 4 1 3 2 Structure of register of modification mask of index registers is shown in fig 4 14 MODR Modofocation register of index registers MODR R 0 gt e m 7 ni 0 0 00 Bit number Operations Initial state Description Reserved Figure 4 14 Structure of register of modification mask of index registers www multiclet com PD00001 Rev 03 12 2014 36 144 All right reserved MultiClet Corp 2010 2014 User manual on software Purpose of stages of register 0 Permission of modification of index register number 32 0 prohibited 1 permitted 1 Permission of modification of index register number 33 0 prohibited 1 permitted 2 Permission of modification of index register number 34 0 prohibited 1 permitted 3 Permission of modification of index register number 35 0 prohibited 1 permitted 4 Permission of modification of index register number36 0 prohibited 1 permitted 5 Permission of modification of index register number 37 0 prohibited 1 permitted 6 Permission of modification of index register number 38 0 prohibited 1 permitted 7 Permission of modification of index register n
49. dered command is implemented when its arguments are ready installation command www multiclet com PD00001 Rev 03 12 2014 115 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software EN 4 4 4 42 sll Shift Logical Left sal Shift Arithmetic Left Left shift of logical arithmetic argument sll sal ARG1 ARG2 Assignation operation of logical arithmetic argument left shift Syntax sll sal b 5b 1 sl q Figure 4 57 Syntax description of command sll sal Occurrence of the result yes Algorithm of work implement logical arithmetic shift of the argument ARG1 to the left at ARG2 bit set indicators place place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF T r r r www multiclet com PD00001 Rev 03 12 2014 116 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 43 slr Shift Logical Right right shift of logical argument slr ARG1 ARG2 Assignation operation of logical argument right shift Syntax slr b l q Figure 4 58 Syntax description of command slr Occurrence of the result yes Algorithm of work implement logical shift of the argument ARG 1 to the right at ARG2 bit set indicators place the result together with indicators into a commutator Condition of result indi
50. dicator in a current assembly section data and is initialized with a current assembly address value in the line No 4 with an assembler command float four 32 positioning real valued digits are written into a current assembly section starting from a current address of assembly a symbol of a reverse slash in the end of a line is used to continue a line i e the lines No 4 5 6 are logically a one line in the line No 8 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 12 a symbol indicator A is declared which is an indicator of a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the lines No 11 12 with commands rdq two 64 positioning integer unsigned digits are being read from data memory by addresses B and B 8 and accordingly are placed into a commutator in the line No 13 with a command addc an adding operation of the results of execution of 2 previous commands is being performed 1 the result of an execution of a reading command in the line No 11 2 the result of execution of a reading command in the line No 12 both arguments of a command addc www multiclet com PD00001 Rev 03 12 2014 61 144 All right reserved MultiClet Corp 2010 2014 User manual on software according to suffix are interpreted as comple
51. e No 4 with a command cfsl an operation of conversion is being per formed with integer unsigned 32 bit number 1394 to the real valued short precision number in the line No 5 with a command wrl a value of the result of execution of a previous command is recorded into data memory at the address 0 1 the result of execution of a conversion command in the line No 4 in the line No 6 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 68 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 7 cslf Convert Signed Long to Float Type conversion cslf ARG Assignation operation of a type conversion Syntax _ IR GPR CR Figure 4 22 Syntax description of command csl f Occurrence of the result yes Algorithm of work implement transformation of signed 32 bit integer number set by argument ARG into a number with floating point set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r Application command cfsl is used to convert with preliminary round off to the nearest integer operand value an interpreted as real valued digit of short precision to a signed integer 32 positioning digit www multiclet com PD00001 Rev 03 12 2014 69 144 All right reserved Mul
52. e all following instructions to the end of the subsection data with the number of a subsection A subsection value shall be an absolute expression If a subsection value is not specified the value 0 is presupposed 4 5 9 else else is a part of an assembly command if which provides sustention of conditional assembly code else marks the beginning of a code block which is necessary to assemble in case if the condition of the preceding command if elsief is false 4 5 10 elseif elseif is a part of an assembly command if which provides sustention of conditional assembly code elseif marks the beginning of a code block which is necessary to assemble in case if the condition of the preceding command if elsief is false and a condition of this command is true 4 5 11 end end marks the end of an assembly file Anything located under this command is ignored 4 5 12 endif endif is a part of an assembler command if and marks the end of a code block which is assembled conditionally www multiclet com PD00001 Rev 03 12 2014 124 144 All right reserved MultiClet Corp 2010 2014 L LTICLET User manual on software 4 5 13 equ symbol expression equ is a synonym of the command set and sets the value symbol which is equal to the result of expression calculation and changes the type attribute in accordance with a new value Linkage attribute is not changed With the help of this command i
53. e result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if sign flags SF and overload flags OF argument ARG1 are not equal www multiclet com PD00001 Rev 03 12 2014 88 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 20 jle Jump if Less and Equal Next paragraph address setting conditional jle ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 35 Syntax description of command jle Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if sign flags SF and overload flags OF argument ARG1 are not equal or zero flag ZF argument ARG1 is equal to one www multiclet com PD00001 Rev 03 12 2014 89 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 21 jmp unconditional JuMP Next paragraph address setting non conditional jmp ARG Assignation operation of non conditional next paragraph setting Syntax IR GPR CR Figure 4 36 Syntax description of command jmp Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG actual transition will be implemented in the end of cur
54. ease of a current assembly address by a specified point by missing necessary number of addressing units The first expression the result of calculation of which shall be an integer positive digit sets necessary adjustment in bytes The second expression the result of calculation of which shall be an integer positive digit sets the filler value which is used for initialization of ignored bytes This expression and a comma may be ignored In this case the value of a filler equals zero The third expression the result of calculation of which shall be an integer positive digit sets the value of a maximum number of bytes which may be ignored by this command in order to achieve requested adjustment If in order to achieve requested adjustment it is necessary to ignore more bytes than the specified maximum number then ignore of bytes is not performed In other words perform adjustment only if the number of bytes is more or equals the specified maximum This expression and a comma may be ignored In this case the number of bytes necessary for adjustment will be ignored When using this command ignore of filler the second argument value is also possible by means of specifying two commas after the first expression For example align 8 will move the current assembly address forward up to the value multiple of 8 If the current assembly address is already multiple of 8 no action is performed www multiclet com PD00001
55. ec cpp rec as ld Thus transfer of a set of source files C89 to the set of object files is implemented by the command e lec lecdir LCCDIR c fl c fN c Assembling of the memory image prepared for execution can be implemented by the com mand e lec lecdir LCCDIR fl c fN c asml s asmM s ol o e oL o CRTDIR crt0 o o image where CRTDIR is a directory containing crt0 o In this command it is demonstrated that the driver can assemble program image from e source texts on C89 e source texts on assembler MCp e object files prepared beforehand www multiclet com PD00001 Rev 03 12 2014 18 144 All right reserved MultiClet Corp 2010 2014 User manual on software If the option o specifying the name of the image assembling is not used in the command line this image will receive the name image bin in the current directory 3 4 Transfer of arguments to link editor Sometimes it is useful to transfer some arguments of command line to link editor For example M key to which the editor responds with output of information on symbol location what is useful for debugging and memory analysis after program start in the debugging memory or in the processor program model The options can be transferred to the link editor with the help of key Wm like it is done in the following example in one of Linux systems developers indicates transfer of the program to the next line cd tmp
56. emitted This digit in the process of performance is a result of this expression calculation The calculated 32 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If the expression value is not specified the value 0 is presupposed 4 5 26 p2align abs expr abs expr abs_ expr A command p2align is aimed at increase of the current assembly address by the specified point by means of ignore of the necessary number of addressing units The first expression the result of calculation of which shall be an integer positive digit sets the number of lower cases of assembly address the values of which shall be zero after adjustment The second expression the result of calculation of which shall be an integer positive digit sets the filler value which is used for initialization of ignored bytes This expression and a comma may be ignored In this case the value of the filler equals zero The third expression the result of calculation of which shall be an integer positive digit sets the value of a maximum number of bytes which may be ignored by this command in order to achieve requested adjustment If in order to achieve requested adjustment it is necessary to ignore more by
57. ence of a result yes Algorithm of work calculate the absolute value of an argument ARG www multiclet com PD00001 Rev 03 12 2014 53 144 All right reserved MultiClet Corp 2010 2014 a U j TICLET User manual on software set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 r r Application command abs is used for calculation of an absolute value The result of calculation of an absolute value of minimum possible integer digit depending on the type of operation overruns word size on which the indicator of overflow signalizes OF Example 1 text 2 3 A 4 getsb 128 5 abssb 1 6 abssl 0xF0010203 7 absf 0f 12 85 8 complete Explanation of an example in the line No 1 a current section of assembly section of executed instructions text is set as command of an assembler text in the line No 3 a symbol indicator A is declared which is an indicator in a current section of assembly text and is initialized by a current value of assembly address and starts a new paragraph in the line No 4 an 8 positioning integer sign digit is placed in a commutator with a command getsb constant 128 in the line No 5 with a command abssb an absolute value of the execution result of a previous command is being calculated 1 the result of command execution extraction
58. ev 03 12 2014 83 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 15 jbe Jump if Below and Equal Next paragraph address setting conditional jbe ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 30 Syntax description of command jbe Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if convert flag CF argument ARG1 is equal to one or zero flag ZF argument ARG1 is equal to one www multiclet com PD00001 Rev 03 12 2014 84 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 16 je Jump if Equal Next paragraph address setting conditional je ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 31 Syntax description of command je Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if zero flag ZF argument ARG 1 is equal to one that is argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 89 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 17 jg Jump if Greater Next paragraph addre
59. ew See de ee 45 24 localo co ee ee g ee A OE ee Sere AS Hog OO MONE ge ar oe Dee bo ge ERS SERS Re eR Se we 45 20 PLAN sorp eee GSES acosada Be Bee b do pts A as ee ee a A A Hw re e e GE woe Bled Boe Glee 4 59 29 TEDT coi si be eee e e Ek EH BOK SS A Hd Add SOU ooh Sakae Sah eS BAER Se ER Se Oe eee Pee Aol SOOT a cose 2R bee de RE RSE SRS RE ES 4532 mole gt Lilas a hie e A bee ae oe ee ee ee Ad SO de a eBid a a Bak oe 4 Ode SR ee HE ee Gee LOL ee eee ee AA AAA eee 4 5 35 DOCS ee Gre Soe ee ge a Se EB ae we Ye GZ 45 30 SUNS os Re ek Se eee ee he de boa Pe He Ao Ls amp Vp ace Fe are A bie Ve ee es ae Gre ae Age SVC pe wo HASH aaa Bo ee eo ee AG WANNE a ae ek eRe es Ee oe Se o e BD 4 540 Welk i oe she Ge ek bo we A ee ede ork g eo 4 6 Programming system in assembler for multicellular processor 4 7 Interruptions and their processing 0 5 User Manual on Link Editor 5 1 General information on a link editor 5 2 Usage of a link editor 2 a 6 User Manual on Loader 6 1 General information of a loader 2 004 6 2 Loader usage 22344456444 264 652 b6S 254622 44 www multiclet com PDO00001 Rev 03 12 2014 All right reserved MultiClet Corp 2010 2014 User manual on software 5 144 1 User Manual on Software Installation and Uninstallation 1 1 Installation of software and documentation Installation of software and documentation further on Mu
60. execution of an adding command in the line No 21 in the line No 26 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 59 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 3 add ADDition Addition add ARG1 ARG2 Application operation of addition of two arguments Syntax add b sb l sl Fiplc Figure 4 18 Syntax description of command add Occurrence of the result yes Algorithm of work perform addition of ARG1 ARG2 set indicators place a result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r r r T Application command add is used for addition of two commands values of which are interpreted in accordance with the type of operation Example 1 data 2 3 B www multiclet com PD00001 Rev 03 12 2014 60 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 float 5 0f12 8 Of 5 6 6 0f 1 78 0f0 19 7 8 text 9 10 A 11 rdq B 12 rdq B 8 13 addc 1 Q2 14 wrq 1 B 16 15 complete Explanation of an example in the line No 1 with an assembler command data a current assembly section is set which is the section of initialized data in the line No 3 a symbol indicator B is declared which is an in
61. f the result yes Algorithm of work implement operation max ARG1 ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 97 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 29 min MINimum Minimum min ARG1 ARG2 Assignation operation of lowest argument selection among two Syntax max b sb l sl f Figure 4 44 Syntax description of command min Occurrence of the result yes Algorithm of work implement operation min ARG1 ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 98 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 30 mul MULtiply Multiplication mul ARG1 ARG2 Assignation operation of two arguments multiplication Syntax mul b sb l sl f p c Figure 4 45 Syntax description of command mul Occurrence of the result yes Algorithm of work implement multiplication ARG1 x ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r
62. for linkage This option may be used manyfold A link editor would search for a way to the library for a filename libnamespec a The search of an archive file is performed by a link editor only once in the place where it is specified in a command line If in an archive a symbol which was undefined in a certain object file and this object file is specified in a command line prior to archive file is being defined a builder would add corresponding archive object files into a final image file At the same time occurrence of an undefined symbol in any of the object files specified in a command line after an archive file would not result in repeated search of a symbol in the earlier specified archive file Any archive file may be specified in a command line several times L library path searchdir add a way searchdir to the list of the ways where a link editor would search static libraries archive files specified by an option l This option may be used manyfold The command are used in such an order as they are specified in a command line All values of L option are applied to all values of I option irrespective of the order in which these options were specified e entry entry_ point use a value of a symbol entry_ point as a starting address of start of program execution If the symbol entry_ point was not found an attempt of distribution of entry_ point will be tried as well as an attempt to convert it into a digit In case
63. g and preprinting preview TiDy library for formatting and checking HTML code conversion to CSS XML XHTML is integrated in built free version of CSS editor TopStyle Lite code export with highlight in RTF HTML TeX formats in file or clipboard vertical highlight bookmarks marks line numbering reformatting and HTML code compression changing word register tags letters sorting lines with an opportunity to sort in the column specified with a duplicate removal parameter table of ASCII symbols with reduction of HTML mnemonics compatibility code navigator for Pascal INI HTML XML PHP and many other in future spell checking in built web browser with APACHE support matching parentheses highlight You can find a more detailed information about all the possibilities of the editor and the way it can be used from the in built editor reference because it turns impossible to describe it all in the frames of this document Further only the properties inherent in MultiClet projects will be described In the process of installation the following file names extensions are secured for the editor ppr project file asm MultiClet assembler file c and h extensions are not registered not to overlay system settings on default because chances are high that the editor of these files has already been installed in the system www multiclet com PDOOOO01 Rev 03 12 2014 14 144 All right reserved Mu
64. g point then the result of calculation of an expression will be this very digit without any alternation If an expression consists of several arguments separated by operators or consists of a prefix operator which is followed by only one argument then by calculation of an expression the argument value which is a digit with a floating point will be replaced by a zero value and a corresponding warning will be typed out Subexpressions are the same expressions written in brackets or a prefix operator which is followed by an argument 4 3 5 4 Operators Operators are arithmetic functions and they are divided into prefix and infix Prefix operators are one argument An argument shall be absolute The following prefix operators are available Negation Scale of two additional negation Addition Bit by bit negation lt gt Logic NOT 1 returns if an argument is not zero otherwise 0 returns www multiclet com PD00001 Rev 03 12 2014 46 144 All right reserved MultiClet Corp 2010 2014 User manual on software Infix operators are two argument These operators have a priority which defines their ex ecution order Operations of equal priority are executed from left to right Arguments of all infix operators except operators and shall be absolute The following infix operators are available according to decrease of priority 1 x gt Multiplying integer divisio
65. g values of index registers and depo sitions set by argument ARG set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF 0 0 0 r Application command exa is used to form executive address of data memory and to save it in commutator In other words given command unlike most other proces sor commands does not implement reading of value from data mamory under formed address Rules of forming an executive address are described in Section Index reg isters 4 1 3 2 In general interpretation of the meaning saved by this command in commutator depends on program algorithm www multiclet com PD00001 Rev 03 12 2014 74 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 10 get GET value Extract of value get ARG Assignation operation of getting value Syntax get b sbll sl q Figure 4 25 Syntax description of command get Occurrence of the result yes Algorithm of work get value set by argument ARG set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF i 0 0 r www multiclet com PD00001 Rev 03 12 2014 75 144 All right reserved MultiClet Corp 2010 2014 User manual on software Application command get is used to find val
66. git symbol code in a sexadecimal numeration system Symbol code consists of 2 sexadecimal digits Literal register x has no value If none of sexadecimal digits is given the value zero is used e corresponds to a literal e corresponds to a literal e anything else corresponds to any symbol except for the abovementioned 2 2 In the form of a single symbol literal A single symbol literal may be represented in the form of single quotes which are followed by a required symbol literal or escape sequenceTherefore for representation of a symbol literal we shall write where the first symbol liretal escapes the second one The symbol of line feed which follows is interpreted as a symbol literal n and is not the end of an expression The value of a symbol literal constant in an integer expression is a computer code with the size of 1 bite of a symbol literal as uses ASCII symbol literal encoding A has an integer value 65 B has an integer value 66 and so on 4 3 3 Sections Without giving specifics the section is a continuous span of addresses the data of which are interpreted in the same way for some particular actions As a result of compiling the source code of a part of a program the assembler creates an object file supposing that the given part of a program is placed from a zero address Assembly of
67. he current assembly address is changed without actual data placement string16 str stringl6 presupposes O or more string 8 bit literals separated with commas This command may be located in section data or bss Each string literal and a final zero byte are located sequentially in the initialized area of data memory section data in 16 positions starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement string32 str string32 presupposes O or more string 8 bit literals separated with commas This command may be located in section data or bss Each string literal and a final zero byte are located sequentially in the initialized area of data memory section data in 32 positions starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement string64 str string64 it presupposes 0 or more string 8 bit literals separated with commas This command may be located in section data or bss Each string literal and a final zero byte are located sequentially in the initialized area of data memory section data in www multiclet com PD00001 Rev 03 12 2014 132 144 All right reserved MultiClet
68. he symbol does not exist it will be created in section data or bss For each expression a 32 positioning digit is emitted This digit in the process of performance is a result of this expression calculation The calculated 32 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian www multiclet com PD00001 Rev 03 12 2014 133 144 All right reserved MultiClet Corp 2010 2014 User manual on software If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If the expression value is not specified the value 0 is presupposed www multiclet com PD00001 Rev 03 12 2014 134 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 6 Programming system in assembler for multicellular processor The program in assembler is the source language with all files included which is set at the input to the assembler Source language with all files included is called a translation unit Including files into a source code is called assembler directive include As a result of the compilation of such a translation unit assembler creates an object file which is then possibly collected by a linker into an executable program with other object files The source language in assem
69. here MultiClet SDK files will be installed MultiClet SDK Setup Choose Install Location Choose the folder in which to install MultiClet SDK Setup will install MultiClet SDK in the Following Folder To install in a different Folder click Browse and select another folder Click Install to start the installation Destination Folder Browse Space required 40 1MB Space available 17 6GB Nullsoft Install System v2 4 lt Back Cancel Then press Install button In the process of installation the progress of copying files will be displayed www multiclet com PD00001 Rev 03 12 2014 7T 144 All right reserved MultiClet Corp 2010 2014 TICLET User manual on software NEI MultiClet SDK Setup Installing Please wait while MultiClet SDK is being installed Extract PSPad script vbs 100 Nullsoft Install System v2 46 Cancel On completion press Close button The installation is supposed to be done at this point MultiClet SDK Setup Installation Complete Setup was completed successfully Completed Nullsoft Install System v2 46 Cancel As a result of installation program termination a group of MultiCletSDK shortcuts will be added to Start menu www multiclet com PD00001 Rev 03 12 2014 8 144 All right reserved MultiClet Corp 2010 2014 User manual on software E Set Program Access and Defaults 0
70. iClet Corp 2010 2014 J LTICLET User manual on software 14 Error wrong instruction in 2 core 15 Error wrong instruction in 3 core 16 31 Reserved 4 1 3 8 IRETADDR register of return address Address return register is used to save the return address of program memory which is formed only when interrupted It is noteworthy that the actual drift to the initial interrupt handler see 4 1 3 11 is executed only on completion of all operations of the current paragraph and when the address of the next paragraph is known which is formed by one of the operations of setting the address of the next paragraph The return address register keeps the address of the next paragraph If the address of transition to the next paragraph is not known the processor will switch to wait state of start signal external reset wait Structure of the initial interrupt handler register is shown in fig 4 9 IRETADDR Return address register IRETADDR Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Operations R 0 R Initial state 0 0 Description Reserved IRET_ADDR Figure 4 9 Structure of return address register Purpose of stages of register 0 11 Return address formed only when interrupted 12 31 Reserved 4 1 3 9 STVALR register of system timer period System timer period register is used to save the values of system timer period a
71. igit in the process of performance is a result of this expression calculation The calculated 32 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If the expression value is not specified the value 0 is presupposed 4 5 23 lcomm symbol length Icomm reserves the length of bytes for a local common symbol in an uninitialized area of data memory section bss Length shall be an absolute expression An attribute of symbol linkage is set into the value LOCAL i e in the process of linkage the symbol will be invisible for other object files 4 5 24 local names local sets a linking attribute of each symbol separated with commas from names list into a value of LOCAL as a result of which these symbols will be invisible for other object files in the process of linkage If the symbol does not exist it will be created www multiclet com PD00001 Rev 03 12 2014 128 144 All right reserved MultiClet Corp 2010 2014 L LTICLET User manual on software 4 5 25 long expressions long presupposes zero or more expressions separated with commas This command may be located in sections data or bss For each expression a 32 positioning digit is
72. imension of 8 bites 64 bits 4 high order bites from 32 to 63 bits are a high part and 4 low bites from 0 to 31 bits are a low part type of a high and a low part is real valued and short precision e signed complex with dimension of 8 bites 64 bits 4 high bites from 32 to 63 bits is a real part and 4 low bites from 0 to 31 bits is an imaginary part type of a real and imaginary part is real valued and short precision In an assembler the dependence from a code of data type is shown in a command mnemon ics Command mnemonics consists of 2 parts of a root which corresponds to the code of operation and a suffix which corresponds to the type of operation in the table below 4 12 the mnemonics of suffixes of operation types are shown Table 4 12 Mnemonics of operation types Operation type Unsigned Signed Integer size 1 byte b sb Integer size 4 bytes l sl Integer size 8 bytes q Signed real valued single precision size 4 bytes f Signed packed size 8 bytes p Signed complex size 8 bytes c www multiclet com PD00001 Rev 03 12 2014 50 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 3 General principle of command building in an assembler On the fig 4 15 a general syntax of commands of a multicellular processor is shown mnemonic b sb l sl q f p c Figure 4 15 Syntax description of
73. initialized with a current assembly address value and starts a new paragraph in the lines No 9 10 with commands rdl two 32 positioning integer unsigned digits are being read from data memory by addresses B and B 4 and accordingly are placed into a commutator in the line No 11 with a command divf a subtraction operation of the results of execution of 2 previous commands is being performed 1 the result of an execution of a reading command in the line No 19 2 the result of execution of a reading command in the line No 10 both arguments of command divf according to suffix f is interpreted as real valued single precision numbers the www multiclet com PD00001 Rev 03 12 2014 72 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software Pe EE result of program implementation is interpreted as real valued single precision number and is placed in commutator in the line No 13 with command complete current paragraph is being completed www multiclet com PD00001 Rev 03 12 2014 73 144 All right reserved MultiClet Corp 2010 2014 lj TICLET User manual on software 4 4 4 9 exa EXacutive Address Executive address exa ARG Assignation form executive address of data memory Syntax Figure 4 24 Syntax description of command exa Occurrence of the result yes Algorithm of work form executive address of data memory usin
74. ion of a reading command in the line No 11 2 the result of an execution of a reading command in the line No 12 both arguments of command insubp in www multiclet com PD00001 Rev 03 12 2014 79 144 All right reserved MultiClet Corp 2010 2014 j TICLET User manual on software accordance with suffix p are interpreted aspacked packed 64 bit numbers that is why reverse subtraction operation is performed independently for highest and lowest group of numbers the result of a command execution is interpreted as a 64 positioning packed digit and is placed into a commutator in the line No 14 with a command wrq recording into data memory is being performed at the address B 16 of the result of execution of a previous command 1 the result of execution of reverse subtarction command in the line No 13 in the line No 15 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 80 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 12 ja Jump if Above next paragraph address setting conditional ja ARG1 ARG2 Assignation operation of next paragraph address conditional setting Syntax Figure 4 27 Syntax description of command ja Occurrence of the result no Algorithm of work set naxt paragraph address equal to argument value ARG2 actual transition will be implemented in
75. isting of zero or more decimal numbers e further optionally comes the exponential part of the number consisting of e e or E e sign or sign of exponential part optionally e one or more decimal numbers At least one of the integer or fractional parts should be specified 4 3 2 2 Symbolic literal constants The following variants of representation of symbolic literal constants are possible in an assembler 1 In the form of a string sequence of literals The string constants sequence of literals are written in rabbit ears They may contain any possible symbols literals as well as the following escape sequences e b cancel character backspace ASCII code in octal numeration system 010 e f new page FormFeed ASCII code in octal numeration system 014 e n line feed newline ASCII code in octal numeration system 012 e r carriage return carriage Return ASCII code in octal numeration system 015 e t horizontal tab horizontal Tab ASCII code in octal numeration system 011 e oct digit oct digit oct digit symbol code in octal numeration system Symbol code consists of 3 octal digits If a given number outnumbers the maximum possible octal value eight least significant digits will be used www multiclet com PD00001 Rev 03 12 2014 41 144 All right reserved MultiClet Corp 2010 2014 LTICLET User manual on software e x hex digit hex di
76. it will be ignored Each section ends with the command complete In other words the section is macrocommand all the instructions of which are to be followed a paragraph may not be implented from the middle not from first paragraph command With no first team section In general the template version of the program in assembler can be represented as follows 1 2 Given program is designed 3 El 4 5 6 Placement of the original data in the data memory T sf 8 data current assembly section 9 10 Da tag introduction 11 data memory initialization command for example y 12 long 1 OxABCD 13 ascii Some string 14 15 Db tag introduction 16 data memory initialization command y 17 18 19 Reservation of uninitialized data memory block of required size in bytes without changing the current assembly section 20 af www multiclet com PD00001 Rev 03 12 2014 136 144 All right reserved MultiClet Corp 2010 2014 YLTICLET aN User manual on software 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 www multiclet com lcomm Ba 24 Pe Reservation bss current assembly section Bb tag introduction data memory initialization long byte skip 12 Be tag introduction data memory initialization Es Placement of the executed text current assembly sec
77. le interruption from GPTIM3 21 Maskable interruption from GPTIM4 22 Maskable interruption from GPTIM5 23 Maskable interruption from GPTIM6 24 Maskable interruption from PWMO 25 Maskable interruption from RTC 26 Maskable interruption from GPIOA 27 Maskable interruption from GPIOB 28 Maskable interruption from GPIOC 29 Maskable interruption from GPIOD 30 Maskable interruption from ETHERNETO Continuation on the next page www multiclet com PD00001 Rev 03 12 2014 138 144 All right reserved MultiClet Corp 2010 2014 J LTICLET User manual on software Number Description 31 Maskable interruption from USBO Source with number 0 has the highest priority during interruption processing Nonmaskable interruptions Interruptions with number 0 3 are nonmaskable Nonmaskable interruptions lead to immediate switch to interrupt handler They can not be prohibited they are permitted right after core s work start Maskable interruptions Interruptions with number 4 31 are maskable they are globally permitted by bit ONIRQS in register PSW 4 1 3 4 Individual permission assigned by register MSKR 4 1 3 6 The following registers are for functioning interruption system and interrupt handler INTR 4 1 3 5 MSKR 4 1 3 6 ER 4 1 3 7 IRETADDR 4 1 3 8 IHOOKADDR 4 1 3 11 INTNUMR 4 1 3 12 Registers INTR MSKR ER INTNUMR refer to the control of interrupt controller Regis
78. le interruption from UART2 Maskable interruption from UART3 Maskable interruption from I2C0 PD00001 Rev 03 12 2014 All right reserved MultiClet Corp 2010 2014 30 144 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 JLTICLET Maskable interruption from I2C1 Maskable interruption from SPIO Maskable interruption from SPI1 Maskable interruption from SPI2 Maskable interruption from 1250 Maskable interruption from GPTIMO Maskable interruption from GPTIM1 Maskable interruption from GPTIM2 Maskable interruption from GPTIM3 Maskable interruption from GPTIM4 Maskable interruption from GPTIM5 Maskable interruption from GPTIM6 Maskable interruption from PWMO Maskable interruption from RTC Maskable interruption from GPIOA Maskable interruption from GPIOB Maskable interruption from GPIOC Maskable interruption from GPIOD Maskable interruption from ETHERNETO Maskable interruption from USBO 4 1 3 6 MSKR register of interruption mask Interruption mask register is applied to mask interruptions The structure of interruption mask register is shown in fig 4 7 MSKR Bit number Operations Initial state Description User manual on software Mask interruption MSKR 31 30 29 28 27 26 25 22 21 20 19 17 16 15 14 13 10 9 8 al 4 3 2 RW Figure 4 7 Stru
79. le word depending on command type Interpretation of argument value according to described above syntax and algo rythm of work first command argument determines refister s number and name unlike most of other commands which determines link number for the result of previous com mand which value is to be set second argument value saved in pointed register used directly if the second argument contains the link to the index register data memory access not occurs Application command set is used to set 64 bit register value equal to both signed and unsigned second argument s value In case of signed command type setsb setsl value of highest register bits are set equal to signed bit for unsigned operation types setb setl setq values of highest register bits are set equal to zero www multiclet com PD00001 Rev 03 12 2014 114 144 All right reserved MultiClet Corp 2010 2014 User manual on software Implementation peculiarities actual set of register value is implem at the end of the paragraph Accordingly value of any register within the framework of one paragraph is to be set one time using new register s value is possible only in the next paragraph If one and the same register value is set several times relevant warning will be given by the assembler and register value at the end of the paragraph will be set into the value formed by the last implemented command implementation is not or
80. locks PMO PM1 PM2 PM3 00000 00000 00000 00000 Figure 4 1 Data memory structure 0x0001 0x0001 0x0001 0x0001 Processor program is viewed as a set of successively located paragraphs Paragraph is a group of sentences which is written successively has one input and one output In its turn sentence is a group of operations connected by information Every paragraph is located beginning from PMO Paragraph commands are placed successively Every next command is located in PM segment belonging to the next processor block AV format command is fully placed in one segment This is for example a following command succession formed by two paragraphs cav0 avl 202 203 04 av5 gt EAT AVS AVOA Oav TI avi can be located in the way shown in fig 4 2 The order of instruction read out is demonstrated by the increase in colour background intensity www multiclet com PD00001 Rev 03 12 2014 25 144 All right reserved MultiClet Corp 2010 2014 User manual on software EAS Figure 4 2 Paragraph location on PM 4 1 2 Data memory DM Data memory represents independent blocks of static randomaccess memory DMO DM3 the number of which equals the number of processor blocks cells addressing is carried out on byte serial principle The particularity of data memory organization is that the cells with adjacent addresses are located in different data memory blocks To cut the access time to the memory it is
81. ltiClet Corp 2010 2014 User manual on software 2 2 Project creation A project can be created in two ways e by launching the new project creation script e by means of the editor see editor reference In the main menu and in Multiclet folder there is a link to project creation script Create a project When launching the script a new project folder is created in the project folder which is located in C Multiclet Projects folder on default One pattern file is included in the project Further file addition to the project is provided by means of the editor A project can be created in the editor itself as well The procedure of a new project creation is described in the in built reference in detail 2 3 Project compilation The editor is adjusted for compilation of C projects and MultiClet assembler To start compilation open a relevant project To start compilation press Ctrl F9 this will lead to compilation of all the C files and the assembler located in the directory and all the subdirectories of the project The progress of compilation log is displayed at the bottom of the editor window On completion of compilation the result of compilation is displayed in the log If the compilation is effective completion code is equal to 0 otherwise error code is displayed 2 4 Program start on the model After compilation the obtained file of memory image can be launched on the model To launch the model pres
82. ltiCletSDK is carried out by a specially developed installer Start the file MultiCletSDK exe to begin installation After the installation started a hello message window appears with brief information about the product installed MultiClet SDK Setup Welcome to the MultiClet SDK Setup Wizard This wizard will guide you through the installation of MultiClet SDK It is recommended that you close all other applications before starting Setup This will make it possible to update relevant system files without having to reboot your computer Click Next to continue ce Press Next button to continue installation On the second step appears a window with a list of available components for installation where a parameter Shortcut on desktop can be chosen It is switched off on default 6 User manual on software In case of its activation a shortcut on desktop will appear showing the main folder with documentation tests and MultiCletSDK projects MultiClet SDK Setup Choose Components Choose which features of MultiClet SDK you want to install Check the components you want to install and uncheck the components you don t want to install Click Next to continue Description osition t ouse Select components to install over a component to see its descriptior Space required 40 1MB Then press Next button On the third step a catalogue can be chosen w
83. lues These symbols may be defined with the help of the following commands of an assembler set eqv equ equiv The values of these symbols are never changed by a builder In general the symbol defined with the help of the abovementioned assembler commands may have no absolute value 4 3 4 4 Symbol attributes Aside from a name each symbol has the attributes Value Type Collecting Size and an attribute of appurtenance of a symbol to any section By using a symbol without its defining all its attributes have zero values and a symbol itself is assigned to an undefined section Value of a symbol is 32 positioning For symbols which address location in sections text data bss and absolute the value is dislocation of addresses with relation to the starting position of a section prior to a label In the process of program assembly the values of such symbols for section text data bss change because the starting positions of these sections change as well Values of absolute symbols in the process of assembly are not changed Attribute of a symbol Type Collecting defines the type and symbol viewability for a builder as well as behavior of a builder in the process of changing the symbol value by section dislocation For setting the a value like this attribute a command of an assembler type is used and for collecting the commands local global weak are used An attribute of a symbol Size
84. mber Operations Initial state Description Address register of interrupt handler IHOOKADDR 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R 0 RW 0 0 Reserved THOOK_ADDR Figure 4 12 Structure of register of initial interrupt handler Register bits assignation 0 11 Initial interrupt handler s value 12 31 Reserved www multiclet com PD00001 Rev 03 12 2014 39 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 1 3 12 Interrupt number register INTNUMR Interrupt number register is designed for saving top priority unmasked interruption number at present moment and is read only Structure of interrupt number register is shown on fig 4 13 INTNUMR Register of interrupt number INTNUMR 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 140 Bit number Operations R 0 R Initial state 0 0 Description Reserved INT_NUM Figure 4 13 Structure of interrupt number register Purpose of stages of register 0 5 Value of the address of the initial interrupt handler 6 31 Reserved 4 1 3 13 MODR register of modification mask of index registers Register of modification mask of index registers is used to indicate the necessity of recount ing the values of index register the number of which is define
85. n Remaining taking of a remaining from an integer division lt lt lt Shift to the left lt gt Shift to the right 2 bit by bit OR amp bit by bit AND gt bit by bit exclusive OR lt gt bit by bit OR NOT 3 Addition If one of the arguments is absolute the result is assigned to the section of another argument Addition of two arguments defined in relation to different sections is not admissible Subtraction If the right second argument is absolute the result is assigned to the section of the left first argument If two arguments are defined by one and the same section the result is absolute Subtraction of two arguments defined by different sections is not admissible Comparison for equality or lt gt Comparison for inequality lt Comparison for less than gt Comparison for more than gt Comparison for more than or equal lt Comparison for less than or equal As a result of performance of any operation of comparison 1 returns in case if the result is correct and O returns if the result is not correct Comparison operations interpret arguments as character www multiclet com PD00001 Rev 03 12 2014 47 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software POT EE 4 amp amp Logic AND lt Logic OR These logic operations may be used for uniting the
86. n does not support operations of data block assignments Thus the following constructions 1 2 Initialization by constants of automatic arrays and structures Assignment of one structure by another one i e constructions of the following type struct S s1 s2 si s2 Activation of functions returning the structures or accepting them as arguments just the structures no restrictions are imposed on pointers In the next compiler versions to be issued after 22 07 2012 the problem will be solved 3 8 Program assembling Let us consider the example of the program written in C language using the sorting algorithm by the bubble sort define SIZE 256 int array SIZE void main void int i int j int c 0 www multiclet com PD00001 Rev 03 12 2014 20 144 All right reserved MultiClet Corp 2010 2014 User manual on software for i 0 i lt SIZE i 1 c 255 1 array i c for j SIZE 1 j j 1 for i 0 i lt j i 1 if array i gt array i 1 int tmp array i array i array i 1 array i 1 tmp Let us suppose that the given program is saved in the file under the name bubble c The pro cess of program assembling or in other words acquisition of file containing program memory images and data memory of the program executed necessary for loading of debugging plate to ROM or for execution on the model consist
87. nd begins new paragraph in the lines No 9 10 with commands rdl two 32 positioning integer unsigned digits are being read from data memory by addresses A and A 4 and accordingly are placed into a commutator in the line No 11 with a command addl results of two previous commands are being added 1 the result of an execution of a reading command in the line No 10 2 the result of an execution of a reading command in the line No 9 both arguments of command addl in accordance with suffix are interpreted ungigned integer 32 bit numbers that is why the result of command implementation is interpreted as 32 bit unsigned integer digit and is being placed in commutator in the line No 12 with a command wrl recording into data memory is being performed at the address A 8 of the result of execution of a previous command 141 the result of execution of command in the line No11 in the line No 13 with a command complete a current paragraph is being com pleted www multiclet com PDO00001 Rev 03 12 2014 109 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 37 rol ROtate Left argument s left cyclic rotation rol ARG1 ARG2 Assignation operation of argument s left cyclic rotation Syntax rol b 1 g Figure 4 52 Syntax description of command rol Occurrence of the result yes Algorithm of work implement argument s cyclic ro
88. nd is available only for reading Structure of system timer period register is shown in fig 4 10 www multiclet com PD00001 Rev 03 12 2014 33 144 All right reserved MultiClet Corp 2010 2014 JLTICLET STVALR Bit number Operations Initial state Description Purpo 0 15 User manual on software Counter period register STVALR o w 31130 2 28 27 26 25 24 2 22 21 20 16 15 14 10 9 s 7 6 on Aa Feo Fo R 0 RW 0 Reserved CNTVAL Figure 4 10 Structure of system timer period register se of stages of register system timer see 4 1 3 10 16 31 Reserved 4 1 3 10 STCR register of system timer control Values of counter period in the periods of system frequency after predivisor of Register of system timer control is used to control a system timer A system timer is applied to form the specified periodic or single time slots The timer represents a decrement counter with the divisor of clock signal at the input The initial value of the counter is recorded to STVALR register control is executed through STCR register When the specified time slots finishes the inquiry for interrupt handling is formed Structure of control register of system timer is shown in fig 4 11
89. ns are located which in the process of assembly will be relocated in program memory 2 cexuua data In this section the starting data of a program are located which in the process of assembly will be relocated in the preset area of data memory 3 cexuua bss This section contains bites with zero values prior to the beginning of program execution It is used for storing uninitialized variables or a common block of data memory In the process of creation of an object file the section text if relocated from address 0 of program memory section data is relocated from address 0 of program memory which is followed by relocation of section bss Sections text n data are located in an object file irrespective of the fact whether they contain any commands or not In order to inform the builder of which data are changed during storage relocation section relocation and in accordance with which rules they are changed the assembler stores all necessary information into the object file into separate sections usually for a section text it stores into a section rel text for a section data it stores into a section rel data Besides sections text data bss it is possible to use an absolute section By assembly of a program addresses in the absolute section do not change Aside from the abovementioned sections there exists an undefined section as well Any symbol which has a reference to and which was not defined on the s
90. of execution of a reading command in the line No 19 both arguments of a command addl in accordance with suffix I are interpreted as 32 positioning integer unsigned digits the result of execution of a command is also interpreted as 32 positioning integer unsigned digit and is placed into a commutator in the line No 23 with a command adcl the results of execution of two previous commands are added 2 the result of execution of an adding command in the line No 20 in fact only the value of an overflow indicator is used OF 1 the result of execution of an adding command in the line No 21 both arguments of a command addl in accordance with suffix I are interpreted as 32 positioning integer unsigned digits the result of execution of a command is also interpreted as 32 positioning integer unsigned digit and is placed into a commutator in the line No 24 with a command wrl the recording into data memory is being performed by an address C of the result of execution of a previous command 1 the result of execution of an adding command with consideration of a carry www multiclet com PD00001 Rev 03 12 2014 58 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software indicator in the line No 24 in the line No 25 with a command wrl the recording into data memory is being performed by an address C 4 results of execution of a previous command 4 the result of
91. of success an attempt to use this digit as a starting address of program execution start will be tried 0 output FILE place a rollout into an image file FILE If this option is not used the name of an output file will be by default image bin M print map output into a standard output stream information on dislocation of object files data in memory and on values specified by symbols h help show this message and exit www multiclet com PD00001 Rev 03 12 2014 142 144 All right reserved MultiClet Corp 2010 2014 6 User Manual on Loader 6 1 General information of a loader Program loader for a multicellular processor performs loading of memory images of an exe cuted program in ROM of a debug board A file of memory images of an executed program presents the result of linkage of a program by a link editor a file of memory images and data memory of an executed program 6 2 Loader usage A program loader starts from a command line with a command ploader an argument of which is a file of memory images of an executed program The following options are also available 1 list show the list of available ftdi devices d device deviceName set the name ftdi of a device into deviceName used for loading f frequency frequency Value set the frequency ftdi of a device into frequency Value used for loading a value by default is 10000 khz h help sho
92. on of result indicators after a command execution SF CF OF ZF r 0 r r Application command div is used for division of two operands which value is in terpreted in accordance with the operand type During operation execution a spesific situation may occur division on 0 In this case interrupt request is formed that is relevent bits of interrupt registers INTR and exceptions ER are set Example www multiclet com PD00001 Rev 03 12 2014 71 144 All right reserved MultiClet Corp 2010 2014 User manual on software 1 data 2 3 B 4 float 0f12 8e12 O0f 5 6e 4 5 6 text 7 8 A 9 rdl B 10 rdl B 4 11 divf 1 2 12 wrl 1 B 8 13 complete Explanation of an example in the line No 1 with an assembler command data a current assembly section is set which is the section of initialized data in the line No 3 a symbol indicator B is declared which is an indicator in a current assembly section data and is initialized with a current assembly address value in the line No 4 with an assembler command float into a current assembly section 2 32 bit real valued numbers are set beginning from current assembly address in the line No 6 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 8 a symbol indicator A is declared which is an indicator of a current assembly section text and is
93. ontrol is not executed Reserved INTR interruption register Interruption register is used for signaling the occurrence of interruptions as well as initiation of program interruptions Interruption register structure is shown in fig 4 6 INTR Bit number Operations Initial state Description Interrupt register INTR 31 30 29 28 27 26 24 22 21 20 19 18 17 16 15 14 al 413 s RW y Rw Rw RW RW RW Rw Rw Rw Rw Rw Rw RW RW RW RW RW RW o o o o o o o o o o o USBO_IRQ ETHERNETO_IRQ IRQ 0 SWI SWT 12S0_IRQ GPIOD IRQ GPIOC_IRQ GPIOB_IRQ GPIOA_IRQ GPTIM3_IRQ SP MPRGE PPGE PERE ENMI UART2 IRQ UARTIIRQ INMI Figure 4 Purpose of stages of register For all stages of register 6 Interruption register 0 absence of any feature or event 1 presence of any feature or event 0 Oo oo 1 an A why j 11 www multiclet com Internal nonmaskable interruption INMI External nonmaskable interruption ENMI structure Nonmaskable exception in hardware compone PERE Nonmaskable program exception PPGE Maskable program exception MPRGE Interruption from system timer SWT Software interruption SWI Maskable interruption from UARTO Maskable interruption from UART1 Maskab
94. operating system Microsoft Windows 2000 XP Vista 7 Minimum requirements to hardware e Processor not less than 500 MHz e main memory not less than 512 MB e video card should support minimum resolution 1024x768 with 256 colors and hardware acceleration of functions DirectX of 5 0 version or higher 4 2 1 Assembler start and command line options The assembler given is started from the command line by as commandasthe argument of which is the file with the source code The following options are supported I include path DIR to add the directory DIR to the list of directories used for searching the file connected by assembler include 0 output objfile to place the output to the object file objfile V to print the number of assembler version h help to show this message and exit www multiclet com PD00001 Rev 03 12 2014 39 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 3 Basic terms of the language 4 3 1 Comments Assembler supports the following types of comments e single line comment the given type of comment starts from c or and finishes by the end of the line e multiline comment the given type of comment starts from and finishes by i e everything that is placed between these limiters is ignored the enclosed comments are not allowed 4 3 2 Constants Assembler supports numeric and symbolic literal
95. pression value is not specified the value 0 is presupposed 4 5 32 single flonums Single is a synonym of a command float and and presupposes zero or more expressions separated with commas This command may be located in sections data or bss Each digit is a 32 positioning value and is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If the floatnum value is not specified the value 0 is presupposed 4 5 33 size name expression size sets the size in bytes of a symbol name equal to the result of evaluating the expression 4 5 34 skip size fill skip is a synonym of a command size is located sequentially in the initialized area of data memory section data starting from the current assembly address byte size the value of which equals fill Size and fill are absolute expressions This command may be located in section data or bss If a command is located in a section bss only a value of the current assembly address is changed without actual data placement If a comma and fill value isnot specified the value O is presupposed 4 5 35 space size fill Space is a synonym of a command skip and is located sequentially in the initialized area of data memory section data st
96. r r r Application command mul is used for multiplication of two operands which value is interpreted according to operattion type Example 1 data 2 3 B www multiclet com PD00001 Rev 03 12 2014 99 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 float 5 0f12 8 Of 5 6 6 0f 1 78 0f0 19 7 8 text 9 10 A 11 rdq B 12 rdq B 8 13 mulc 1 Q2 14 wrq 1 B 16 15 complete Explanation of an example in the line No 1 with an assembler command data a current assembly section is set which is the section of initialized data in the line No 3 a symbol indicator B is declared which is an indicator in a current assembly section data and is initialized with a current assembly address value in the line No 4 with an assembler command float into a current assembly section 4 32 bit real valued numbers are set beginning from current assembly address a symbol of a reverse slash in the end of a line is used to continue a line i e the lines No 4 5 6 are logically a one line in the line No 8 with an assembler command text a current assembly section is set a section of executed instructions text in the line No 10 a symbol indicator A is declared which is an indicator in a current assembly section text and is initialized with a current assembly address value begins new paagraph in the lines No
97. reception of interruptions by INTR register it blocks only their further handling Its is al ways installed by software removed by software and hardware when switching to the program of interruption handler Reserved Switch to sleep mode On completion of the paragraph where the given bit is set the core switches to sleep mode It stays in this mode till the interruption When interrupted this feature is switched off by hardware and control is passed on to interruption service program On completion of interruption service unless the programmer specifies any actions the program suspended continues Reserved Core stop When set to 1 on completion of the current paragraph the core stops instruction fetching Work renewal is possible only from without by hardware reset or sending to the processor wake up input the voltage of logical level lt l gt Software reset When set to 1 on completion of the paragraph the processor undergoes full initialization the core automatically begins work from the initial state the registers are reset to the initial state The content of main memory is not stored www multiclet com PD00001 Rev 03 12 2014 29 144 All right reserved MultiClet Corp 2010 2014 6 7 31 4 1 3 5 JLTICLET User manual on software Order of reading writing command execution 0 writing commands are executed only after completion all reading com mands of this paragraph 1 Order c
98. rent paragraph www multiclet com PD00001 Rev 03 12 2014 90 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 22 jne Jump if Not Equal Next paragraph address setting conditional jne ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 37 Syntax description of command jne Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if zero flag ZF argument ARG1 isequal to zero that is ARG1 is not equal to zero www multiclet com PD00001 Rev 03 12 2014 91 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 23 jno Jump if Overflow flag unset Next paragraph address setting conditional jno ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 38 Syntax description of command jno Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if overload flag OF argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 92 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 24 jns Jump if Sign flag unset Next par
99. ress is changed without actual data placement If the expression value is not specified the value 0 is presupposed 4 5 21 if absolute expression if provide sustention of conditional code assembly and marks the beginning of code block which shall be assembled if the result of calculation of expression absolute expression is not equal to 0 The following variants of command if are also sustained ifdef symbol assembles the next code block if the symbol was not defined earlier ifb text www multiclet com PD00001 Rev 03 12 2014 126 144 All right reserved MultiClet Corp 2010 2014 User manual on software assembles the next code block if operand text is empty not set ifeq absolute expression assembles the next code block if the result of expression calculation absolute _ expres sion is equal to 0 ifeqs string1 string2 assembles the next code block if the strings are similar stringl string2 Compar ison of the strings is performed with regard to the case of string literals The strings shall be in rabbit ears ifge absolute expression assembles the next code block if the result of expression calculation absolute expres sion is greater than or equal to zero fgt absolute expression assembles the next code block if the result of expression calculation absolute expres sion is greater than zero ifle absolute expression assembles the next code block if the result of exp
100. ression calculation absolute expres sion is less than or equal to zero flt absolute expression assembles the next code block if the result of expression calculation absolute expres sion is less than zero ifnb text assembles the next code block if operand text is not empty set ifndef symbol or ifnotdef symbol assembles the next code block if the symbol was not defined earlier ifne absolute expression assembles the next code block if the result of expression calculation absolute expres sion expression is not equal to 0 ifnes string string2 www multiclet com PD00001 Rev 03 12 2014 127 144 All right reserved MultiClet Corp 2010 2014 User manual on software assembles the next code block if the strings are different stringl string2 Compar ison of the strings is performed with regard to the case of string literals The strings shall be in rabbit ears 4 5 22 include file include provides insertion mode of auxiliary additional files in a certain position of a current file A source code from a file is assembled in the way like it had followed in this file from position of command include location By the end of assembly of an auxiliary file the assembly of a current file continues The ways of search of an auxiliary file may be specified using the option of a command line I sections data or bss For each expression a 32 positioning digit is emitted This d
101. ry images and images of data memory of the program executed from one or several object files To do this execute the following command in the command line mc ld M oimage bin crt0 o bubble o Option of the link editor lt M shows the necessity of output to the standard flow of output of information on the location of the given object files in the memory and on the values assigned to the symbols option of the line editor o specify the name of the output file containing program memory images and images of the data memory of the program executed The object file crt0 o represents a set of starting executed procedures which perform the necessary initialization before activating the main function of the program The given file is to be put first in the list of files transferred for the input of line editor File crt0 o may not be used for the programs the source code of which is written only in assembler language The process of program assembling can be executed by mc lcc assembling driver To do this execute the following command in the command line mc lcc target mcp win32 WEM oimage bin crt0 o bubble s In this case the driver will perform the sequence of actions described above by itself The obtained file of memory images of the program executed image bin can be e loaded to ROM of the debugging plate To do this execute the following command in the command line www multiclet com PD00001 Rev 03 12 2
102. s lt lt sees wee e e 44 A us sobre s soe ede EOS wok bo ee Oe eS 44 4 3 4 3 Symbols with absolute values 45 4 3 4 4 Symbol attributes sur vas 2 4082 4 us De 45 4 3 5 Expressions aoaaa 45 4 3 5 1 Empty expressions ce vss rosada eee 46 4 3 5 2 Integer expressions a o sooo a a EES 46 Coa Arg me nts sowa e aau OL we EG we 46 4 3 5 4 Operators cia A AAA 46 4 4 Command system of assembler o 0200 eee 49 LA Convention se saajia b Toona EE he eee eee 49 AAD Types of operations lt 254 eo aye E e A ESSE amp 50 4 4 3 General principle of command building in an assembler 51 User manual on software All right reserved MultiClet Corp 2010 2014 LTICLET User manual on software 4 4 3 1 General rules of formation of command arguments and their INVER pOrSbanION el a e ad rs d Bok a a BOR By ed ol 4 4 3 2 Rules of formation of command results 52 4 4 4 Description of commands oe eoreross rte ea wad 53 A ds be oie Ae bs BE He Ie Ge eek oP ee 53 BAA GC ye so a e Ge SE Aaa 56 AAA add oo eee e A e GS E A Bk ES Hk ee HS 60 AAAA and cx es Beh ok Be ee Be Ee Se Doe ee Moke a SS 63 AAAS Holes epee die Bikes SKA SRE ERE RES SES SS 64 AAA Moore a Se eS 67 AA GSE eh we o Bad oe es o ee e 69 BAe Wie ERA ARA Ee io Bk 71 AAAG ice ee ee RA 74 LAAN C6054 2 eek eo Se nee e 75 AAA MOS oe we wre a us a a Be Soe Bae Ek eee A i 78
103. s An 8 positioning digit is emitted for each expression This digit in the process of performance is a result of expression calculation The calculated 8 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address If a command is located in section bss only the value of the current assembly address changes without actual data placement If an expression value if not specified the value 0 is presupposed 4 5 7 comm symbol length align comm defines a common jointly used with a number symbol identifier In the process of linkage a common symbol from one object file may be united with a specified or another www multiclet com PD00001 Rev 03 12 2014 123 144 All right reserved MultiClet Corp 2010 2014 User manual on software common symbol from another object file with the same symbol name If in the process of linkage no object file has a specified symbol with the name symbol then for a symbol the length of bytes will be provided in an uninitialized area of data memory section bss and also if several common symbols having the same name are declared the symbol with the maximum length value will be chosen The length value shall be an absolute expression The value align set the desired adjustment of a symbol and shall be an absolute expression 4 5 8 data subsection data signals an assembler on the necessity to assembl
104. s F9 In the process of model execution diagnostic messages or other prompts can appear www multiclet com PD00001 Rev 03 12 2014 15 144 All right reserved MultiClet Corp 2010 2014 User manual on software 2 5 Documentation Documentation for SDK MultiClet is located in C MultiClet Docs folder e User manual ASM pdf User manual on Assembler compiler e User manual LD pdf User manual on Link editor e User manual Shell pdf User manual on Development environment e User manual Shell pdf User manual on Installation and uninstallation of software and documentation MultiCletSDK 2 6 Confines Given version does not support program debugging After compilation completion all actions including program downloading into the processor or model startup are to be implemented manually www multiclet com PD00001 Rev 03 12 2014 16 144 All right reserved MultiClet Corp 2010 2014 3 User Manual on Compiler C Compiler for MCp processor is developed on the basis of LCC redirecting compiler for ANSI C standard C89 LCC 4 2 used in the project provides compiler front preprocessor lexical analyzer syntactic analyzer some optimization of intermediate code for example constant propagation some libraries Multiclet company has developed a generator of assembler code from intermediate representation LCC 4 and compilation process driver which enables to obtain memor
105. s located in a section bss only a value of the current assembly address is changed without actual data placement If the expression value is not specified the value 0 is presupposed 4 5 29 rept count This command is used for organization of repetitions of instruction sequence The instruc tions are located between this command rept and a termination command endr 4 5 30 set symbol expression set is a synonym of a command set and sets the symbol value which is equal to the result of expression calculation and changes a type attribute in accordance with a new value A linking attribute is not changed With the help of this command it is possible to change a symbol value multiple times The latest value will be saved in the table of object file symbols 4 5 31 short expressions sections data or bss For each expression a 16 positioning digit is emitted This digit in the process of performance is a result of this expression calculation The calculated 16 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command is located in a section bss only a value of the current assembly address is www multiclet com PD00001 Rev 03 12 2014 130 144 All right reserved MultiClet Corp 2010 2014 User manual on software changed without actual data placement If the ex
106. s of the following stages 1 processing of bubble c file by C preprocessor To do this execute the following command in the command line mc mcpp bubble c bubble i Preprocessor executes the removal from the source code of comments as well as per forms processing of preprocessor directives beginning with the such as define include and others 2 compilation of bubble i file by C compiler To do this execute the following command in the command line mec rcc target mcp win32 bubble i bubble s C compiler executes transfer of the program in C language to the equivalent program in assembler language www multiclet com PD00001 Rev 03 12 2014 21 144 All right reserved MultiClet Corp 2010 2014 User manual on software 3 compilation of bubble s file by the compiler of assembler code To do this execute the following command in the command line mc as arch MCp0411100101 obubble o bubble s Assembling of the source program code in assembler language to the object file con taining machine code blocks and program data blocks with uncertain symbol addresses to the data and procedures in other object files as well as the list of its procedures and data Option of assembler code compiler lt o specify the name of output object file Option of assembler code compiler arch specify the multicellular processor archi tecture 4 assembling of the file containing program memo
107. section Cases G PR stands for a reference to the general purpose register ref to section General Purpose Register IR stands for a reference to the index register ref to section Index Registers 1 Ringer I Rmask 1 Roase stands for an index template and a base of the index register correspondingly IR CR stands for a reference to control register ref to section Control Registers V8 V32 stands for a raw value with a size of a bite 8 bits a word 32 bits ARG ARG1 ARG2 general indication of command arguments DM ADDR general indication of access to data memory at the address ADDR EX PR general indication of an expression www multiclet com PD00001 Rev 03 12 2014 49 144 All right reserved MultiClet Corp 2010 2014 User manual on software RES EX PR general indication of a result of expression calculation lbll q general indication of choosing one of possible values i e either nothing or b or l or q 4 4 2 Types of operations In general a multicellular processor may execute operations over the following operand types e signed unsigned integer with dimension of 1 bite 8 bits e signed unsigned integer with dimension of 4 bites 32 bits e unsigned integer with dimension of 8 bites 64 bits e signed real valued short precision with dimension of 4 bites 32 bits e signed compressed with d
108. ss equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if sign flag SF argument ARG1 is equal to one www multiclet com PD00001 Rev 03 12 2014 95 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 27 madd Multiplication with ADDition of packed arguments Multiplication with addition madd ARG1 ARG2 Assignation operation of packed multiplication with addition Syntax Figure 4 42 Syntax description of command madd Occurrence of the result yes Algorithm of work implement operation of addition packed numbers highest and lowest parts com position for example ARG1 a b ARG2 c d where a c highest parts of packed numbers set by arguments ARG1 and ARG2 accordingly and b d packed numbers lowest parts set by arguments ARG1 and ARG2 accordingly then result is equal a x c bx d set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 r r www multiclet com PD00001 Rev 03 12 2014 96 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 28 max MAXimum Maximum max ARG1 ARG2 Assignation operation of highest argument selection among two Syntax max b sb l sl f Figure 4 43 Syntax description of command max Occurrence o
109. ss setting conditional jg ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 32 Syntax description of command jg Occurrence of the result no Algorithm of work set next paragraph address equal to argument valueARG2 actual transition will be implemented in the end of current paragraph if sign flags SF and overload flags OF argument ARG are equal and zero flag ZF argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 86 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 18 jge Jump if Greater and Equal Next paragraph address setting conditional jge ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 33 Syntax description of command jge Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if sign flags SF and overload flags OF argument ARG1 are equal www multiclet com PD00001 Rev 03 12 2014 87 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 19 jl Jump if Less Next paragraph address setting conditional jl ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 34 Syntax description of command jl Occurrence of th
110. t is possible to change a symbol value multiple times The latest value will be saved in the table of object file symbols 4 5 14 equiv symbol expression equiv sets the symbol value equal to the result of expression calculation if a symbol was not defined earlier 4 5 15 eqv symbol expression eqv sets the symbol value equal to the expression if a symbol was not defined earlier Calculation of the expression result is performed only by usage of a symbol 4 5 16 err By assembly of this command an error message is output into the error output and an object file is not generated This command may be used for error signaling in a conditionally compilable code block when using command of conditional compilation 4 5 17 error string When assembling this command an error message with the text string is output into the error output and an object file is not generated This command may be used for error signaling in a conditionally compilable code block when using command of conditional compilation 4 5 18 fill repeat size value Repeat size and value are absolute expressions For expression value repeat of copies is emitted each having the size of a byte The size value shall be within the range of 0 8 If www multiclet com PD00001 Rev 03 12 2014 125 144 All right reserved MultiClet Corp 2010 2014 User manual on software the size value is more than 8 a value of 8 is used as
111. tage of assembly is assigned to the undefined section A common commonly used symbol which addresses named common block on the stage of assembly is assigned to the undefined section as well Value of binding attribute of any undefined symbol equals GLOBAL by default 4 3 3 1 Subsections Assembled bites are relocated in 2 sections text and data For adjustment of different data groups inside of sections text and data the subsection are used in a generated object file The numbered subsections beginning from zero may be located inside of each section The www multiclet com PD00001 Rev 03 12 2014 43 144 All right reserved MultiClet Corp 2010 2014 User manual on software objects assembled into one and the same subsection are relocated in an object file together with the objects of the same subsection Subsections are relocated in an object file in ascending order of their numbers Information on subsections is not saved in an object file In order to specify in which subsection to assemble the below mentioned instructions we shall specify the subsection number in the command text data If the subsections in a source code of a program are not used all instructions are assembled to a subsection with a number 0 Each section has a counter of a current place which increases by 1 by assembling of each new bite into a section Since the subsections are just for convenience and are used only
112. tation ARG1 to the left for ARG2 bit set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r T r r www multiclet com PD00001 Rev 03 12 2014 110 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 38 ror ROtate Right argument s right cyclic rotation ror ARG1 ARG2 Assignation operation of argument s right cyclic rotation Syntax ror b 1 g Figure 4 53 Syntax description of command ror Occurrence of the result yes Algorithm of work implement argument s cyclic rotation ARG1 to the right for ARG2 bit set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r T r r www multiclet com PD00001 Rev 03 12 2014 111 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software EN 4 4 4 39 sar Shift Arithmetic Right right arithmetic shiftof the argument sar ARG1 ARG2 Assignation operation of argument s right shift Syntax sar sb sl Figure 4 54 Syntax description of command sar Occurrence of the result yes Algorithm of work implement arithmetic shift of the argument ARG1 on the rigt to ARG2 bit set indicators place the result together with indicators into
113. tes than the specified maximum number then ignore of bytes is not performed In other words perform adjustment only if the number of bytes is less or equals the specified maximum This expression and a comma may be ignored In this case the number of bytes necessary for adjustment will be ignored When using this command ignore of filler the second argument value is also possible by means of specifying two commas after the first expression For example p2align 3 will move the current assembly address forward up to the value multiple of 8 If the current assembly address is already multiple of 8 no action is performed www multiclet com PD00001 Rev 03 12 2014 129 144 All right reserved MultiClet Corp 2010 2014 L LTICLET User manual on software 4 5 27 print string During assembly of this command an assembler will output the string into the standard output stream A string shall be in rabbit ears 4 5 28 quad expressions quad presupposes zero or more expressions separated by commas This command may be located in sections data or bss For each expression a 64 positioning digit is emitted This digit in the process of performance is a result of this expression calculation The calculated 64 positioning digit is located sequentially in the initialized area of data memory section data starting from the current assembly address The order of bytes placement is little endian If a command i
114. the end of current paragraph if convert flag CF argument ARG1 is equal to zero and zero flag ZF argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 81 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 13 jae Jump if Above and Equal jnc Jump if Carry flag unset Next paragraph address setting conditional jae jnc ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax jae jnc Figure 4 28 Syntax description of command jae jnc Occurrence of the result no Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if convert flag CF argument ARG1 is equal to zero www multiclet com PD00001 Rev 03 12 2014 82 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 14 jb Jump if Below jc Jump if Carry flag set Next paragraph address setting conditional jbljc ARG1 ARG2 Assignation operation of conditional next paragraph setting Syntax Figure 4 29 Syntax description of command jb jc Occurrence of the result yes Algorithm of work set next paragraph address equal to argument value ARG2 actual transition will be implemented in the end of current paragraph if convert flag CF argument ARG1 is equal to one www multiclet com PD00001 R
115. tiClet Corp 2010 2014 User manual on software Example 1 text 2 3 A 4 cslf 1394 5 wrl 1 0 6 complete Explanation of an example in the line No 1 with an assembler command text a current assembly section is set a section of executed instructions text inthe line No 3 asymbol indicator A which is an indicator in a current assembly section text and is initialized with a current assembly address value and starts a new paragraph in the line No 4 with a command cfsl an operation of conversion is being per formed with integer unsigned 32 bit number 1394 to the real valued short pre cision number in the line No 5 with a command wrl a value of the result of execution of a previous command is recorded into data memory at the address 1 the result of execution of a conversion command in the line No 4 in the line No 6 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 70 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 8 div DIVide Division div ARG1 ARG2 Assignation Division operation of two arguments Syntax Figure 4 23 Syntax description of command div Occurrence of the result yes Algorithm of work implement division ARG1 ARG2 set indicators place the result together with indicators into a commutator Conditi
116. tion Ta tag and beginning rdl Da rdl Da 4 mull 1 2 wrl 1 Bc complete paragraph completion Tb tag and beginning processor commands complete paragraph completion PD00001 Rev instructions of new paragraph of new paragraph of uninitialized data memory block command for example command in program memory introduction introduction 03 12 2014 137 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 7 Interruptions and their processing Interruption system of multicellular processor allows processing of 32 interruptions Number Description 0 Internal non maskable interruption INMI 1 External non maskable interruption ENMI 2 Nonmaskable exception in hardware component PERE 3 Nonmaskable program exception PPGE 4 Maskable program exception MPRGE 5 System timer interruption SWT 6 Software interruption SWI 7 Maskable interruption from UARTO 8 Maskable interruption from UART1 9 Maskable interruption from UART2 10 Maskable interruption from UART3 11 Maskable interruption from 12C0 12 Maskable interruption from I2C1 13 Maskable interruption from SPIO 14 Maskable interruption from SPIL 15 Maskable interruption from SPI2 16 Maskable interruption from 1250 17 Maskable interruption from GPTIMO 18 Maskable interruption from GPTIM1 19 Maskable interruption from GPTIM2 20 Maskab
117. tted to algoriphm execution placed at the address written in register IHOOKADDR After the work of interrupt handlers is completed algorithm should www multiclet com PD00001 Rev 03 12 2014 139 144 All right reserved MultiClet Corp 2010 2014 User manual on software set global interrupt permission bit ONIRQS in register PSW if required and complete the exit from interruption www multiclet com PD00001 Rev 03 12 2014 140 144 All right reserved MultiClet Corp 2010 2014 5 User Manual on Link Editor 5 1 General information on a link editor Builder of a link editor for a multicellular processor performs linkage of the executable image by means of uniting data of one or more object files and if necessary object files of static link libraries as well as binding of object file symbols so that all references to those symbols had correct addresses of execution time Object files present the result of compiling of a program source code by an assembler Static link libraries present regular archives of object files for creation of which a command ar is used 141 User manual on software 5 2 Usage of a link editor The above mentioned link editor starts from a command line with a command ld The arguments of this command are one or more object files The following options are also available 1 library namespec add a file of an archive namespec to the list of files used
118. ue earlier saved in commutator for getting value from the register of all types and saving it in commutator that is despite register type the value of exactly given register is got for saving constatnts in commutator Example text 1 2 3 A 4 getsb 128 5 getq 0 6 getl 32 7 getl PSW 8 getq 4 9 complete Explanation of an example in the line No 1 a current section of assembly section of executed instructions text is set as command of an assembler in the line No 3 a symbol indicator A is declared which is an indicator in a current section of assembly text and is initialized by a current value of assembly address and starts a new paragraph in the line No 4 an 8 positioning integer sign digit is placed in a commutator with a command getsb constant 128 in the line No 5 with a command getq general purpose register s value No 0 is calculated and saved in commutator in the line No No 6 with a command getl index register s base value No 32 is calculated and saved in commutator despite of in command getl index register is pointed as an argument formation of executing data memory address and addressing to data memory is not being performed lowest 32 bits of index register are being calculated and saved in commutator in the line No 7 with a command getl control register s value is calculated PSW and is saved in commutator www multiclet com PDOOOO1 Rev 03 12
119. umber 39 0 prohibited 1 permitted 8 31 reserved 4 1 4 Commutator Commutator is used to exchange command results between the commands inside one para graph Paragraph is a group of sentences which is written successively has one input and one output Sentence is a group of operations connected by information All the processor commands inside one paragraph are numerated conditionally starting from www multiclet com PD00001 Rev 03 12 2014 37 144 All right reserved MultiClet Corp 2010 2014 User manual on software Zero The link to the result of textually preceding command is written as AN It is calculated according to the following formula N Neg Nres where N eq Hthe number of command inquiring for the result of textually preceding com mand Nres the number of textually preceding command the result of which is inquired Maximum number of results of textually preceding commands which can be saved in the commutator is 63 Link to the result of the textually preceding command which does NOT return the result definitionally will lead to the error at the compiling stage 4 1 5 Command fetching The initial program memory address from which processor blocks start command fetching is 0 The initial program memory address from which processor blocks start command fetching is 0 The necessary conditions of fetching and subsequent decoding of the next command by
120. ution SEF CF OF ZF r 0 0 f www multiclet com PD00001 Rev 03 12 2014 106 144 All right reserved MultiClet Corp 2010 2014 lj TICLET User manual on software 4 4 4 36 rd ReaD Reading rd ARG Assignation operation of data memory value reading Syntax rd b sb l sl q IR GPR CR Figure 4 51 Syntax description of command rd Occurrence of the result yes Algorithm of work read depending on command type 1 bite value signed or unsigned word signed or unsigned double word from data memory at the address set by argument ARG in case of redin signed bite or word multiply the sign set indicators place the result together with indicators into a commutator argument value interpretation according to the work algorythm descried above argument s value is always interpreted as data memory address by means of which reding of a value is implemented placed into commutator as a current command s result In other words given command always addresses to data memory despite the argument value s formation variant If previous command s result is used to form argument s value that is the link for comutator is used QS or values of general www multiclet com PD00001 Rev 03 12 2014 107 144 All right reserved MultiClet Corp 2010 2014 User manual on software purpose register GPR and control register C R then highest 32 bits from 32
121. w this message and exit Supposing that image bin is a file of memory images of an executed program In this case in order to load this image into ROM of a debug board it is necessary to execute the following command in a command line ploader image bin 143 User manual on software In this case the first found suitable ftdi device will be used to load the file image bin into ROM of a debug board with frequency of 10000 khz The following command may be used to use a certain ftdi device with a specified frequency ploader image bin d PicoTAP A f20000 www multiclet com PD00001 Rev 03 12 2014 144 144 All right reserved MultiClet Corp 2010 2014
122. x digits with the dimension of 64 bits 32 high positions represent real parts of digits and 32 low positions are imaginary The result of a command execution is interpreted as a 64 positioning complex digit and is placed into a commutator in the line No 14 with a command wrq recording into data memory is being performed at the address B 16 of the result of execution of a previous command 1 the result of execution of an addition command in the line No 13 in the line No 15 with a command complete a current paragraph is being com pleted www multiclet com PD00001 Rev 03 12 2014 62 144 All right reserved MultiClet Corp 2010 2014 User manual on software 4 4 4 4 and AND Logical multiplication and ARG1 ARG2 Assignation operation of logical multiplication of two arguments Syntax Figure 4 19 Syntax description of command and Occurrence of the result yes Algorithm of work perform AND operation ARG1 amp ARG2 set indicators place the result together with indicators into a commutator Condition of result indicators after a command execution SF CF OF ZF r 0 0 r www multiclet com PD00001 Rev 03 12 2014 63 144 All right reserved MultiClet Corp 2010 2014 J TICLET User manual on software 4 4 4 5 cfsl Convert Float to Signed Long Transformation of type cfsl ARG Assignation Operation of type transformation Syntax
123. y image for loading to debugging plate or to the processor model 3 1 Description At present the generator outputs a code corresponding to MCp0411100101 architecture and command system Thus the operations of integer division and taking the remainder from the division are implemented through the activation of the functions written on the assembler They are kept in crt0 s file in the system library The compiler contains three programs e driver lec B Linux lcc exe B Windows e preprocessor cpp cpp exe e translator rec rec exe The driver also uses the executable files e of assembler as as exe e of link editor Id 1d exe e means of image preparation These programs are included in the assembler packet as and link editor ld convert provided by MultiClet Corp as well as in the integrated development environment 17 User manual on software 3 2 Preparation for work To enable the compiler driver to provide a full program compilation up to the acceptable memory image to load and execute place the executable files in one directory lcc cpp rcc as ld In the systems with support of the links to files the links to them can be put in this directory instead of the copies of the files 3 3 Transferring and assembling by the driver The current version of compiler requires indication of an option lecdir LCCDIR in the command line where LCCDIR is a directory with the executable files l
Download Pdf Manuals
Related Search
Related Contents
WWF - « Du bio à la cantine, mode d`emploi » 幽遊 JTC4020 取扱説明書 T4_Elementos consumibles für Korg Pa80 programme 2014/2015 - Faculté de Médecine Paris-Sud Copyright © All rights reserved.
Failed to retrieve file