DUO EXECUTIVE PROGRAMMING LANGUAGE A program contains commands separated by newlines. A command contains a command name and arguments separated by spaces. An argument may be a number literal, a variable name, array literal, or string literal. An array literal contains number literals separated by spaces and enclosed by parentheses. A string literal contains characters enclosed by quotation marks. COMMAND LIST crtByte [varName]: Create a byte variable. crtLong [varName]: Create a signed long variable. crtByteArr [varName] [maxSize]: Create a byte array variable. crtLongArr [varName] [maxSize]: Create a signed long array variable. delVar [var name]: Delete variable. set [dest] [value]: Store a value. add [dest] [num] [num]: Add. sub [dest] [num] [num]: Subtract. mul [dest] [num] [num]: Multiply. div [dest] [num] [num]: Divide. mod [dest] [num] [num]: Modulus. equ [dest] [value] [value]: Equal. notEqu [dest] [value] [value]: Not equal. less [dest] [num] [num]: Less than. gre [dest] [num] [num]: Greater than. and [dest] [value] [value]: Bitwise and. or [dest] [value] [value]: Bitwise or. not [dest] [value]: Bitwise not. boolNot [dest] [value]: Boolean not. incs [dest] [num]: Increase. decs [dest] [num]: Decrease. rand [dest] [minValue] [maxValue]: Random number. if [value]: If. ifNot [value]: If not. end: End. whl [value]: While. whlNot [value]: While not. crtSbrt [varName]: Declare a subroutine block. callSbrt [address]: Call a subroutine block. quit: Quit. getLen [dest] [array]: Get array length. setLen [dest] [num]: Set array length. getElt [dest] [array] [index]: Get array element. setElt [dest] [index] [value]: Set array element. findElt [dest] [array] [value]: Find array element. pushElt [dest] [value]: Push array element. concat [dest] [array]: Concatenate array. getSub [dest] [array] [index] [index]: Get subarray. findSub [dest] [array] [array]: Find subarray. getDlmLen [dest] [array]: Get space delimited array length. getDlmSub [dest] [array] [index]: Get space delimited subarray. numToText [dest] [num]: Convert number to text. textToNum [dest] [text]: Convert text to number. getTime [dest]: Get time. sleep [num]: Sleep. getNumFiles [dest]: Get number of files. getFileHndl [dest] [which]: Get file handle. crtFile [dest] [name] [size] [type]: Create file and store handle. openFile [dest] [name]: Open file. The handle will be -1 if the file was not found. readFile [dest] [fileHandle] [index] [amount]: Read file. wrtFile [fileHandle] [index] [value]: Write file. getFileName [dest] [fileHandle]: Get file name. setFileName [fileHandle] [text]: Set file name. getFileSize [dest] [fileHandle]: Get file size. getFileType [dest] [fileHandle]: Get file type. setFileType [fileHandle] [text]: Set file type. delFile [fileHandle]: Delete file. runFile [fileHandle]: Run file. wrtPxls [posX] [posY] [data]: Write pixels. readPxls [dest] [posX] [posY]: Read pixels. clrDisp: Clear display. drawText [posX] [posY] [text]: Draw text. drawRect [posX] [posY] [width] [height] [data]: Draw rectangle. drawImg [posX] [posY] [width] [data]: Draw image. reqKey [dest]: Request key. reqText [dest] [posY]: Request text. setPinMode [pin] [num]: Set pin mode. Zero is input, one is output. digWrtPin [pin] [num]: Digital write pin. digReadPin [dest] [pin]: Digital read pin. anaReadPin [dest] [pin]: Analog read pin.