Dig
Source: Positron8 Compiler User Manual, PDF page 328
Syntax
Variable = Dig Value, DigitNumber
Overview
Returns the value of a decimal digit.
Parameters
Value is an unsigned constant, 8-bit, 16-bit, 32-bit integer variable or expression, from which the DigitNumber is to be extracted. DigitNumber is a constant, variable, or expression that represents the digit to extract from Value. (0 - 9 with 0 being the rightmost digit).
Example 1
Device = 18F25K20
' Select the device to use
Declare Xtal = 16
' Set its frequency
Declare Hserial_Baud = 9600
' Set the Baud rate for the HRsoutLn command
Dim MyValue as Byte
Dim MyDigit as Byte
MyValue = 124
MyDigit = Dig MyValue, 1
' Extract the second digit's value
HRsoutLn Dec MyDigit
' Transmit the value, which is 2
Example 2
Device = 18F25K20
' Select the device to use
Declare Xtal = 16
' Set its frequency
Declare Hserial_Baud = 9600
' Set the Baud rate for the HRsoutLn command
Dim MyWord As Word = 1234
Dim MyDigit0 As Byte
Dim MyDigit1 As Byte
Dim MyDigit2 As Byte
Dim MyDigit3 As Byte
'
' Extract the separate digits from a variable
'
MyDigit0 = Dig MyWord, 0 ' Extract the first digit (right to left)
MyDigit1 = Dig MyWord, 1 ' Extract the second digit (right to left)
MyDigit2 = Dig MyWord, 2 ' Extract the third digit (right to left)
MyDigit3 = Dig MyWord, 3 ' Extract the fourth digit (right to left)
HRsoutLn "Raw Digit 3 = ", Dec MyDigit3
HRsoutLn "Raw Digit 2 = ", Dec MyDigit2
HRsoutLn "Raw Digit 1 = ", Dec MyDigit1
HRsoutLn "Raw Digit 0 = ", Dec MyDigit0
'
' Convert the digits to ASCII by adding 48
'
Inc MyDigit0, 48
Inc MyDigit1, 48
Inc MyDigit2, 48
Inc MyDigit3, 48
HRsoutLn "ASCII Digit 3 = ", MyDigit3
HRsoutLn "ASCII Digit 2 = ", MyDigit2
HRsoutLn "ASCII Digit 1 = ", MyDigit1
HRsoutLn "ASCII Digit 0 = ", MyDigit0