'================= ГОСТ 2.304-81 ==== c 12 =====================================
#NODE; "Простановка размеров" 1
#BCOORD( 1 ); "Градус" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 2 ); "Диаметр" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 3 ); "Плюс-минус" 2
    TEXT_ADDX_F("±|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 82 ); "Минус-плюс" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 4 ); "Умножить" 2
    TEXT_ADDX_F("•|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 14 ); "Квадрат" 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 77 ); "Радиус" 2
    TEXT_ADDX("R")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 81 ); "Метрическая резьба" 2
    TEXT_ADDX("M")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 90 ); "Сфера" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    DIV_2(0)       ' R0 - H/2

    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)

    MOV9(8)
    ADD0(8)        ' R8 - Xc

    MOV8(7)
    ADD0(7)        ' R7 - Xmax

    GETCOORD_Y(5)
    ADD0(5)        ' R5 - Yc

    PUSH(0)
    PUSH(5)
    PUSH(8)
    CIRCLE

    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 5 ); "Приблизительно равно" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 395 ); "Неравно" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X3,X5
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV0(7)
    FCONST_100(5)
    MUL(7)
    ADD9(7)         ' R7 - X1
    
    MOV0(5)
    FCONST_100(55)
    MUL(5)
    ADD9(5)         ' R5 - X2
    
    MOV0(1)
    FCONST_100(60)
    MUL(1)
    ADD9(1)         ' R1 - X4,X6
        
    GETCOORD_Y(8)   
        
    MOV0(6)
    FCONST_100(25)
    MUL(6)
    ADD8(6)         ' R6 - Y3,Y4
    
    MOV0(2)
    FCONST_100(50)
    MUL(2)
    ADD8(2)         ' R2 - Y5,Y6

    MOV0(4)
    FCONST_100(65)
    MUL(4)
    ADD8(4)         ' R4 - Y2

    MOV0(3)
    FCONST_100(10)
    MUL(3)
    ADD8(3)         ' R3 - Y1
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(1)
    LINE
    
    PUSH(2)
    PUSH(9)
    PUSH(2)
    PUSH(1)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE
         
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 6 ); "Меньше или равно" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 7 ); "Больше или равно" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 80 ); "Текст в рамке" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    BBASEBOX(6)
    PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' создадим искуственную высоту блока

  LABEL(200)
    ADD8(6)
    SUB1(6)        ' R6 - Ydn

    WIDTHBASEBOX(5)
    ADD_ITALIC(5)  ' R5 - длина текста с учетом italic
    ADD9(5)
    ADD1(5)
    ADD1(5)        ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(9)
    LINE           ' верхняя

    PUSH(6)
    PUSH(5)
    PUSH(7)
    PUSH(5)
    LINE           ' правая

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    LINE           ' нижняя

    PUSH(7)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE           ' левая

    ADD1(5)
    SETCOORD_X(5)
    GLB_COORD_PUSH ' для ECOORD

    ADD1(9)
    SETCOORD_X(9)

    ADD1(7)        ' R7 = Yup + 2H/14
    PUSH(7)
    ADD_GAB_Y      ' добавить в габарит запас по высоте
    DATA_END

    SUB1(6)        ' R6 = Ydn - 2H/14
    PUSH(6)
    ADD_GAB_Y      ' добавить в габарит запас по высоте
    DATA_END

#ECOORD( 80 )
		GLB_COORD_POP
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 83 ); "Размер притупления (фаски, радиуса)" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    BBASEBOX(6)
    PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' создадим искуственную высоту блока

  LABEL(200)
    ADD8(6)
    SUB1(6)        ' R6 - Ydn

    WIDTHBASEBOX(5)
    ADD_ITALIC(5)  ' R5 - длина текста с учетом italic
    ADD9(5)
    ADD1(5)
    ADD1(5)        ' R5 - Xrt

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    LINE           ' нижняя

    PUSH(7)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE           ' левая

    ADD1(5)
    SETCOORD_X(5)
    GLB_COORD_PUSH ' для ECOORD

    ADD1(9)
    SETCOORD_X(9)

    ADD1(7)        ' R7 = Yup + 2H/14
    PUSH(7)
    ADD_GAB_Y      ' добавить в габарит запас по высоте
    DATA_END

    SUB1(6)        ' R6 = Ydn - 2H/14
    PUSH(6)
    ADD_GAB_Y      ' добавить в габарит запас по высоте
    DATA_END

#ECOORD( 83 )
		GLB_COORD_POP
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 95 ); "Надчеркнутый текст" 2
    GETHEIGHT(0)   ' R0 - высота текста

    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD_ITALIC(9)  ' начало текста со двигом на italic
    MOV9(6)

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)        ' R7 - Yup

    WIDTHBASEBOX(5)
    ADD5(6)        ' R6 - Xrt

    PUSH(7)
    PUSH(6)
    PUSH(7)
    PUSH(9)
    LINE

    ADD1(7)        ' R7 = Yup + 2H/14
    PUSH(7)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    DATA_END

#ECOORD( 95 )
    DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 96 ); "Подчеркнутый текст" 2
    GETHEIGHT(0)   ' R0 - высота текста

    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    MOV9(6)

    BBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(28)
    SUB(7)         ' R7 = -0.28
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)        ' R7 - Ydn

    WIDTHBASEBOX(5)
    ADD5(6)        ' R6 - Xrt

    PUSH(7)
    PUSH(6)
    PUSH(7)
    PUSH(9)
    LINE

    SUB1(7)        ' R7 = Ydn - 2H/14
    PUSH(7)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    DATA_END

#ECOORD( 96 )
    DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 169 ); "Перечеркнутый текст" 2
  GETHEIGHT(0)   ' R0 - высота текста

    MOV0(7)
    DIV_2(7)       ' R7 - H/2

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    FNUL(1)
    ADD_ITALIC(1)  ' начало текста со двигом на italic
    DIV_2(1)
    ADD1(9)
    MOV9(6)

    ADD8(7)        ' R7 - Yup
    
    WIDTHBASEBOX(5)
    ADD5(6)        ' R6 - Xrt
    
    PUSH(7)
    PUSH(6)
    PUSH(7)
    PUSH(9)
    LINE
    
    DATA_END

#ECOORD( 169 )
    DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 97 ); "Текст с дугой" 2
    GETHEIGHT(0)   ' R0 - высота текста

    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    MOV9(2)
    ADD1(2)
    SETCOORD_X(2)

    ADD_ITALIC(9)  ' начало текста со двигом на italic
    MOV9(4)

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    WIDTHBASEBOX(5)' R5 - ширина блока текста
    ADD1(5)
    ADD1(5)
    DIV_2(5)       ' R5 = H/2
    ADD5(4)        ' R4 - Xc
    MOV4(6)
    ADD5(6)        ' R6 - Xrt

    '-----------------------------------------------
    FCONST_100(25)
    POP(3)
    MUL0(3)        ' R3 - kH

    MOV7(2)
    ADD3(2)
    ADD1(2)        ' R2 = R7 + kH + 2H/14
    PUSH(2)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    MOV5(2)
    SUB3(2)
    PUSH(2)        ' R2 = R5 - kH
    JMP_LE(200)

    ' R3 = R7 + (kH - R5*R5/kH)/2
    MUL5(5)        ' R5*R5
    DIV3(5)        ' R5*R5/kH
    SUB5(3)        ' R3 = kH - R5*R5/kH
    DIV_2(3)
    ADD7(3)        ' R3 - Yc
    JMP_NDEF(300)
  LABEL(200)
    ' ширина блока меньше чем диаметр дуги
    DIV_2(0)       ' R0 = H/2
    MOV7(3)

  LABEL(300)
    '-----------------------------------------------
    PUSH(7)
    PUSH(9)
    PUSH(7)
    PUSH(6)
    PUSH(3)
    PUSH(4)
    ARC

    DATA_END

#ECOORD( 97 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST(7)
    DIV(0)         ' R1 - 2H/14

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
		DATA_END

'------------------------------------------------------------------------------------
#BCOORD( 98 ); "Квадратный корень" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    BBASEBOX(6)
    PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' создадим искуственную высоту блока

  LABEL(200)
    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    GETITALIC(3)
    PUSH(3)
    JMP_NE(300)
    MOV2(3)
    SUB6(3)
    FCONST_100(24)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала
    JMP_NDEF(400)
  LABEL(300)
    MOV9(3)
  LABEL(400)

    MOV7(4)
    SUB6(4)
    GETITALIC(5)
    PUSH(5)
    JMP_NE(500)
    FCONST_100(24)
    JMP_NDEF(600)
  LABEL(500)
    FCONST_100(42)
  LABEL(600)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

    WIDTHBASEBOX(5)
    ADD4(5)
    ADD1(5)        ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

    MOV7(2)
    ADD1(2)        ' R2 = Yup + 2H/14
    PUSH(2)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    MOV6(2)
    SUB1(2)        ' R2 = Ydn - 2H/14
    PUSH(2)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)
    SUB6(7)
    FCONST_100(18)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 98 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
		DATA_END

'------------------------------------------------------------------------------------
#BCOORD( 99 ); "Кубический корень" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    BBASEBOX(6)
    PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' создадим искуственную высоту блока

  LABEL(200)
    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    GETITALIC(3)
    PUSH(3)
    JMP_NE(300)
    MOV2(3)
    SUB6(3)
    FCONST_100(24)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала
    JMP_NDEF(400)
  LABEL(300)
    MOV9(3)
  LABEL(400)

    MOV7(4)
    SUB6(4)
    GETITALIC(5)
    PUSH(5)
    JMP_NE(500)
    FCONST_100(24)
    JMP_NDEF(600)
  LABEL(500)
    FCONST_100(42)
  LABEL(600)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

		GLB_FONT_PUSH
		GLB_COORD_PUSH
		MOV0(5)
    FCONST_100(50)
    MUL(5)
		SETHEIGHT(5)    ' подготовка шрифта для вывода блока текста


    SETCOORD_X(9)
    MOV2(5)
    ADD1(5)
    SETCOORD_Y(5)
    TEXT("3")

		GLB_COORD_POP
		GLB_FONT_POP

    WIDTHBASEBOX(5)
    ADD4(5)
    ADD1(5)        ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

    MOV7(2)
    ADD1(2)        ' R2 = Yup + 2H/14
    PUSH(2)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    MOV6(2)
    SUB1(2)        ' R2 = Ydn - 2H/14
    PUSH(2)
    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)
    SUB6(7)
    FCONST_100(18)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 99 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 212 ); "Символ ~, тильда" 2
    TEXT_ADDX("~")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 275 ); "Символ @" 2
    TEXT_ADDX("@")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 210 ); "Символ №, номер" 2
    TEXT_ADDX_F("№|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 276 ); "Символ $, доллар" 2
    TEXT_ADDX("$")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 277 ); "Символ %, процент" 2
    TEXT_ADDX("%")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 278 ); "Символ ^" 2
    TEXT_ADDX("^")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 68 ); "Символ &" 2
    TEXT_ADDX("&")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 393 ); "Двоеточие" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#NODE; "Звезда с индексом" 2
#BCOORD( 100 ); "*" 3
    TEXT_ADDX_F("*|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 8 ); "**" 3
    TEXT_ADDX_F("**|GOST type A|GOST type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 101 ); "*1" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 102 ); "*2" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 103 ); "*3" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 104 ); "*4" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 105 ); "*5" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 106 ); "*6" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 107 ); "*7" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 108 ); "*8" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 109 ); "*9" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 110 ); "*10" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 180 ); "*11" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("11")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 181 ); "*12" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("12")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 182 ); "*13" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("13")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 183 ); "*14" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("14")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 184 ); "*15" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("15")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 185 ); "*16" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("16")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 186 ); "*17" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("17")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 187 ); "*18" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("18")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 188 ); "*19" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("19")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 189 ); "*20" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("20")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 190 ); "*21" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("21")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 191 ); "*22" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("22")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 192 ); "*23" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("23")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 193 ); "*24" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("24")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 194 ); "*25" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("25")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 195 ); "*26" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("26")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 196 ); "*27" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("27")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 197 ); "*28" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("28")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 198 ); "*29" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("29")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 199 ); "*30" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
                            GETHEIGHT(0)

    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
    GETITALIC(5)
    PUSH(5)
    JMP_LE (100)

    GETCOORD_X(6)
    FCONST_100(25)
    MOV0(7)
    MUL(7)
    ADD7(6)
                           SETCOORD_X (6)

        LABEL(100) 

    MOV0(1)
    FCONST_100(35)
    MUL(1)             ' R1 - высота текста индекса
                           SETHEIGHT(1)

    MOV0(2)
    FCONST_100(61)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
                          SETCOORD_Y(3)

    TEXT_ADDX("30")
    PUSH(5)
    JMP_LE (200)

    GETCOORD_X(6)
    SUB7(6)
                          SETCOORD_X (6)

         LABEL(200)    

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
                              DATA_END
'------------------------------------------------------------------------------------
#NODE; "Верхний индекс" 2
#BCOORD( 200 ); "0" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("0")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 125 ); "+" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("+")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 127 ); "," 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX(",")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 128 ); "1" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("1")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 129 ); "2" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("2")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 203 ); "3" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("3")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 204 ); "4" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("4")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 205 ); "5" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("5")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 206 ); "6" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("6")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 207 ); "7" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("7")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 208 ); "8" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("8")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 209 ); "9" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
    GETHEIGHT(0)
    GLB_X_ADD_ITALIC

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
    SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    ADD2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("9")
    
    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------

#NODE; "Нижний индекс" 2
#BCOORD( 111 ); "1" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("1")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 112 ); "2" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("2")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 113 ); "3" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("3")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 114 ); "4" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("4")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 115 ); "5" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("5")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 116 ); "6" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("6")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 117 ); "7" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("7")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 118 ); "8" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("8")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 119 ); "9" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("9")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 120 ); "0" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("0")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 126 ); "-" 3
    GLB_FONT_PUSH
    GETCOORD_Y(9)   ' R9 - Ybase
		GETHEIGHT(0)

    MOV0(1)
    FCONST_100(66)
    MUL(1)          ' R1 - высота текста индекса
		SETHEIGHT(1)

    MOV0(2)
    FCONST_100(32)
    MUL(2)
    MOV9(3)
    SUB2(3)         ' R3 - Yindex
    SETCOORD_Y(3)

    TEXT_ADDX("-")
    GLB_X_ADD_ITALIC

    SETCOORD_Y(9)   ' R9 - Ybase
    GLB_FONT_POP
		DATA_END


'===============================================================================
#NODE; "Углы, уклоны, конусность" 1
#BCOORD( 76 ); "Уклон (влево)" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.6 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xmax

    GETCOORD_Y(6)  ' R6 - Ymin

    MOV6(5)
    ADD0(5)         ' R5 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 11 ); "Уклон (вправо)" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.6 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xmax

    GETCOORD_Y(6)  ' R6 - Ymin

    MOV6(5)
    ADD0(5)         ' R5 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(6)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 12 ); "Конусность (влево)" 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    DIV_2(0)       ' в R0 - H/2
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)
    ADD0(8)
    ADD0(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Yc

    MOV4(3)
    ADD0(3)        ' R3 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    PUSH(4)
    PUSH(9)
    PUSH(3)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(3)
    PUSH(8)
    LINE

    FCONST(14)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 13 ); "Конусность (вправо)" 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    DIV_2(0)       ' в R0 - H/2
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)
    ADD0(8)
    ADD0(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Yc

    MOV4(3)
    ADD0(3)        ' R3 - Ymax

    PUSH(5)
    PUSH(9)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(3)
    PUSH(9)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(3)
    PUSH(9)
    LINE

    FCONST(14)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 9 ); "Угол (влево)" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 69 ); "Угол (вправо)" 2
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END

'================= ГОСТ 2.308-79 ==== c 103 ====================================
#NODE; "Допуски формы и расположения поверхностей" 1
#NODE; "Допуск формы" 2
#BCOORD( 16 ); "Допуск прямолинейности" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    MOV0(1)
    FCONST_100(160)
    MUL(1)         ' R1 - 1.6 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD1(8)         ' R8 - Xmax

    DIV_2(0)        ' R0 - 0.5 высоты текста

    GETCOORD_Y(6)
    ADD0(6)         ' R6 - Yc

    PUSH(6)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE           ' средняя

    SETCOORD_X(8)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 17 ); "Допуск плоскостности" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    MOV0(1)
    FCONST_100(58) ' ctan(60')*100
    MUL(1)         ' R1 - высота текста * ctan(60')

    MOV0(2)
    FCONST_100(160)
    MUL(2)         ' R2 - 1.6 * высота текста

    GETCOORD_X(9)  ' R9 - XminDN

    MOV9(8)
    ADD1(8)         ' R8 - XminUP

    MOV9(7)
    ADD2(7)         ' R7 - XmaxDN

    MOV8(6)
    ADD2(6)         ' R6 - XmaxUP

    GETCOORD_Y(5)  ' R5 - Ymin

    MOV5(4)
    ADD0(4)         ' R4 - Ymax

    PUSH(4)
    PUSH(8)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(7)
    LINE

    PUSH(5)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(6)
    PUSH(4)
    PUSH(8)
    LINE

    SETCOORD_X(6)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 22 ); "Допуск круглости" 3
    GETHEIGHT(0)   ' R0 - H-высота текста
    DIV_2(0)       ' R0 - H/2

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3H

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax

    GETCOORD_Y(5)
    ADD0(5)         ' R5 - Yc

    ADD1(0)

    PUSH(0)
    PUSH(5)
    PUSH(8)
    CIRCLE

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 23 ); "Допуск цилиндричности" 3
    GETHEIGHT(0)   ' в R0 - H-высота текста

    MOV0(2)
    FCONST_100(1154)
    MUL(2)
    DIV_10(2)      ' R2 - расстояние между линиями по горизонтали

    MOV0(3)
    FCONST_100(30)
    MUL(3)         ' R3 - 0.3H

    ADD3(0)
    ADD3(0)         ' R0 - 1.6H

    MOV0(1)
    FCONST_100(58) ' 1/ctan(60') * 100
    MUL(1)         ' R1 - 1.6H * 1/ctan(60')

    GETCOORD_X(9)  ' R9 - XminDN

    MOV9(8)
    ADD1(8)         ' R8 - XminUP

    MOV9(7)
    ADD2(7)         ' R7 - XmaxDN

    MOV8(6)
    ADD2(6)         ' R6 - XmaxUP

    GETCOORD_Y(5)
    SUB3(5)         ' R5 - Ybase-0.3H

    MOV5(4)
    ADD0(4)         ' R4 - Ymax

    PUSH(4)
    PUSH(8)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(7)
    LINE

    ADD6(9)
    DIV_2(9)        ' R9 - Xc

    ADD5(4)
    DIV_2(4)        ' R4 - Yc

    GETHEIGHT(0)   ' R0 - H
    DIV_2(0)        ' R0 - радиус

    PUSH(0)
    PUSH(4)
    PUSH(9)
    CIRCLE

    SETCOORD_X(6)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 18 ); "Допуск профиля продольного сечения" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3 высоты текста

    MOV1(2)
    DIV_2(2)        ' R2 - 0.15 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax
    SETCOORD_X(7)

    GETCOORD_Y(6)

    PUSH(6)        ' для R4
    PUSH(6)        ' для R5
    ADD2(6)         ' R6 - Ydn

    POP(5)         ' GetCoordY
    ADD0(5)         ' R5 - Yc

    POP(4)         ' GetCoordY

    ADD0(4)
    ADD0(4)
    SUB2(4)         ' R4 - Yup

    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(9)
    LINE           ' верхняя

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE           ' нижняя

		DATA_END

'-------------------------------------------------------------------------------
#NODE; "Допуск расположения" 2
#BCOORD( 24 ); "Допуск параллельности" 3
    GETHEIGHT(0)   ' в R0 - H-высота текста

    MOV0(2)
    FCONST_100(81)
    MUL(2)         ' R2 - расстояние между линиями по горизонтали

    MOV0(3)
    FCONST_100(30)
    MUL(3)         ' R3 - 0.3H

    ADD3(0)
    ADD3(0)         ' R0 - 1.6H

    MOV0(1)
    FCONST_100(58) ' 1/ctan(60') * 100
    MUL(1)         ' R1 - 1.6H * 1/ctan(60')

    GETCOORD_X(9)  ' R9 - XminDN

    MOV9(8)
    ADD1(8)         ' R8 - XminUP

    MOV9(7)
    ADD2(7)         ' R7 - XmaxDN

    MOV8(6)
    ADD2(6)         ' R6 - XmaxUP

    GETCOORD_Y(5)
    SUB3(5)         ' R5 - Ybase-0.3H

    MOV5(4)
    ADD0(4)         ' R4 - Ymax

    PUSH(4)
    PUSH(8)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(7)
    LINE

    SETCOORD_X(6)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 25 ); "Допуск перпендикулярности" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax

    GETCOORD_Y(6)
    SUB1(6)         ' R6 - Ymin

    MOV6(5)
    ADD0(5)
    ADD1(5)         ' R5 - Yc

    MOV5(4)
    ADD0(4)
    ADD1(4)         ' R4 - Ymax

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 10 ); "Допуск наклона" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.6 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xmax

    GETCOORD_Y(6)  ' R6 - Ymin

    MOV6(5)
    ADD0(5)         ' R5 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    SETCOORD_X(8)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 26 ); "Допуск соосности" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax

    GETCOORD_Y(6)
    SUB1(6)         ' R6 - Ymin

    MOV6(5)
    ADD0(5)
    ADD1(5)         ' R5 - Yc


    PUSH(0)
    PUSH(5)
    PUSH(8)
    CIRCLE

    ADD1(0)
    PUSH(0)
    PUSH(5)
    PUSH(8)
    CIRCLE

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 19 ); "Допуск симметричности" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3 высоты текста

    MOV1(2)
    DIV_2(2)        ' R2 - 0.15 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax
    SETCOORD_X(7)

    GETCOORD_Y(6)

    PUSH(6)        ' для R4
    PUSH(6)        ' для R5
    ADD2(6)        ' R6 - Ydn

    POP(5)         ' GetCoordY
    ADD0(5)         ' R5 - Yc

    POP(4)         ' GetCoordY
    ADD0(4)
    ADD0(4)
    SUB2(4)         ' R4 - Yup

    PUSH(5)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE           ' средняя

    ADD1(9)
    SUB1(7)

    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(9)
    LINE           ' верхняя

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE           ' нижняя

		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 27 ); "Позиционный допуск" 3
    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

    MOV0(1)
    FCONST_100(60)
    MUL(1)         ' R1 - 0.3 высоты текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)
    ADD1(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)
    ADD1(7)         ' R7 - Xmax

    GETCOORD_Y(6)
    SUB1(6)         ' R6 - Ymin

    MOV6(5)
    ADD0(5)
    ADD1(5)         ' R5 - Yc

    MOV5(4)
    ADD0(4)
    ADD1(4)         ' R4 - Ymax

    PUSH(5)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(0)
    PUSH(5)
    PUSH(8)
    CIRCLE

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 33 ); "Допуск пересечения осей" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    GETCOORD_Y(7)  ' R7 - Ymin

    MOV7(6)
    ADD0(6)        ' R6 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(8)
    PUSH(6)
    PUSH(9)
    LINE

    SETCOORD_X(8)
		DATA_END

'-------------------------------------------------------------------------------
#NODE; "Суммарные допуски формы и расположения" 2
#BCOORD( 28 ); "Допуск биения" 3
    GETHEIGHT(0)   ' в R0 - H-высота текста

    MOV0(3)
    FCONST_100(30)
    MUL(3)         ' R3 - 0.3H

    ADD3(0)
    ADD3(0)         ' R0 - 1.6H

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)         ' R8 - Xmax

    GETCOORD_Y(7)
    SUB3(7)         ' R7 - Ymin=Ybase-0.3H

    MOV7(6)
    ADD0(6)         ' R6 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    SETCOORD_X(8)

    MOV0(1)
    FCONST_100(40)
    MUL(1)         ' R1 - длина стрелки

    MOV0(2)
    FCONST_100(12)
    MUL(2)         ' R2 - длина отвода стрелки от линии

    MOV6(7)
    SUB1(7)

    MOV8(9)
    SUB1(9)
    ADD2(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    MOV6(7)
    SUB1(7)
    ADD2(7)

    MOV8(9)
    SUB1(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 29 ); "Допуск полного биения" 3
    GETHEIGHT(0)   ' в R0 - H-высота текста

    MOV0(3)
    FCONST_100(30)
    MUL(3)         ' R3 - 0.3H

    ADD3(0)
    ADD3(0)         ' R0 - 1.6H

    ' первая стрелка
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)         ' R8 - Xmax

    GETCOORD_Y(7)
    SUB3(7)         ' R7 - Ymin=Ybase-0.3H

    PUSH(7)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE


    MOV7(6)
    ADD0(6)         ' R6 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    SETCOORD_X(8)

    MOV0(1)
    FCONST_100(40)
    MUL(1)         ' R1 - длина стрелки

    MOV0(2)
    FCONST_100(12)
    MUL(2)         ' R2 - длина отвода стрелки от линии

    MOV6(7)
    SUB1(7)

    MOV8(9)
    SUB1(9)
    ADD2(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    MOV6(7)
    SUB1(7)
    ADD2(7)

    MOV8(9)
    SUB1(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    ' вторая стрелка
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)         ' R8 - Xmax

    GETCOORD_Y(7)
    SUB3(7)         ' R7 - Ymin=Ybase-0.3H

    MOV7(6)
    ADD0(6)         ' R6 - Ymax

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    SETCOORD_X(8)

    MOV0(1)
    FCONST_100(40)
    MUL(1)         ' R1 - длина стрелки

    MOV0(2)
    FCONST_100(12)
    MUL(2)         ' R2 - длина отвода стрелки от линии

    MOV6(7)
    SUB1(7)

    MOV8(9)
    SUB1(9)
    ADD2(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

    MOV6(7)
    SUB1(7)
    ADD2(7)

    MOV8(9)
    SUB1(9)

    PUSH(6)
    PUSH(8)
    PUSH(7)
    PUSH(9)
    LINE

		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 20 ); "Допуск формы заданного профиля" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)         ' R7 - Xmax

    GETCOORD_Y(6)  ' R6 - Yc

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(8)
    ARC

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 21 ); "Допуск формы заданной поверхности" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)         ' R8 - Xc

    MOV8(7)
    ADD0(7)         ' R7 - Xmax

    GETCOORD_Y(6)  ' R6 - Yc

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(8)
    ARC

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE

    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 30 ); "Зависимый допуск" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 32 ); "Независимый допуск" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 31 ); "Выступающее поле допуска" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 220 ); "Допуск для нежестких деталей" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("»|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 366 ); "Требование прилегания" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 408 ); "Требование минимума материала" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 422 ); "Средний элемент" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END

'================= ГОСТ 2.309-73 ==== c 131 ====================================
#NODE; "Направления неровностей шероховатости" 1
'------------------------------------------------------------------------------------

#BCOORD( 70 ); "параллельное" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(2)
    DIV_2(2)
    DIV_2(2)        ' R2 - 0.25 высоты текста (отступы до линий сверху и снизу)

    GETCOORD_Y(6)  ' R6 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xmin из-за italic

    MOV9(7)
    ADD0(7)         ' R7 - Xmax
    SETCOORD_X(7)

    MOV6(5)
    ADD2(5)         ' R5 - Ydn

    MOV6(4)
    ADD0(4)         ' R4 - Ymax
    SUB2(4)         ' R4 - Yup

    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(9)
    LINE           ' верхняя

    PUSH(5)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE           ' нижняя

    MOV0(1)
    FCONST_100(112)
    MUL(1)          ' R1 - 1.12 высоты текста
    ADD6(1)         ' R6 - Нижняя граница ячейки текста
    PUSH(1)
    ADD_GAB_Y       ' Добавить к габариту символа

    FCONST_100(32)
    MUL(0)          ' R0 - 0.32 высоты текста
    SUB0(6)         ' R6 - Нижняя граница ячейки текста
    PUSH(6)
    ADD_GAB_Y       ' Добавить к габариту символа

		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 71 ); "перпендикулярное" 2
    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    DIV_2(1)        ' R1 - 0.5H

    GETCOORD_Y(6)  ' R6 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xmin из-за italic

    MOV9(7)
    ADD0(7)         ' R7 - Xmax
    SETCOORD_X(7)

    MOV9(8)
    ADD1(8)         ' R8 - Xc

    MOV6(4)
    ADD0(4)         ' R4 - Ymax

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE


    MOV0(1)
    FCONST_100(112)
    MUL(1)          ' R1 - 1.12 высоты текста
    ADD6(1)         ' R6 - Нижняя граница ячейки текста
    PUSH(1)
    ADD_GAB_Y       ' Добавить к габариту символа

    FCONST_100(32)
    MUL(0)          ' R0 - 0.32 высоты текста
    SUB0(6)         ' R6 - Нижняя граница ячейки текста
    PUSH(6)
    ADD_GAB_Y       ' Добавить к габариту символа

		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 72 ); "перекрещивающееся" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 73 ); "произвольное" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("M|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 74 ); "кругообразное" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("C|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 75 ); "радиальное" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("R|GOST type A|GOST type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 170 ); "точечное" 2
GLB_X_ADD_ITALIC
TEXT_ADDX_N("P|GOST type A|GOST type A (plotter)")
DATA_END

'================= ГОСТ 2.312-72 ==== c 153 ====================================
#NODE; "Швы сварных соединений" 1
#NODE; "Сварные швы по ISO 2553:2013" 2
#BCOORD( 1001 ); "Стыковой шов между пластинами с отбортовкой кромок" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1, X1c

    MOV9(7)
    ADD0(7)         ' R7 - X2

    GETCOORD_Y(8)    'R8 - Y1, Y3
    
    MOV8(6)
    ADD0(6)         ' R6 - Y1, Y1c, Y4, Y2c

    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    ARC

    MOV0(3)
    FCONST_100(220)
    MUL(3)
    ADD9(3)         ' R3 - X3

    MOV0(5)
    FCONST_100(120)
    MUL(5)
    ADD9(5)         ' R5 - X4

    PUSH(8)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(3)
    ARC

    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1002 ); "Стыковой шов без скоса кромок" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV0(7)
    FCONST_100(20)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4
    
    GETCOORD_Y(8)    'R8 - Y1, Y3
    
    MOV8(6)
    ADD0(6)         ' R6 - Y2, Y4

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(7)
    PUSH(6)
    PUSH(7)
    LINE
    
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1003 ); "V-образный стыковой шов со скосом кромок" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(60)
    MUL(7)
    ADD9(7)         ' R7 - X2
    
    MOV0(5)
    FCONST_100(120)
    MUL(5)
    ADD9(5)         ' R5 - X3
    
    GETCOORD_Y(8)    'R8 - Y2
    
    MOV8(6)
    ADD0(6)         ' R6 - Y1, Y3

    PUSH(8)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE
    
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1004 ); "Стыковой шов со скосом одной кромки" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3
    
    GETCOORD_Y(8)    'R8 - Y1
    
    MOV8(6)
    ADD0(6)         ' R6 - Y2, Y3

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1005 ); "V-образный стыковой шов со скосом кромок с широкой поверхностью притупления" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(30)
    MUL(7)
    ADD9(7)         ' R7 - X2,X4
    
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    ADD9(5)         ' R5 - X3
    
    GETCOORD_Y(8)    'R8 - Y4
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y2
    
    MOV8(4)
    ADD0(4)         ' R4 - Y1, Y3

    PUSH(4)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
        
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1006 ); "Стыковой шов со скосом одной кромки с широкой поверхностью притупления" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2,X3

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X4
    
    GETCOORD_Y(8)    'R8 - Y1
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y2, Y4

    PUSH(4)
    PUSH(9)
    PUSH(8)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    LINE
            
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1007 ); "U-образный стыковой шов с криволинейным скосом кромок" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4,Xc
    
    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)    'R8 - Y4
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y1, Y2,Yc

    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
            
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1008 ); "J-образный стыковой шов с криволинейным скосом одной кромки" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2,X3,Xc

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X4
    
    GETCOORD_Y(8)    'R8 - Y1
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y1,Y4,Yc

    PUSH(4)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    PUSH(4)
    PUSH(9)
    ARC
    
    PUSH(8)
    PUSH(9)
    PUSH(4)
    PUSH(9)
    LINE
            
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1009 ); "Подварочный шов" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc
    
    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2
    
    MOV0(4)
    FCONST_100(60)
    MUL(4)
    ADD8(4)         ' R4 - Yc
    
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    LINE
            
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1010 ); "Угловой сварной шов" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3
    
    GETCOORD_Y(8)    'R8 - Y1,Y3
        
    MOV8(6)
    ADD0(6)         ' R6 - Y2

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE
        
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1011 ); "Пробочный сварной шов" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3,X4
    
    GETCOORD_Y(8)    'R8 - Y1,Y4
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y2,Y3
    
    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
        
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1012 ); "Точечный шов" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc
    
    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    ARC
                
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1024 ); "Шов между двумя точками" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1 начало стрелы
    ADD_ITALIC(9)  ' сдвиг X1 из-за italic

    MOV0(1)
    FCONST_100(14)
    MUL(1)
    ADD9(1)         ' сдвиг на 2H/14 - межсимвольный зазор    

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD1(7)         ' R7 - X конца левого оперения
    
    MOV0(5)
    FCONST_100(150)
    MUL(5)
    ADD1(5)         ' R5 - X конца правого оперения
        
    MOV0(3)
    FCONST_100(200)
    MUL(3)
    ADD1(3)         ' R3 - X2 конец стрелы

    GETCOORD_Y(8)
        
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y тела стрелы
    
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - низ оперения

    MOV0(2)
    FCONST_100(60)
    MUL(2)
    ADD8(2)         ' R2 - верх оперения

    
    PUSH(4)         ' стрела
    PUSH(1)
    PUSH(4)
    PUSH(3)
    LINE

    PUSH(4)         ' левый верх
    PUSH(1)
    PUSH(2)
    PUSH(7)
    LINE

    PUSH(4)         ' левый низ
    PUSH(1)
    PUSH(6)
    PUSH(7)
    LINE

    PUSH(4)         ' правый верх
    PUSH(3)
    PUSH(2)
    PUSH(5)
    LINE

    PUSH(4)         ' правый низ
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(2)         ' левую закрыть
    PUSH(7)
    PUSH(6)
    PUSH(7)
    LINE

    PUSH(2)         ' правую закрыть
    PUSH(5)
    PUSH(6)
    PUSH(5)
    LINE

    MOV0(1)
    FCONST_100(14)
    MUL(1)
    ADD3(1)         ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1013 ); "Шовная контактная сварка" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X3,X5

    MOV0(7)
    FCONST_100(20)
    MUL(7)
    ADD9(7)         ' R7 - X1
    
    MOV0(5)
    FCONST_100(70)
    MUL(5)
    ADD9(5)         ' R5 - Xc
    
    MOV0(3)
    FCONST_100(120)
    MUL(3)
    ADD9(3)         ' R3 - X2
    
    MOV0(1)
    FCONST_100(140)
    MUL(1)
    ADD9(1)         ' R1 - X4,X6
        
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - Y3,Y4
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y1,Y2,Yc
    
    MOV0(2)
    FCONST_100(60)
    MUL(2)
    ADD8(2)         ' R2 - Y5,Y6
    
    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(5)
    ARC
    
    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    ARC
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(1)
    LINE
    
    PUSH(2)
    PUSH(9)
    PUSH(2)
    PUSH(1)
    LINE
                    
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1014 ); "Стыковой шов между пластинами с отбортовкой кромок. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1, X1c

    MOV9(7)
    ADD0(7)         ' R7 - X2

    GETCOORD_Y(8)    'R8 - Y2,Y4,Y1c,Y2c
    
    MOV8(6)
    ADD0(6)         ' R6 - Y1, Y3

    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    ARC

    MOV0(3)
    FCONST_100(220)
    MUL(3)
    ADD9(3)         ' R3 - X3,X2c

    MOV0(5)
    FCONST_100(120)
    MUL(5)
    ADD9(5)         ' R5 - X4

    PUSH(8)
    PUSH(5)
    PUSH(6)
    PUSH(3)
    PUSH(8)
    PUSH(3)
    ARC

    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1015 ); "Стыковой шов без скоса кромок. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(60)
    MUL(7)
    ADD9(7)         ' R7 - X2
    
    MOV0(5)
    FCONST_100(120)
    MUL(5)
    ADD9(5)         ' R5 - X3
    
    GETCOORD_Y(8)    'R8 - Y1,Y3
    
    MOV8(6)
    ADD0(6)         ' R6 - Y2

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(5)
    LINE
    
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1016 ); "Cтыковой шов со скосом одной кромки. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3
    
    GETCOORD_Y(8)    'R8 - Y1,Y3
    
    MOV8(6)
    ADD0(6)         ' R6 - Y2

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1017 ); "V-образный стыковой шов со скосом кромок с широкой поверхностью притупления. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(30)
    MUL(7)
    ADD9(7)         ' R7 - X2,X4
    
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    ADD9(5)         ' R5 - X3
    
    GETCOORD_Y(8)    'R8 - Y1,Y3
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y2
    
    MOV8(4)
    ADD0(4)         ' R4 - Y4

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(5)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(4)
    PUSH(7)
    LINE
        
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1018 ); "Стыковой шов со скосом одной кромки с широкой поверхностью притупления. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2,X3

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X4
    
    GETCOORD_Y(8)    'R8 - Y2,Y4
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y1

    PUSH(4)
    PUSH(9)
    PUSH(8)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
            
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1019 ); "U-образный стыковой шов с криволинейным скосом кромок. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4,Xc
    
    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)    'R8 - Y1,Y2,Yc
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y4

    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(5)
    PUSH(8)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(7)
    PUSH(4)
    PUSH(7)
    LINE
            
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1020 ); "J-образный стыковой шов с криволинейным скосом одной кромки. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2,X3,Xc

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X4
    
    GETCOORD_Y(8)    'R8 - Y4,Y2,Yc
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3
    
    MOV8(4)
    ADD0(4)         ' R4 - Y1

    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    ARC
    
    PUSH(8)
    PUSH(9)
    PUSH(4)
    PUSH(9)
    LINE
            
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1021 ); "Подварочный шов. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc
    
    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)     'R8 - Yc
        
    MOV0(6)
    FCONST_100(20)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    PUSH(8)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    LINE
            
    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1022 ); "Угловой сварной шов. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3
    
    GETCOORD_Y(8)    'R8 - Y2
        
    MOV8(6)
    ADD0(6)         ' R6 - Y1,Y3

    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE
        
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 1023 ); "Пробочный сварной шов. Зеркальный символ" 3
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1,X2

    MOV9(7)
    ADD0(7)         ' R7 - X3,X4
    
    GETCOORD_Y(8)    'R8 - Y2,Y3
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y4
    
    PUSH(8)
    PUSH(9)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
        
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 34 ); "Знак размера катета" 2
    GLB_X_ADD_ITALIC
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)

		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 35 ); "Усиление шва снять (лицевой)" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 36 ); "Усиление шва снять (оборотный)" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 37 ); "Наплывы обр. с плавным переходом (лицевой)" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 38 ); "Наплывы обр. с плавным переходом (оборотный)" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 15 ); "Шов прерыв. или точ. c цепным расположением" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 39 ); "Шов прерыв. или точ. c шахм. расположением" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 40 ); "Шов по незамкнутой линии" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 148 ); "Знак монтажного шва" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------		
#BCOORD( 121 ); "Обозначение сварного шва" 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(6)
    FCONST_100(122)
    MUL(6) 
    ADD8(6)
    
    MOV0(7)
    FCONST_100(70)
    MUL(7) 
    ADD9(7)
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' ножка
    
    MOV0(4)
    FCONST_100(56)
    MUL(4) 
    ADD8(4)
    
    MOV0(5)
    FCONST_100(24)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(5)
    PUSH(8)
    PUSH(9)
    LINE           ' стрелка

    MOV0(3)
    FCONST_100(80)
    MUL(3) 
    ADD9(3)        ' X точки привязки текста

    WIDTHBASEBOX(1)
    ADD3(1)        ' R1 - Xrighttext

    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD5(1)        ' кончик полки справа _за_ текстом

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(1)
    LINE           ' полка 
    
    MOV0(4)
    FCONST_100(20)
    MUL(4)         ' превышение токи привязки текста над полкой 
    
    ADD4(6)        ' R4 - Y точки привязки текста
       
    SETCOORD_X(3)
    GLB_COORD_PUSH
    SETCOORD_Y(6)
    DATA_END    
    
#ECOORD( 121 )
    GETHEIGHT(0)   ' R0 - высота текста
    
    GETCOORD_X(9)
    GLB_COORD_POP
    GETCOORD_Y(8)

    FCONST_100(50)
    MUL(0)
    ADD0(9)

    SETCOORD_X(9)
    SETCOORD_Y(8)
    DATA_END 
'-------------------------------------------------------------------------------
#BCOORD( 122 ); "Обозначение сварного шва. По контуру." 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(6)
    FCONST_100(122)
    MUL(6) 
    ADD8(6)
    
    MOV0(7)
    FCONST_100(70)
    MUL(7) 
    ADD9(7)
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' ножка
    
    MOV0(4)
    FCONST_100(56)
    MUL(4) 
    ADD8(4)
    
    MOV0(5)
    FCONST_100(24)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(5)
    PUSH(8)
    PUSH(9)
    LINE           ' стрелка
    
    MOV0(4)
    FCONST_100(30)
    MUL(4)         ' R4 - радиус окр.

    PUSH(4)
    PUSH(6)
    PUSH(7)
    CIRCLE

    MOV0(3)
    FCONST_100(100)
    MUL(3) 
    ADD9(3)        ' X точки привязки текста

    WIDTHBASEBOX(1)
    ADD3(1)        ' R1 - Xrighttext

    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD5(1)        ' кончик полки справа _за_ текстом

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(1)
    LINE           ' полка 
    
    MOV0(4)
    FCONST_100(20)
    MUL(4)         ' превышение токи привязки текста над полкой 
    
    ADD4(6)        ' R4 - Y точки привязки текста
       
    SETCOORD_X(3)
    GLB_COORD_PUSH
    SETCOORD_Y(6)
    DATA_END    
    
#ECOORD( 122 )
    GETHEIGHT(0)   ' R0 - высота текста
    
    GETCOORD_X(9)
    GLB_COORD_POP
    GETCOORD_Y(8)

    FCONST_100(50)
    MUL(0)
    ADD0(9)

    SETCOORD_X(9)
    SETCOORD_Y(8)
    DATA_END 
'-------------------------------------------------------------------------------
#BCOORD( 123 ); "Обозначение сварного шва. Монтажный шов." 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(6)
    FCONST_100(122)
    MUL(6) 
    ADD8(6)
    
    MOV0(7)
    FCONST_100(70)
    MUL(7) 
    ADD9(7)
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' ножка
    
    MOV0(4)
    FCONST_100(56)
    MUL(4) 
    ADD8(4)
    
    MOV0(5)
    FCONST_100(24)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(5)
    PUSH(8)
    PUSH(9)
    LINE           ' стрелка

    MOV0(4)
    FCONST_100(222)
    MUL(4) 
    ADD8(4)
    
    PUSH(6)
    PUSH(7)
    PUSH(4)
    PUSH(7)
    LINE           ' монтажный, вертик.
    
    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE           ' монтажный, гориз.

    MOV0(3)
    FCONST_100(90)
    MUL(3) 
    ADD9(3)        ' X точки привязки текста

    WIDTHBASEBOX(1)
    ADD3(1)        ' R1 - Xrighttext

    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD5(1)        ' кончик полки справа _за_ текстом

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(1)
    LINE           ' полка 
    
    MOV0(4)
    FCONST_100(20)
    MUL(4)         ' превышение токи привязки текста над полкой 
    
    ADD4(6)        ' R4 - Y точки привязки текста
    
    SETCOORD_X(3)
    GLB_COORD_PUSH
    SETCOORD_Y(6)
    DATA_END    
    
#ECOORD( 123 )
    GETHEIGHT(0)   ' R0 - высота текста
    
    GETCOORD_X(9)
    GLB_COORD_POP
    GETCOORD_Y(8)

    FCONST_100(50)
    MUL(0)
    ADD0(9)

    SETCOORD_X(9)
    SETCOORD_Y(8)
    DATA_END 
      
'-------------------------------------------------------------------------------
#BCOORD( 124 ); "Обозначение сварного шва. Монтажный шов по контуру." 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(6)
    FCONST_100(122)
    MUL(6) 
    ADD8(6)
    
    MOV0(7)
    FCONST_100(70)
    MUL(7) 
    ADD9(7)
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' ножка
    
    MOV0(4)
    FCONST_100(56)
    MUL(4) 
    ADD8(4)
    
    MOV0(5)
    FCONST_100(24)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(5)
    PUSH(8)
    PUSH(9)
    LINE           ' стрелка

    MOV0(4)
    FCONST_100(30)
    MUL(4)         ' R4 - радиус окр.

    PUSH(4)
    PUSH(6)
    PUSH(7)
    CIRCLE

    MOV0(4)
    FCONST_100(222)
    MUL(4) 
    ADD8(4)
    
    PUSH(6)
    PUSH(7)
    PUSH(4)
    PUSH(7)
    LINE           ' монтажный, вертик.
    
    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD9(5)
    
    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE           ' монтажный, гориз.

    MOV0(3)
    FCONST_100(100)
    MUL(3) 
    ADD9(3)        ' X точки привязки текста

    WIDTHBASEBOX(1)
    ADD3(1)        ' R1 - Xrighttext

    MOV0(5)
    FCONST_100(30)
    MUL(5) 
    ADD5(1)        ' кончик полки справа _за_ текстом

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(1)
    LINE           ' полка 
    
    MOV0(4)
    FCONST_100(20)
    MUL(4)         ' превышение токи привязки текста над полкой 
    
    ADD4(6)        ' R4 - Y точки привязки текста
    
    SETCOORD_X(3)
    GLB_COORD_PUSH
    SETCOORD_Y(6)
    DATA_END    
    
#ECOORD( 124 )
    GETHEIGHT(0)   ' R0 - высота текста
    
    GETCOORD_X(9)
    GLB_COORD_POP
    GETCOORD_Y(8)

    FCONST_100(50)
    MUL(0)
    ADD0(9)

    SETCOORD_X(9)
    SETCOORD_Y(8)
    DATA_END 
       
'-------------------------------------------------------------------------------
#NODE; "Другие знаки" 2
'-------------------------------------------------------------------------------
#BCOORD( 84 ); "Знак размера катета (перевернутый 1)" 3
    GLB_X_ADD_ITALIC
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(4)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)

		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 85 ); "Знак размера катета (перевернутый 2)" 3
    GLB_X_ADD_ITALIC
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(8)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)

		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 86 ); "Знак размера катета (перевернутый 3)" 3
    GLB_X_ADD_ITALIC
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin

    MOV9(8)
    ADD0(8)        ' R8 - Xmax

    MOV5(4)
    ADD0(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    FCONST(7)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------		

'===============================================================================
#NODE; "Обозначения видов, разрезов и сечений" 1
#BCOORD( 63 ); "Повернуто" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 64 ); "Развернуто" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END

'===============================================================================
#NODE; "Шероховатость" 1
#BCOORD( 171 ); "Верхний. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' R6 = -0.28	* H

    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    MOV2(3)
    SUB6(3)
    FCONST_100(57)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала

    MOV7(4)
    SUB6(4)
    FCONST_100(58)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

    WIDTHBASEBOX(5)
    ADD4(5)		   ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

'    MOV7(2)
'    ADD1(2)        ' R2 = Yup + 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

'    MOV6(2)
'    SUB1(2)        ' R2 = Ydn - 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 171 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
	DATA_END

'------------------------------------------------------------------------------------
#BCOORD( 172 ); "Верхний. С удалением материала. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' R6 = -0.28	* H

    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    MOV2(3)
    SUB6(3)
    FCONST_100(57)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала

    MOV7(4)
    SUB6(4)
    FCONST_100(58)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

	MOV0(5)
    FCONST_100(90)
    MUL(5)
	ADD9(5)		   ' R2,R5 - конец полки

    PUSH(2)
    PUSH(5)
    PUSH(2)
    PUSH(9)
    LINE           ' полка

    WIDTHBASEBOX(5)
    ADD4(5)		   ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

'    MOV7(2)
'    ADD1(2)        ' R2 = Yup + 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

'    MOV6(2)
'    SUB1(2)        ' R2 = Ydn - 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 172 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
	DATA_END

'------------------------------------------------------------------------------------
#BCOORD( 364 ); "Верхний. Без удаления материала. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' R6 = -0.28	* H

    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    MOV2(3)
    SUB6(3)
    FCONST_100(57)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала

    MOV7(4)
    SUB6(4)
    FCONST_100(58)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

    MOV0(6)
    FCONST_100(27)
    MUL(6)          ' R6 - радиус впис. окр.

    MOV0(2)
    FCONST_100(41)
    MUL(2)
    ADD8(2)         ' R2 - Yc    

    PUSH(6)
    PUSH(2)
    PUSH(3)
    CIRCLE

    WIDTHBASEBOX(5)
    ADD4(5)		   ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

'    MOV7(2)
'    ADD1(2)        ' R2 = Yup + 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

'    MOV6(2)
'    SUB1(2)        ' R2 = Ydn - 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 364 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
	DATA_END

'-------------------------------------------------------------------------------    
#BCOORD( 279 ); "Верхний. По контуру. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)   ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)  ' R8 - Y
    GETCOORD_X(9)
    ADD1(9)        ' R9 - Xlt

    TBASEBOX(7)
    PUSH(7)
    JMP_NE(100)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(7)
    MUL0(7)        ' создадим искуственную высоту блока

  LABEL(100)
    ADD8(7)
    ADD1(7)        ' R7 - Yup

    FCONST_100(28)
    SUB(6)         ' R6 = -0.28
    MUL0(6)        ' R6 = -0.28	* H

    ADD8(6)
    SUB1(6)        ' R6 - Ydn
    ADD1(6)
    ADD1(6)

    MOV0(2)
    FCONST_100(64)
    MUL(2)
    ADD8(2)        ' R9,R2 - начало знака радикала

    MOV2(3)
    SUB6(3)
    FCONST_100(57)
    MUL(3)
    ADD9(3)        ' R3,R6 - перегиб знака радикала

    MOV7(4)
    SUB6(4)
    FCONST_100(58)
    MUL(4)
    ADD3(4)        ' R4,R7 - верх знака радикала

    MOV0(8)
    FCONST_100(30)
    MUL(8)           ' R8 - радиус окр.

    PUSH(8)
    PUSH(7)
    PUSH(4)
    CIRCLE

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(9)
    LINE

    PUSH(7)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE
    
    WIDTHBASEBOX(5)
    ADD4(5)		   ' R5 - Xrt

    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(4)
    LINE           ' верхняя

'    MOV7(2)
'    ADD1(2)        ' R2 = Yup + 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

'    MOV6(2)
'    SUB1(2)        ' R2 = Ydn - 2H/14
'    PUSH(2)
'    ADD_GAB_Y      ' добавить в габарит запас по высоте

    GETITALIC(5)
    PUSH(5)
    JMP_EQ(700)

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    SUB7(4)
  LABEL(700)
    SETCOORD_X(4)
    DATA_END

#ECOORD( 279 )
    GETHEIGHT(0)   ' R0 - высота текста
    FCONST_100(30)
    MUL(0)

    GETCOORD_X(9)
    ADD0(9)
    SETCOORD_X(9)
	DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 78 ); "Верхний" 2
    WIDTHBASEBOX(1)

    GETHEIGHT(0)
    FCONST_100(115)
    MUL(0)          ' R0 - ширина левой линии (1.15 H при входе)
    MOV1(2)         ' R2 = R1
    MAX0(2)         ' R2 = max( R0,R1 )

    FNULL(8)
    ADD_ITALIC(8)   ' R8 - величина сдвига из-за italic
    MUL_3(8)
    DIV_2(8)        ' R9 - сдвиг из-за italic, приведенный к нормальной высоте текста

    GETCOORD_X(9)   ' R9 - Xmin
    ADD8(9)         ' сдвиг Xmin из-за italic
    ADD2(9)         ' R9 - X конца текста

    MOV9(8)
    SUB1(8)         ' R8 - X начала текста

    GETHEIGHT(0)
    MOV0(3)
    FCONST_100(55)
    MUL(3)          ' R3 - сдвиг от конца текста до середины галочки

    SUB3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(104)'-125
    MUL(7)
    ADD9(7)         ' R7 - Xmax

    SETCOORD_X(7)
    GLB_COORD_PUSH

    MOV9(6)
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    SUB5(6)          ' R6 - Xmin

    GETCOORD_Y(5)   ' R5 - Ymin

    MOV0(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(180)'-235
    MUL(3)           ' R3 - высота правой линии
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    BBASEBOX(2)
    SUB2(4)          ' R4 - Y начала текста

    MOV0(3)
    FCONST_100(15)
    MUL(3)
    SUB3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)

    DATA_END

#ECOORD( 78 )
		GLB_COORD_POP
		DATA_END

#BFONT( 78 )
		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)
		DATA_END

#EFONT( 78 )
		GLB_FONT_POP
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 93 ); "Верхний. С удалением материала" 2
    WIDTHBASEBOX(1)

    GETHEIGHT(0)
    FCONST_100(115)
    MUL(0)          ' R0 - ширина левой линии (1.15 H при входе)
    MOV1(2)         ' R2 = R1
    MAX0(2)         ' R2 = max( R0,R1 )

    FNULL(8)
    ADD_ITALIC(8)   ' R8 - величина сдвига из-за italic
    MUL_3(8)
    DIV_2(8)        ' R9 - сдвиг из-за italic, приведенный к нормальной высоте текста

    GETCOORD_X(9)   ' R9 - Xmin
    ADD8(9)         ' сдвиг Xmin из-за italic
    ADD2(9)         ' R9 - X конца текста

    MOV9(8)
    SUB1(8)         ' R8 - X начала текста

    GETHEIGHT(0)
    MOV0(3)
    FCONST_100(55)
    MUL(3)          ' R3 - сдвиг от конца текста до середины галочки

    SUB3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(104)'-125
    MUL(7)
    ADD9(7)         ' R7 - Xmax

    SETCOORD_X(7)
    GLB_COORD_PUSH

    MOV9(6)
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    SUB5(6)          ' R6 - Xmin

    GETCOORD_Y(5)   ' R5 - Ymin

    MOV0(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(180)'-235
    MUL(3)           ' R3 - высота правой линии
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    MOV9(2)
    SUB6(2)
    FCONST_100(96)
    MUL(2)
    ADD9(2)          ' R2 - Xmax гориз. отрезка

    PUSH(4)
    PUSH(6)
    PUSH(4)
    PUSH(2)
    LINE

    BBASEBOX(2)
    SUB2(4)          ' R4 - Y начала текста

    MOV0(3)
    FCONST_100(15)
    MUL(3)
    SUB3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)

    DATA_END

#ECOORD( 93 )
		GLB_COORD_POP
		DATA_END

#BFONT( 93 )
		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)
		DATA_END

#EFONT( 93 )
		GLB_FONT_POP
		DATA_END

'-------------------------------------------------------------------------------    
#BCOORD( 91 ); "Верхний. Без удаления материала" 2
    GETCOORD_X(9)    ' R9 - X начала текста
    ADD_ITALIC(9)    ' сдвиг Xmin из-за italic

		GETHEIGHT(0)     ' R0 - высота текста

    MOV9(6)          ' R6 - Xmin

    MOV0(8)
    FCONST_100(22)
    MUL(8)           ' R8 - радиус впис. окр.

    MOV0(3)
    FCONST_100(38)
    MUL(3)
    ADD3(9)          ' R9 - Xc

    MOV0(7)
    FCONST_100(69)'-87
    MUL(7)
    ADD9(7)          ' R7 - Xmax


    GETCOORD_Y(5)    ' R5 - Ymin

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(120)'-155
    MUL(3)
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    SUB8(4)

    PUSH(8)
    PUSH(4)
    PUSH(9)
    CIRCLE

    SETCOORD_X(7)
    SETCOORD_Y(5)
    DATA_END

'-------------------------------------------------------------------------------
    #BCOORD( 87 ); "Верхний. По контуру." 2
    GETCOORD_X(9)    ' R9 - X начала текста
    ADD_ITALIC(9)    ' сдвиг Xmin из-за italic

    GETHEIGHT(0)     ' R0 - высота текста

    MOV9(6)          ' R6 - Xmin

    MOV0(8)
    FCONST_100(30)
    MUL(8)           ' R8 - радиус окр.

    MOV0(3)
    FCONST_100(38)
    MUL(3)
    ADD3(9)          ' R9 - Xc

    MOV0(7)
    FCONST_100(69)'-87
    MUL(7)
    ADD9(7)          ' R7 - Xmax


    GETCOORD_Y(5)    ' R5 - Ymin

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(120)'-155
    MUL(3)
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    SUB8(4)

    PUSH(8)
    PUSH(3)
    PUSH(7)
    CIRCLE

    SETCOORD_X(7)
    SETCOORD_Y(5)
    DATA_END    

'------------------------------------------------------------------------------------
#BCOORD( 88 ); "Верхний. С удалением материала. По контуру." 2
    GETCOORD_X(9)    ' R9 - X начала текста
    ADD_ITALIC(9)    ' сдвиг Xmin из-за italic

    GETHEIGHT(0)     ' R0 - высота текста

    MOV9(6)          ' R6 - Xmin

    MOV0(8)
    FCONST_100(30)
    MUL(8)           ' R8 - радиус окр.

    MOV0(3)
    FCONST_100(38)
    MUL(3)
    ADD3(9)          ' R9 - Xc

    MOV0(7)
    FCONST_100(69)'-87
    MUL(7)
    ADD9(7)          ' R7 - Xmax


    GETCOORD_Y(5)    ' R5 - Ymin

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(120)'-155
    MUL(3)
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE
    
    MOV9(2)
    SUB6(2)
    FCONST_100(99)
    MUL(2)
    ADD9(2)          ' R2 - Xmax гориз. отрезка

    PUSH(4)
    PUSH(6)
    PUSH(4)
    PUSH(2)
    LINE

    SUB8(4)

    PUSH(8)
    PUSH(3)
    PUSH(7)
    CIRCLE

    SETCOORD_X(7)
    SETCOORD_Y(5)
    DATA_END    
'-------------------------------------------------------------------------------    
#BCOORD( 89 ); "Верхний. Без удаления материала. По контуру." 2
    GETCOORD_X(9)    ' R9 - X начала текста
    ADD_ITALIC(9)    ' сдвиг Xmin из-за italic

    GETHEIGHT(0)     ' R0 - высота текста

    MOV9(6)          ' R6 - Xmin

    MOV0(8)
    FCONST_100(22)
    MUL(8)           ' R8 - радиус впис. окр.

    MOV0(3)
    FCONST_100(38)
    MUL(3)
    ADD3(9)          ' R9 - Xc

    MOV0(7)
    FCONST_100(69)'-87
    MUL(7)
    ADD9(7)          ' R7 - Xmax


    GETCOORD_Y(5)    ' R5 - Ymin

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    ADD5(4)          ' R4 - Yc

    MOV0(3)
    FCONST_100(120)'-155
    MUL(3)
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    SUB8(4)

    PUSH(8)
    PUSH(4)
    PUSH(9)
    CIRCLE
    
    MOV0(8)
    FCONST_100(30)
    MUL(8)           ' R8 - радиус окр. по контуру
    
    PUSH(8)
    PUSH(3)
    PUSH(7)
    CIRCLE

    SETCOORD_X(7)
    SETCOORD_Y(5)
    DATA_END

'-------------------------------------------------------------------------------
 #BCOORD( 211 ); "Верхний без параметров" 2
    GETCOORD_X(9)    ' R9 - X начала текста
    ADD_ITALIC(9)    ' сдвиг Xmin из-за italic

    GETHEIGHT(0)     ' R0 - высота текста

    MOV9(6)          ' R6 - Xmin

    MOV0(3)
    FCONST_100(38)
    MUL(3)
    ADD3(9)          ' R9 - X

    MOV0(7)
    FCONST_100(69)
    MUL(7)
    ADD9(7)          ' R7 - Xmax


    GETCOORD_Y(5)    ' R5 - Ymin

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    ADD5(4)          ' R4 - Y

    MOV0(3)
    FCONST_100(120)'-155
    MUL(3)
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    SETCOORD_X(7)
    SETCOORD_Y(5)
    DATA_END    

'------------------------------------------------------------------------------------
#BCOORD( 280 ); "Нижний. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)     ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)           ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)    ' R8 - Y
    GETCOORD_X(9)    ' R9 - X
    ' ADD1(9)        ' R9 - Xlt

    BBASEBOX(7)
'    PUSH(7)
'    JMP_NE(100)    ' если внутренний блок текста не пустой
'    FCONST_100(112)
'    POP(7)
'    MUL0(7)        ' создадим искусственную высоту блока

'LABEL(100)
    SUB1(7)
    ADD8(7)         ' R7 - Ydn

	TBASEBOX(6)
	PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(6)
    MUL0(6)        ' создадим искусственную высоту блока

LABEL(200)
	ADD1(6)
    ADD8(6)         ' R6 - Yup

	MOV0(2)
	FCONST_100(36)
	MUL(2)
	ADD8(2)         ' R2 - y хвостика радикала
	
    WIDTHBASEBOX(5)
    ADD9(5)         ' R5 - окончание подчеркивания
    
    MOV6(3)
    SUB7(3)
    FCONST_100(57)  ' tan(30)
    MUL(3)
    ADD5(3)         ' R3 -  перегиб радикала
    
    MOV6(4)
    SUB2(4)
    FCONST_100(58)  ' tan(30)
    MUL(4)
    ADD3(4)         ' R4 - x хостика радикала
      
    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(3)
    PUSH(7)
    PUSH(5)
    LINE
    
    PUSH(2)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE
DATA_END

#ECOORD( 280 )
	GETHEIGHT(0)   ' R0 - высота текста
	
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой
    
    FCONST_100(136)
    MUL(0)
    
    MOV1(2)
    ADD1(2)
    ADD0(2)
    FCONST_100(58)
    MUL(1)

    GETCOORD_X(9)
    ADD2(9)
    SETCOORD_X(9)
DATA_END

'-------------------------------------------------------------------------------    
#BCOORD( 360 ); "Нижний. С удалением материала. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)     ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)           ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)    ' R8 - Y
    GETCOORD_X(9)    ' R9 - X
    ' ADD1(9)        ' R9 - Xlt

    BBASEBOX(7)
'    PUSH(7)
'    JMP_NE(100)    ' если внутренний блок текста не пустой
'    FCONST_100(112)
'    POP(7)
'    MUL0(7)        ' создадим искусственную высоту блока

'LABEL(100)
    SUB1(7)
    ADD8(7)         ' R7 - Ydn

	TBASEBOX(6)
	PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(6)
    MUL0(6)        ' создадим искусственную высоту блока

LABEL(200)
	ADD1(6)
    ADD8(6)         ' R6 - Yup

	MOV0(2)
	FCONST_100(36)
	MUL(2)
	ADD8(2)         ' R2 - y хвостика радикала
	
    WIDTHBASEBOX(5)
    ADD9(5)         ' R5 - окончание подчеркивания
    
    MOV6(3)
    SUB7(3)
    FCONST_100(57)  ' tan(30)
    MUL(3)
    ADD5(3)         ' R3 -  перегиб радикала
    
    MOV6(4)
    SUB2(4)
    FCONST_100(58)  ' tan(30)
    MUL(4)
    ADD3(4)         ' R4 - x хостика радикала
      
    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(3)
    PUSH(7)
    PUSH(5)
    LINE
    
    PUSH(2)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

    MOV6(3)
    SUB7(3)
    FCONST_100(27)  ' tan(30)
    MUL(3)
    ADD5(3)         ' R3 - левый конец полки

    PUSH(2)
    PUSH(4)
    PUSH(2)
    PUSH(3)
    LINE           ' полка

DATA_END

#ECOORD( 360 )
	GETHEIGHT(0)   ' R0 - высота текста
	
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой
    
    FCONST_100(136)
    MUL(0)
    
    MOV1(2)
    ADD1(2)
    ADD0(2)
    FCONST_100(58)
    MUL(1)

    GETCOORD_X(9)
    ADD2(9)
    SETCOORD_X(9)
DATA_END

'------------------------------------------------------------------------------------
#BCOORD( 365 ); "Нижний. Без удаления материала. Изм. №3 ГОСТ 2.309-73" 2
    GLB_X_ADD_ITALIC

    GETHEIGHT(0)     ' R0 - высота текста
    MOV0(1)
    FCONST(7)
    DIV(1)           ' R1 - 2H/14 - зазор между текстом и рамкой

    GETCOORD_Y(8)    ' R8 - Y
    GETCOORD_X(9)    ' R9 - X
    ' ADD1(9)        ' R9 - Xlt

    BBASEBOX(7)
'    PUSH(7)
'    JMP_NE(100)    ' если внутренний блок текста не пустой
'    FCONST_100(112)
'    POP(7)
'    MUL0(7)        ' создадим искусственную высоту блока

'LABEL(100)
    SUB1(7)
    ADD8(7)         ' R7 - Ydn

	TBASEBOX(6)
	PUSH(6)
    JMP_NE(200)    ' если внутренний блок текста не пустой
    FCONST_100(112)
    POP(6)
    MUL0(6)        ' создадим искусственную высоту блока

LABEL(200)
	ADD1(6)
    ADD8(6)         ' R6 - Yup

	MOV0(2)
	FCONST_100(36)
	MUL(2)
	ADD8(2)         ' R2 - y хвостика радикала
	
    WIDTHBASEBOX(5)
    ADD9(5)         ' R5 - окончание подчеркивания
    
    MOV6(3)
    SUB7(3)
    FCONST_100(57)  ' tan(30)
    MUL(3)
    ADD5(3)         ' R3 -  перегиб радикала
    
    MOV6(4)
    SUB2(4)
    FCONST_100(58)  ' tan(30)
    MUL(4)
    ADD3(4)         ' R4 - x хостика радикала
      
    PUSH(7)
    PUSH(5)
    PUSH(7)
    PUSH(9)
    LINE

    PUSH(6)
    PUSH(3)
    PUSH(7)
    PUSH(5)
    LINE
    
    PUSH(2)
    PUSH(4)
    PUSH(6)
    PUSH(3)
    LINE

    MOV0(6)
    FCONST_100(29)
    MUL(6)          ' R6 - радиус впис. окр.

    MOV0(2)
    FCONST_100(66)
    MUL(2)
    ADD8(2)         ' R2 - Yc    

    PUSH(6)
    PUSH(2)
    PUSH(3)
    CIRCLE

DATA_END

#ECOORD( 365 )
	GETHEIGHT(0)   ' R0 - высота текста
	
    MOV0(1)
    FCONST(7)
    DIV(1)         ' R1 - 2H/14 - зазор между текстом и рамкой
    
    FCONST_100(136)
    MUL(0)
    
    MOV1(2)
    ADD1(2)
    ADD0(2)
    FCONST_100(58)
    MUL(1)

    GETCOORD_X(9)
    ADD2(9)
    SETCOORD_X(9)
DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 79 ); "Нижний" 2
    WIDTHBASEBOX(1)  ' R1 - ширина вписанного блока текста
    ADD_ITALIC(1)    ' коррекция на величину italic

    GETHEIGHT(0)
    FCONST_100(115)
    MUL(0)           ' R0 - ширина левой линии (1.15 H при входе)

    MOV1(2)          ' R2 = R1
    MAX0(2)          ' R2 = max( R0,R1 )

    GETCOORD_X(9)    ' R9 - Xmin

    MOV9(8)
    GETHEIGHT(0)
    FCONST_100(50)'-80
    MUL(0)
    ADD0(8)          ' R8 - X начала текста

    MOV8(7)
    ADD2(7)          ' R7 - XendSym
    SETCOORD_X(7)
    GLB_COORD_PUSH

    GETHEIGHT(0)
    MOV0(6)
    FCONST_100(55)
    MUL(6)           ' R6 - сдвиг от начала текста до середины галочки
    ADD8(6)          ' R6 - Xc

    MOV0(7)
    FCONST_100(60)
    MUL(7)
    ADD6(7)          ' R7 - Xmax

    GETCOORD_Y(5)
    GETHEIGHT(1)
    MUL_3(1)
    DIV_2(1)         ' R0 - полная высота текста
    ADD1(5)          ' R5 - Ymax

    MOV5(4)
    SUB0(4)          ' R4 - Yc

    GETCOORD_Y(3)
    MOV0(2)
    FCONST_100(31)'-75
    MUL(2)
    SUB2(3)          ' R3 - Ymin

    PUSH(5)
    PUSH(6)
    PUSH(3)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(7)
    PUSH(5)
    PUSH(6)
    LINE

    TBASEBOX(2)
    SUB2(4)          ' R4 - Y начала текста

    MOV0(3)
    FCONST_100(15)
    MUL(3)
    SUB3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)

    DATA_END

#ECOORD( 79 )
		GLB_COORD_POP
		DATA_END

#BFONT( 79 )
		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)
		DATA_END

#EFONT( 79 )
		GLB_FONT_POP
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 94 ); "Нижний. С удалением материала" 2
    WIDTHBASEBOX(1)  ' R1 - ширина вписанного блока текста
    ADD_ITALIC(1)    ' коррекция на величину italic

    GETHEIGHT(0)
    FCONST_100(115)
    MUL(0)           ' R0 - ширина левой линии (1.15 H при входе)

    MOV1(2)          ' R2 = R1
    MAX0(2)          ' R2 = max( R0,R1 )

    GETCOORD_X(9)    ' R9 - Xmin

    MOV9(8)
    GETHEIGHT(0)
    FCONST_100(50)'-80
    MUL(0)
    ADD0(8)          ' R8 - X начала текста

    MOV8(7)
    ADD2(7)          ' R7 - XendSym
    SETCOORD_X(7)
    GLB_COORD_PUSH

    GETHEIGHT(0)
    MOV0(6)
    FCONST_100(55)
    MUL(6)           ' R6 - сдвиг от начала текста до середины галочки
    ADD8(6)          ' R6 - Xc

    MOV0(7)
    FCONST_100(60)
    MUL(7)
    ADD6(7)          ' R7 - Xmax

    GETCOORD_Y(5)
    GETHEIGHT(1)
    MUL_3(1)
    DIV_2(1)         ' R0 - полная высота текста
    ADD1(5)          ' R5 - Ymax

    MOV5(4)
    SUB0(4)          ' R4 - Yc

    GETCOORD_Y(3)
    MOV0(2)
    FCONST_100(31)'-75
    MUL(2)
    SUB2(3)          ' R3 - Ymin

    PUSH(5)
    PUSH(6)
    PUSH(3)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(7)
    PUSH(5)
    PUSH(6)
    LINE

    MOV7(2)
    SUB6(2)
    FCONST_100(97)
    MUL(2)
    SUB2(6)          ' R6 - Xmin гориз. отрезка

    PUSH(4)
    PUSH(6)
    PUSH(4)
    PUSH(7)
    LINE

    TBASEBOX(2)
    SUB2(4)          ' R4 - Y начала текста

    MOV0(3)
    FCONST_100(15)
    MUL(3)
    SUB3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)

    DATA_END

#ECOORD( 94 )
		GLB_COORD_POP
		DATA_END

#BFONT( 94 )
		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)
		DATA_END

#EFONT( 94 )
		GLB_FONT_POP
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 92 ); "Нижний. Без удаления материала" 2
    GETCOORD_X(9)   ' R9 - X начала текста
    ADD_ITALIC(9)   ' сдвиг Xmin из-за italic

		GETHEIGHT(0)    ' R0 - высота текста

    MOV9(6)         ' R6 - Xmin

    MOV0(8)
    FCONST_100(22)
    MUL(8)          ' R8 - радиус впис. окр.

    MOV0(3)
    FCONST_100(71)'-89
    MUL(3)
    ADD3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(38)
    MUL(7)
    ADD9(7)         ' R7 - Xmax


    GETCOORD_Y(5)   ' R5 - Ybase
    SETCOORD_X(7)

    ADD0(5)         ' R5 - Ymax
    MOV5(2)

    MOV0(4)
    FCONST_100(66)
    MUL(4)
    SUB4(5)
    MOV5(4)        ' R4 - Yc

    MOV2(5)
    MOV0(3)
    FCONST_100(122)'-155
    MUL(3)
    SUB3(5)
    MOV5(3)        ' R3 - Ymin

    MOV2(5)

    PUSH(3)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    ADD8(4)

    PUSH(8)
    PUSH(4)
    PUSH(9)
    CIRCLE

    DATA_END
    
'===============================================================================
#NODE; "Спецзнаки для совместимости с версией 4.x" 1
#NODE; "Римские цифры" 2
#BCOORD( 41 ); "Римская 1" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 42 ); "Римская 2" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 43 ); "Римская 3" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 44 ); "Римская 4" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 45 ); "Римская 5" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 46 ); "Римская 6" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 47 ); "Римская 7" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 48 ); "Римская 8" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 49 ); "Римская 9" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 50 ); "Римская 10" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END

'===============================================================================
#NODE; "Предопределенная шероховатость" 2
#BCOORD( 65 ); "Rz40" 3
    GETCOORD_X(9)   ' R9 - X начала текста
    ADD_ITALIC(9)   ' сдвиг Xmin из-за italic
    MOV9(8)         ' R8 - X начала текста

		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)    ' подготовка шрифта для вывода блока текста

    WIDTHTEXT("Rz40")
    ADD(9)          ' R9 - X конца текста

    MOV0(3)
    FCONST_100(55)
    MUL(3)          ' R3 - сдвиг от конца текста до середины галочки
    SUB3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(125)
    MUL(7)
    ADD9(7)         ' R7 - Xmax

    MOV9(6)
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    SUB5(6)         ' R6 - Xmin

    GETCOORD_Y(5)   ' R5 - Ymin

    MOV0(4)
    ADD5(4)         ' R4 - Yc

    MOV0(3)
    FCONST_100(235)
    MUL(3)           ' R3 - высота правой линии
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    MOV0(3)
    FCONST_100(11)
    MUL(3)
    ADD3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)
    TEXT("Rz40")

    SETCOORD_X(7)
    SETCOORD_Y(5)
		GLB_FONT_POP
    DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 66 ); "Rz80" 3
    GETCOORD_X(9)   ' R9 - X начала текста
    ADD_ITALIC(9)   ' сдвиг Xmin из-за italic
    MOV9(8)         ' R8 - X начала текста

		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)    ' подготовка шрифта для вывода блока текста

    WIDTHTEXT("Rz80")
    ADD(9)          ' R9 - X конца текста

    MOV0(3)
    FCONST_100(55)
    MUL(3)          ' R3 - сдвиг от конца текста до середины галочки
    SUB3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(125)
    MUL(7)
    ADD9(7)         ' R7 - Xmax

    MOV9(6)
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    SUB5(6)         ' R6 - Xmin

    GETCOORD_Y(5)   ' R5 - Ymin

    MOV0(4)
    ADD5(4)         ' R4 - Yc

    MOV0(3)
    FCONST_100(235)
    MUL(3)           ' R3 - высота правой линии
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    MOV0(3)
    FCONST_100(11)
    MUL(3)
    ADD3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)
    TEXT("Rz80")

    SETCOORD_X(7)
    SETCOORD_Y(5)
		GLB_FONT_POP
    DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 67 ); "Rz20" 3
    GETCOORD_X(9)   ' R9 - X начала текста
    ADD_ITALIC(9)   ' сдвиг Xmin из-за italic
    MOV9(8)         ' R8 - X начала текста

		GLB_FONT_PUSH
		GETHEIGHT(0)
		DIV_3(0)
    MUL_2(0)
		SETHEIGHT(0)    ' подготовка шрифта для вывода блока текста

    WIDTHTEXT("Rz20")
    ADD(9)          ' R9 - X конца текста

    MOV0(3)
    FCONST_100(55)
    MUL(3)          ' R3 - сдвиг от конца текста до середины галочки
    SUB3(9)         ' R9 - Xc

    MOV0(7)
    FCONST_100(125)
    MUL(7)
    ADD9(7)         ' R7 - Xmax

    MOV9(6)
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    SUB5(6)         ' R6 - Xmin

    GETCOORD_Y(5)   ' R5 - Ymin

    MOV0(4)
    ADD5(4)         ' R4 - Yc

    MOV0(3)
    FCONST_100(235)
    MUL(3)           ' R3 - высота правой линии
    ADD5(3)          ' R3 - Ymax

    PUSH(4)
    PUSH(6)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(5)
    PUSH(9)
    LINE

    MOV0(3)
    FCONST_100(11)
    MUL(3)
    ADD3(4)          ' дополнительный сдвиг  YbegTxt

    SETCOORD_X(8)
    SETCOORD_Y(4)
    TEXT("Rz20")

    SETCOORD_X(7)
    SETCOORD_Y(5)
		GLB_FONT_POP
    DATA_END

'===============================================================================
#NODE; "Греческий алфавит" 2
#BCOORD( 51 ); "Альфа" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 52 ); "Бета" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 53 ); "Гамма" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 54 ); "Дельта прописная" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 55 ); "Дельта" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 56 ); "Пи" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 57 ); "Сигма прописная" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 58 ); "Сигма" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 59 ); "Тау" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 60 ); "Фи" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 61 ); "Омега прописная" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'------------------------------------------------------------------------------------
#BCOORD( 62 ); "Омега" 3
    TEXT_ADDX_F("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'
'================= ГОСТ 2.410-68 Стр. 6 =====================================
#NODE; "Условные обозначения профилей проката" 1
'-------------------------------------------------------------------------------
#BCOORD( 130 ); "Круг" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 131 ); "Квадрат/прямоугольник" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 132 ); "Профиль шестигранный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 133 ); "Профиль трехгранный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 134 ); "Профиль сегментный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 135 ); "Профиль трапециевидный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 136 ); "Профиль овальный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 137 ); "Профиль полосовой" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 138 ); "Полособульб" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 139 ); "Полособульб сдвоенный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 140 ); "Уголок" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 141 ); "Профиль тавровый" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 142 ); "Профиль двутавровый" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 143 ); "Швеллер" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 144 ); "Профиль рельсовый" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 145 ); "Углобульб" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 146 ); "Профиль С-образный равнополочный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 147 ); "Профиль зетовый равнополочный" 2
    GLB_X_ADD_ITALIC
    TEXT_ADDX_N("|Symbol type A|Symbol type A (plotter)")
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 213 ); "Швеллер неравнополочный" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(67)
    MUL(7)
    ADD9(7)         ' R7 - X2,Х3
        
    GETCOORD_Y(8)    'R8 - Y1
    
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y2
    
    MOV0(4)
    ADD8(4)         ' R4 - Y3
        
    PUSH(4)
    PUSH(9)
    PUSH(8)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(7)
    PUSH(6)
    PUSH(7)
    LINE
        
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 214 ); "Уголок неравнополочный" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X2
        
    GETCOORD_Y(8)    'R8 - Y1
    
    MOV0(6)
    ADD8(6)         ' R6 - Y2
    
    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    SETCOORD_X(7)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 215 ); "Спаренные равнополочные уголки" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    ADD9(7)         ' R7 - X2,Х3
    
    MOV0(5)
    FCONST_100(133)
    MUL(5)
    ADD9(5)         ' R5 - Х4,Х5
    
    MOV0(3)
    FCONST_100(233)
    MUL(3)
    ADD9(3)         ' R3 - Х6
        
    GETCOORD_Y(8)    'R8 - Y3,Y4
    
    MOV0(6)
    ADD8(6)         ' R6 - Y1,Y2,Y5,Y6
        
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(5)
    PUSH(6)
    PUSH(5)
    LINE
    
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(3)
    LINE
            
    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 216 ); "Спаренные неравнополочные уголки" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X2,Х3
    
    MOV0(5)
    FCONST_100(83)
    MUL(5)
    ADD9(5)         ' R5 - Х4,Х5
    
    MOV0(3)
    FCONST_100(133)
    MUL(3)
    ADD9(3)         ' R3 - Х6
        
    GETCOORD_Y(8)    'R8 - Y3,Y4
    
    MOV0(6)
    ADD8(6)         ' R6 - Y1,Y2,Y5,Y6
        
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(5)
    PUSH(6)
    PUSH(5)
    LINE
    
    PUSH(6)
    PUSH(5)
    PUSH(6)
    PUSH(3)
    LINE
            
    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 217 ); "Накрестлежащие уголки" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    ADD9(7)         ' R7 - X2,Х3
    
    MOV0(5)
    FCONST_100(60)
    MUL(5)
    ADD9(5)         ' R5 - Х4,Х5
    
    MOV0(3)
    ADD9(3)         ' R3 - Х6
        
    GETCOORD_Y(8)    'R8 - Y3
        
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2
    
    MOV0(4)
    FCONST_100(60)
    MUL(4)
    ADD8(4)         ' R4 - Y5,Y6
    
    MOV0(2)
    ADD8(2)         ' R2 - Y4
            
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(2)
    PUSH(5)
    PUSH(4)
    PUSH(5)
    LINE
    
    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(3)
    LINE
            
    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 218 ); "Коробка из 2-х швеллеров" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X2,X3

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X1,Х4
    
    MOV0(5)
    FCONST_100(83)
    MUL(5)
    ADD9(5)         ' R5 - Х5,Х8
    
    MOV0(3)
    FCONST_100(133)
    MUL(3)
    ADD9(3)         ' R3 - Х6,Х7
    
    GETCOORD_Y(8)    'R8 - Y3,Y4,Y5,Y6
        
    MOV0(6)
    ADD8(6)         ' R6 - Y2,Y1,Y8,Y7
            
    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(9)
    PUSH(8)
    PUSH(9)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(5)
    PUSH(8)
    PUSH(3)
    LINE
    
    PUSH(8)
    PUSH(3)
    PUSH(6)
    PUSH(3)
    LINE
    
    PUSH(6)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE
                
    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 219 ); "Спаренные швеллеры" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X2,X3

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X1,Х4
    
    MOV0(5)
    FCONST_100(83)
    MUL(5)
    ADD9(5)         ' R5 - Х5,Х8
    
    MOV0(3)
    FCONST_100(133)
    MUL(3)
    ADD9(3)         ' R3 - Х6,Х7
    
    GETCOORD_Y(8)    'R8 - Y3,Y4,Y5,Y6
        
    MOV0(6)
    ADD8(6)         ' R6 - Y2,Y1,Y8,Y7
            
    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE
    
    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(9)
    PUSH(8)
    PUSH(7)
    LINE
    
    PUSH(8)
    PUSH(5)
    PUSH(8)
    PUSH(3)
    LINE
    
    PUSH(8)
    PUSH(5)
    PUSH(6)
    PUSH(5)
    LINE
    
    PUSH(6)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE
                
    SETCOORD_X(3)
		DATA_END
'-------------------------------------------------------------------------------
#NODE; "Номера изменений" 1
#BCOORD( 149 ); "1" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("1")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("1")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 150 ); "2" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("2")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("2")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 151 ); "3" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("3")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("3")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 152 ); "4" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("4")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("4")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 153 ); "5" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("5")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("5")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 154 ); "6" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("6")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("6")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 155 ); "7" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("7")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("7")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 156 ); "8" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("8")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("8")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 157 ); "9" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("9")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("9")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 158 ); "10" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("10")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("10")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 159 ); "11" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("11")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("11")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 160 ); "12" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("12")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("12")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 161 ); "13" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("13")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("13")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 162 ); "14" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("14")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("14")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 163 ); "15" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("15")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("15")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 164 ); "16" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("16")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("16")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 165 ); "17" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("17")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("17")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 166 ); "18" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("18")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("18")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 167 ); "19" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("19")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("19")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 168 ); "20" 2
    GETHEIGHT(0)   ' R0 - H-высота текста
    GETCOORD_X(9)  ' R9 - Xbeg
    ADD_ITALIC(9)
    GETCOORD_Y(8)  ' R8 - Ybeg

    FCONST_100(62) ' 0.7H минус "площадка за концом последнего символа"
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xc

    FCONST_100(80)
    POP(6)
    MUL0(6)
    ADD8(6)        ' R6 - Yc

    FCONST_100(45)
    POP(5)
    MUL0(5)        ' R5 - Rc

    PUSH(5)        ' R5 - Rc
    PUSH(6)        ' R6 - Yc
    PUSH(7)        ' R7 - Xc
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу
    FONT_NORM      ' снять italic, bold и underline
    MOV0(1)
    DIV_2(1)       ' R1 - 0.5H
    SETHEIGHT(1)   ' установить высоту вписываемого текста

    DIV_2(1)       ' R1 - 0.25H
    SUB1(6)        ' R6 - Ytxt

    WIDTHTEXT("20")
    POP(5)
    DIV_2(5)       ' R5 - 0.5Width(TXT)
    SUB5(7)        ' R6 - Xtxt

    SETCOORD_X(7)
    SETCOORD_Y(6)
    TEXT_ADDX("20")  ' вывод строки
    GLB_FONT_POP   ' восстановление исходного шрифта

    FCONST_100(110)
    POP(7)
    MUL0(7)
    ADD9(7)        ' R7 - Xend
    SETCOORD_X(7)
    SETCOORD_Y(8)
    DATA_END
'===============================================================================
#NODE; "Спецзнаки для гравирования" 1
'-------------------------------------------------------------------------------
#BCOORD( 173 ); "Знакоместо 12.0 для символов 2, 3, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(61) ' Ширина прямоугольника
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)

    MOV0(1)
    FCONST_100(94) ' Высота прямоугольника
    MUL(1)

    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 174 ); "Знакоместо 14.4 для символов Б, В, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(74)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 175 ); "Знакоместо 15.2 для символов И, Н, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(79)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 176 ); "Знакоместо 16.0 для символов А, О, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(82)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 177 ); "Знакоместо 17.6 для символов Д, M, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(93)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 178 ); "Знакоместо 20.0 для символов Ш, Ы, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(106)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 179 ); "Знакоместо 20.8 для символов Щ, Ю, ..." 2
    GETHEIGHT(0)   ' в R0 - H-высота текста
    GETCOORD_Y(5)  ' R5 - Ymin
    GETCOORD_X(9)  ' R9 - Xmin
    ADD_ITALIC(9)  ' сдвиг Xc из-за italic

    MOV9(8)

    MOV0(1)
    FCONST_100(111)
    MUL(1)

    ADD1(8)        ' R8 - Xmax

    MOV5(4)
    MOV0(1)
    FCONST_100(94)
    MUL(1)
    ADD1(4)        ' R4 - Ymax

    PUSH(4)
    PUSH(9)
    PUSH(5)
    PUSH(9)
    LINE

    PUSH(4)
    PUSH(8)
    PUSH(4)
    PUSH(9)
    LINE

    PUSH(5)
    PUSH(8)
    PUSH(4)
    PUSH(8)
    LINE

    PUSH(5)
    PUSH(9)
    PUSH(5)
    PUSH(8)
    LINE

    FCONST(12)
    DIV(0)         ' R0 - H/7
    ADD0(8)        ' сдвиг на 2H/14 - межсимвольный зазор
    SETCOORD_X(8)
		DATA_END
'===============================================================================
#NODE; "Обозначения условные графические в схемах. ГОСТ 2.751-73" 1
#BCOORD( 201 ); "Витая пара" 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(7)
    FCONST(3)
    MUL(7) 
    ADD9(7)
    
    MOV0(6)
    FCONST_100(60)
    MUL(6) 
    ADD8(6)
    
    PUSH(8)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' нижняя
    
    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(9)
    LINE           ' верхняя
    
    MOV0(5)
    FCONST_100(70)
    MUL(5) 
    ADD9(5)        ' Xв нижней маленькой
    
    MOV0(6)
    FCONST_100(25)
    MUL(6)
    INV(6) 
    ADD8(6)        ' Yв нижней маленькой
    
    MOV0(3)
    FCONST_100(110)
    MUL(3) 
    ADD9(3)        ' Xн нижней маленькой
    
    MOV0(4)
    FCONST_100(60)
    MUL(4)
    INV(4) 
    ADD8(4)        ' Yн нижней маленькой
    
    PUSH(4)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE           ' нижняя маленькая
        
    MOV0(5)
    FCONST_100(190)
    MUL(5) 
    ADD9(5)        ' Xв большой
    
    MOV0(6)
    FCONST_100(120)
    MUL(6)
    ADD8(6)        ' Yв большой
    
    PUSH(4)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE           ' большая
    
    MOV0(3)
    FCONST_100(230)
    MUL(3) 
    ADD9(3)        ' Xн верхней маленькой
    
    MOV0(4)
    FCONST_100(85)
    MUL(4)
    ADD8(4)        ' Yн верхней маленькой
    
    PUSH(4)
    PUSH(3)
    PUSH(6)
    PUSH(5)
    LINE           ' верхняя маленькая
    
    FCONST(7)
    DIV(0)
    ADD0(7)
    SETCOORD_X(7)
		DATA_END

'-------------------------------------------------------------------------------
#BCOORD( 202 ); "Экранированный кабель" 2
    GETCOORD_X(9)
    GETCOORD_Y(8) 
    GETHEIGHT(0)   ' в R0 - высота текста
    ADD_ITALIC(9)
    
    MOV0(7)
    ADD9(7)
                       
    MOV0(5)
    FCONST_100(170)
    MUL(5)
    ADD9(5)
    
    MOV0(3)
    ADD5(3)
            
    MOV0(1)
    FCONST_100(70)
    MUL(1)
    ADD3(1)
    
    MOV0(2)
    ADD1(2)
    
    MOV0(6)
    FCONST_100(55)
    MUL(6) 
    ADD8(6)
    
    MOV0(4)
    FCONST_100(110)
    MUL(4)
    ADD8(4)
     
    PUSH(8)
    PUSH(7)
    PUSH(8)
    PUSH(9)
    LINE           ' нижняя левая
        
    PUSH(8)
    PUSH(3)
    PUSH(8)
    PUSH(5)
    LINE           ' нижняя средняя
        
    PUSH(8)
    PUSH(2)
    PUSH(8)
    PUSH(1)
    LINE           ' нижняя правая
    
    PUSH(6)
    PUSH(2)
    PUSH(6)
    PUSH(9)
    LINE           ' средняя большая
    
    PUSH(4)
    PUSH(7)
    PUSH(4)
    PUSH(9)
    LINE           ' верхняя левая
    
    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(5)
    LINE           ' верхняя средняя
    
    PUSH(4)
    PUSH(2)
    PUSH(4)
    PUSH(1)
    LINE           ' верхняя правая
    
    FCONST(7)
    DIV(0)
    ADD0(2)
    SETCOORD_X(2)
	        DATA_END

'===============================================================================
#NODE; "Обозначения перемычек" 1
#BCOORD( 2001 ); "Перемычка в начале списка" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4,Xc

    MOV9(5)
    ADD0(5)         ' R5 - X2

    GETCOORD_Y(8)    'R8 - Y4

    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3

    MOV8(4)
    ADD0(4)         ' R4 - Y1, Y2,Yc

    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE

    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 2002 ); "Перемычка в середине списка" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4,Xc

    MOV9(5)
    ADD0(5)         ' R5 - X2

    GETCOORD_Y(8)    'R8 - Y4

    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y3

    MOV8(4)
    ADD0(4)         ' R4 - Y1, Y2,Yc

    MOV0(3)
    FCONST_100(50)
    MUL(3)
    ADD4(3)         ' R3 - Y5

    MOV0(2)
    FCONST_100(50)
    MUL(2)
    ADD3(2)         ' R2 - Y6


    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(6)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE

    PUSH(3)
    PUSH(7)
    PUSH(2)
    PUSH(7)
    LINE

    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 2003 ); "Перемычка в конце списка" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - X3,X4,Xc

    MOV9(5)
    ADD0(5)         ' R5 - X2

    GETCOORD_Y(8)    'R8 - Y3

    MOV8(4)
    ADD0(4)         ' R4 - Y1, Y2,Yc

    MOV0(3)
    FCONST_100(50)
    MUL(3)
    ADD4(3)         ' R3 - Y4

    MOV0(2)
    FCONST_100(50)
    MUL(2)
    ADD3(2)         ' R2 - Y5


    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(4)
    PUSH(9)
    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(7)
    ARC

    PUSH(3)
    PUSH(7)
    PUSH(2)
    PUSH(7)
    LINE

    SETCOORD_X(5)
		DATA_END

'===============================================================================
#NODE; "Символы форматирования" 1
#BCOORD( 296 ); "Неразрывный пробел" 2
	TEXT_ADDX(" ") 
	DATA_END

#BCOORD( 297 ); "Неразрывный дефис" 2
	TEXT_ADDX("-") 
	DATA_END

'-------------------------------------------------------------------------------
#NODE; "Обозначения специальных оптических покрытий. ГОСТ 2.412-81" 1
#BCOORD( 409 ); "Зеркальные внешние" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(3)
    FCONST_100(8)
    MUL(3)
    ADD9(3)         ' R3 - X4

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc, X3

    MOV0(5)
    FCONST_100(92)
    MUL(5)
    ADD9(5)         ' R5 - X5
    
    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc
    
    MOV0(4)
    FCONST_100(77)
    MUL(4)
    ADD8(4)         ' R4 - Y4,Y5
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(1)
    PUSH(6)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(1)
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    ARC

    PUSH(8)
    PUSH(7)
    PUSH(4)
    PUSH(3)
    LINE

    PUSH(8)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE
            
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 410 ); "Зеркальные внутренние" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(3)
    FCONST_100(8)
    MUL(3)
    ADD9(3)         ' R3 - X4

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc, X3

    MOV0(5)
    FCONST_100(92)
    MUL(5)
    ADD9(5)         ' R5 - X5
    
    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc
    
    MOV0(4)
    FCONST_100(23)
    MUL(4)
    ADD8(4)         ' R4 - Y4,Y5

    MOV8(2)
    ADD0(2)         ' R2 - Y3
        
    
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(1)
    PUSH(6)
    PUSH(7)
    ARC
    
    PUSH(6)
    PUSH(1)
    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    ARC

    PUSH(2)
    PUSH(7)
    PUSH(4)
    PUSH(3)
    LINE

    PUSH(2)
    PUSH(7)
    PUSH(4)
    PUSH(5)
    LINE
            
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 411 ); "Светоделительные покрытия (полупрозрачные зеркала)" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc, X3

    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)
    
    PUSH(0)
    PUSH(6)
    PUSH(7)
    CIRCLE

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(5)
    LINE

    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 412 ); "Просветляющие покрытия" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(15)
    MUL(7)
    ADD9(7)         ' R7 - X4, X5

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xc, X3
    
    MOV0(3)
    FCONST_100(85)
    MUL(3)
    ADD9(3)         ' R3 - X6, X7
    
    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(15)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y6
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y1,Y2,Yc 

    MOV0(2)
    FCONST_100(85)
    MUL(2)
    ADD8(2)         ' R2 - Y5,Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(2)
    PUSH(3)
    LINE

    PUSH(2)
    PUSH(7)
    PUSH(6)
    PUSH(3)
    LINE    

    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 413 ); "Фильтрующие: общее обозначение" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(50)
    MUL(7)
    ADD9(7)         ' R7 - Xc, X3, X4

    MOV9(5)
    ADD0(5)         ' R5 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc

    MOV8(4)
    ADD0(4)         ' R4 - Y4

    GETHEIGHT(0)   ' R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 
    
    PUSH(0)
    PUSH(6)
    PUSH(7)
    CIRCLE

    PUSH(4)
    PUSH(7)
    PUSH(8)
    PUSH(7)
    LINE

    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 414 ); "Фильтрующие отрезающие" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(12)
    MUL(7)
    ADD9(7)         ' R7 - X4

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xc, X3, X5, X6
    
    MOV0(3)
    FCONST_100(88)
    MUL(3)
    ADD9(3)         ' R3 - X7
    
    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(18)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y1,Y2,Yc 

    MOV0(2)
    FCONST_100(82)
    MUL(2)
    ADD8(2)         ' R2 - Y6,Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(6)
    PUSH(5)
    PUSH(2)
    PUSH(5)
    LINE    

    PUSH(2)
    PUSH(5)
    PUSH(2)
    PUSH(3)
    LINE    
    
    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 415 ); "Фильтрующие узкополосные" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(12)
    MUL(7)
    ADD9(7)         ' R7 - X4

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xc, X3, X5, X7
    
    MOV0(3)
    FCONST_100(88)
    MUL(3)
    ADD9(3)         ' R3 - X6
    
    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(18)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5, Y6
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y1,Y2,Yc 

    MOV8(2)
    ADD0(2)         ' R2 - Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(3)
    LINE

    PUSH(6)
    PUSH(5)
    PUSH(2)
    PUSH(5)
    LINE    

    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 416 ); "Фильтрующие полосовые" 2
    GETHEIGHT(0)   ' в R0 - высота текста

    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(2)
    MUL(7)
    ADD9(7)         ' R7 - X4

    MOV0(5)
    FCONST_100(20)
    MUL(5)
    ADD9(5)         ' R5 - X5, X6

    MOV0(3)
    FCONST_100(50)
    MUL(3)
    ADD9(3)         ' R3 - Xc, X3, X7
    
    MOV0(1)
    FCONST_100(80)
    MUL(1)
    ADD9(1)         ' R1 - X8, X9

    GETCOORD_Y(8)

    MOV0(6)
    FCONST_100(36)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5, Y9, Y10
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Y1,Y2,Yc 

    MOV0(2)
    FCONST_100(90)
    MUL(2)
    ADD8(2)         ' R2 - Y6, Y8

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 
    
    PUSH(0)
    PUSH(4)
    PUSH(3)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(6)
    PUSH(5)
    PUSH(2)
    PUSH(5)
    LINE    

    PUSH(2)
    PUSH(5)
    PUSH(2)
    PUSH(1)
    LINE

    PUSH(2)
    PUSH(1)
    PUSH(6)
    PUSH(1)
    LINE    

    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(7)
    FCONST_100(98)
    MUL(7)
    ADD9(7)         ' R7 - X10

    MOV9(5)
    ADD0(5)         ' R5 - X2

    PUSH(6)
    PUSH(1)
    PUSH(6)
    PUSH(7)
    LINE    

    SETCOORD_X(5)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 417 ); "Фильтрующие специальные" 2
   
    GETHEIGHT(0)   ' в R0 - высота текста
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(35)
    MUL(7)
    ADD9(7)         ' R7 - X4 символа

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xc

    MOV9(3)
    ADD0(3)         ' R3 - X2

    GETCOORD_Y(8)   ' R8 - Y3

    MOV0(6)
    FCONST_100(25)
    MUL(6)
    ADD8(6)         ' R6 - Y4 символа
    
    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Yc 

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)       ' R0 - R=H/2 

    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    GLB_FONT_PUSH  ' подготовка шрифта к выводу

    MOV0(2)
    FCONST_100(100)
    MUL(2)         ' высота текста 0,7  
    SETHEIGHT(2)   ' установить высоту вписываемого текста равную 0,7

    SETCOORD_X(7)
    SETCOORD_Y(6)
    'TEXT_ADDX_F("C|Gost Type A|Gost Type A")
    TEXT_ADDX("C")    

    GLB_FONT_POP   ' восстановление исходного шрифта

    SETCOORD_X(3)
    SETCOORD_Y(8)
		DATA_END 
'-------------------------------------------------------------------------------
#BCOORD( 418 ); "Защитные прозрачные покрытия" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(1)
    MUL(7)
    ADD9(7)         ' R7 - X4, X6

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xс, X3

    MOV0(3)
    FCONST_100(99)
    MUL(3)
    ADD9(3)         ' R3 - X5, X7

    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5

    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Yс, Y1, Y2

    MOV0(2)
    FCONST_100(60)
    MUL(2)
    ADD8(2)         ' R2 - Y6,Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(3)
    LINE

    PUSH(2)
    PUSH(7)
    PUSH(2)
    PUSH(3)
    LINE

    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 419 ); "Электропроводящие" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(40)
    MUL(7)
    ADD9(7)         ' R7 - X4, X6

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xс, X3

    MOV0(3)
    FCONST_100(60)
    MUL(3)
    ADD9(3)         ' R3 - X5, X7

    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(1)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5

    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Yс, Y1, Y2

    MOV0(2)
    FCONST_100(99)
    MUL(2)
    ADD8(2)         ' R2 - Y6,Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(2)
    PUSH(7)
    LINE

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(3)
    LINE

    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 420 ); "Поляризующие покрытия" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(15)
    MUL(7)
    ADD9(7)         ' R7 - X4, X6

    MOV0(5)
    FCONST_100(50)
    MUL(5)
    ADD9(5)         ' R5 - Xс, X3

    MOV0(3)
    FCONST_100(85)
    MUL(3)
    ADD9(3)         ' R3 - X5, X7

    MOV9(1)
    ADD0(1)         ' R1 - X2
    
    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(15)
    MUL(6)
    ADD8(6)         ' R6 - Y4,Y5

    MOV0(4)
    FCONST_100(50)
    MUL(4)
    ADD8(4)         ' R4 - Yс, Y1, Y2

    MOV0(2)
    FCONST_100(85)
    MUL(2)
    ADD8(2)         ' R2 - Y6,Y7

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)
    
    PUSH(0)
    PUSH(4)
    PUSH(5)
    CIRCLE

    PUSH(6)
    PUSH(7)
    PUSH(2)
    PUSH(7)
    LINE

    PUSH(6)
    PUSH(3)
    PUSH(2)
    PUSH(3)
    LINE

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(3)
    LINE

    PUSH(2)
    PUSH(7)
    PUSH(2)
    PUSH(3)
    LINE

    SETCOORD_X(1)
		DATA_END
'-------------------------------------------------------------------------------
#BCOORD( 421 ); "Светопоглощающие" 2
    GETHEIGHT(0)   ' в R0 - высота текста
    
    GETCOORD_X(9)  ' R9 - X1
    ADD_ITALIC(9)  ' сдвиг X из-за italic

    MOV0(7)
    FCONST_100(100)
    MUL(7)
    ADD9(7)         ' R7 - X2

    MOV0(5)
    FCONST_100(1)
    MUL(5)
    ADD9(5)         ' R5 - X4

    MOV0(3)
    FCONST_100(99)
    MUL(3)
    ADD9(3)         ' R3 - X5

    MOV0(1)
    FCONST_100(50)
    MUL(1)
    ADD9(1)         ' R1 - X3

    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(50)
    MUL(6)
    ADD8(6)         ' R6 - Y1,Y2,Yc

    MOV0(4)
    FCONST_100(45)
    MUL(4)
    ADD8(4)         ' R4 - Y4,Y5

    GETHEIGHT(0)   ' в R0 - высота текста
    DIV_2(0)

   '1 и 2 сверху

    PUSH(0)
    PUSH(6)
    PUSH(1)
    CIRCLE

    PUSH(6)
    PUSH(9)
    PUSH(6)
    PUSH(7)
    LINE

    PUSH(4)
    PUSH(5)
    PUSH(4)
    PUSH(3)
    LINE

    GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(7)
    FCONST_100(2)
    MUL(7)
    ADD9(7)         ' R7 - X6

    MOV0(5)
    FCONST_100(98)
    MUL(5)
    ADD9(5)         ' R5 - X7

    MOV0(3)
    FCONST_100(3)
    MUL(3)
    ADD9(3)         ' R3 - X8

    MOV0(1)
    FCONST_100(97)
    MUL(1)
    ADD9(1)         ' R1 - X9

    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(40)
    MUL(6)
    ADD8(6)         ' R6 - Y6,Y7

    MOV0(4)
    FCONST_100(35)
    MUL(4)
    ADD8(4)         ' R4 - Y8,Y9

   '3 и 4 сверху

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(1)
    LINE

  GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(7)
    FCONST_100(5)
    MUL(7)
    ADD9(7)         ' R7 - X10

    MOV0(5)
    FCONST_100(95)
    MUL(5)
    ADD9(5)         ' R5 - X11

    MOV0(3)
    FCONST_100(7)
    MUL(3)
    ADD9(3)         ' R3 - X12

    MOV0(1)
    FCONST_100(93)
    MUL(1)
    ADD9(1)         ' R1 - X13

    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(30)
    MUL(6)
    ADD8(6)         ' R6 - Y10,Y11

    MOV0(4)
    FCONST_100(25)
    MUL(4)
    ADD8(4)         ' R4 - Y12, Y13

   '5 и 6 сверху

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(1)
    LINE

  GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(7)
    FCONST_100(11)
    MUL(7)
    ADD9(7)         ' R7 - X14

    MOV0(5)
    FCONST_100(89)
    MUL(5)
    ADD9(5)         ' R5 - X15

    MOV0(3)
    FCONST_100(15)
    MUL(3)
    ADD9(3)         ' R3 - X16

    MOV0(1)
    FCONST_100(85)
    MUL(1)
    ADD9(1)         ' R1 - X17

    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(20)
    MUL(6)
    ADD8(6)         ' R6 - Y14,Y15

    MOV0(4)
    FCONST_100(15)
    MUL(4)
    ADD8(4)         ' R4 - Y16,Y17

   '7 и 8 сверху

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(1)
    LINE

  GETHEIGHT(0)   ' в R0 - высота текста

    MOV0(7)
    FCONST_100(21)
    MUL(7)
    ADD9(7)         ' R7 - X18

    MOV0(5)
    FCONST_100(79)
    MUL(5)
    ADD9(5)         ' R5 - X19

    MOV0(3)
    FCONST_100(29)
    MUL(3)
    ADD9(3)         ' R3 - X20

    MOV0(1)
    FCONST_100(71)
    MUL(1)
    ADD9(1)         ' R1 - X21

    GETCOORD_Y(8)
        
    MOV0(6)
    FCONST_100(10)
    MUL(6)
    ADD8(6)         ' R6 - Y18,Y19

    MOV0(4)
    FCONST_100(5)
    MUL(4)
    ADD8(4)         ' R4 - Y20,Y21

   '9 и 10 сверху

    PUSH(6)
    PUSH(7)
    PUSH(6)
    PUSH(5)
    LINE

    PUSH(4)
    PUSH(3)
    PUSH(4)
    PUSH(1)
    LINE


    MOV9(5)
    ADD0(5)         ' R5 - X2

    SETCOORD_X(5)
		DATA_END

'-------------------------------------------------------------------------------
'  OPERATION           COMMENT
'-------------------------------------------------------------------------------
'  POP(x)              r[x] <- st
'  PUSH(x)             r[x] -> st
'  FCONST(dat)         UINT12(dat) -> st
'  FCONST_100(dat)     UINT12(dat)/100 -> st
'
'
'  SWAP                st1 <-> st2
'  ADD_STECK           pop1 + pop2 -> push
'  SUB_STECK           pop1 - pop2 -> push
'  MUL_STECK           pop1 * pop2 -> push
'  DIV_STECK           pop1 / pop2 -> push
'
'  MINy(x)             r[x] = min( r[x], r[y] )
'  MAXy(x)             r[x] = max( r[x], r[y] )
'  MOVy(x)             r[x] = r[y]
'  ADDy(x)             r[x] = r[x] + r[y]
'  SUBy(x)             r[x] = r[x] - r[y]
'  MULy(x)             r[x] = r[x] * r[y]
'  DIVy(x)             r[x] = r[x] / r[y]
'
'  ADD(x)              r[x] = r[x] + pop
'  SUB(x)              r[x] = r[x] - pop
'  MUL(x)              r[x] = r[x] * pop
'  DIV(x)              r[x] = r[x] / pop
'  FNUL(x)             r[x] = 0
'  PI(x)               r[x] = 3.141592...
'  SIN(x)              r[x] = sin( r[x] )  аргумент в радианах
'  COS(x)              r[x] = cos( r[x] )  аргумент в радианах
'  TAN(x)              r[x] = tan( r[x] )  аргумент в радианах
'  CTAN(x)             r[x] = ctan( r[x] ) значение в радианах
'  F1_N(x)             r[x] = 1 / r[x]
'  SQR(x)              r[x] = r[x] * r[x]
'  SQRROT(x)           r[x] = sqrrot( r[x] )
'  ABS(x)              r[x] = abs( r[x] )
'  INV(x)              r[x] = - r[x]
'  DIV_2(x)            r[x] = r[x] / 2
'  DIV_3(x)            r[x] = r[x] / 3
'  DIV_5(x)            r[x] = r[x] / 5
'  DIV_10(x)           r[x] = r[x] / 10
'  DIV_100(x)          r[x] = r[x] / 100
'  MUL_2(x)            r[x] = r[x] * 2
'  MUL_3(x)            r[x] = r[x] * 3
'  MUL_5(x)            r[x] = r[x] * 5
'  MUL_10(x)           r[x] = r[x] * 10
'  MUL_100(x)          r[x] = r[x] * 100
'
'----- изменить текущие параметры текста
'  SETCOLOR_R(x)       currentTextStyle.SetHeightText( r[x] )       мм
'  SETCOLOR_G(x)       currentTextStyle.SetWidthFactorText( r[x] )  1.0 -  "нормальное" сужение
'  SETCOLOR_B(x)       currentTextStyle.SetColorR( BYTE( r[x] ) )
'  SETHEIGHT(x)        currentTextStyle.SetColorG( BYTE( r[x] ) )
'  SETWIDTH(x)         currentTextStyle.SetColorB( BYTE( r[x] ) )
'  SETITALIC(x)        currentTextStyle.SetItalic( r[x] )            1.0 - true, 0.0 - false
'  SETBOLD(x)          currentTextStyle.SetBold  ( r[x] )            1.0 - true, 0.0 - false
'  SETUNDERL(x)        currentTextStyle.SetUnderl( r[x] )            1.0 - true, 0.0 - false
'
'  SETFONTNAME(str)    currentTextStyle.SetFontName( str )
'
'  FONT_NORM           currentTextStyle.SetItalic( false );
'                      currentTextStyle.SetBold( false );
'                      currentTextStyle.SetUnderline( false );
'
'----- получить текущие параметры текста
'  GETHEIGHT(x)        r[x] = currentTextStyle.GetHeightText()       мм
'  GETWIDTH(x)         r[x] = currentTextStyle.GetWidthFactorText()  1.0 - "нормальное" сужение
'  GETCOLOR_R(x)       r[x] = currentTextStyle.GetColorR()           BYTE->float
'  GETCOLOR_G(x)       r[x] = currentTextStyle.GetColorG()           BYTE->float
'  GETCOLOR_B(x)       r[x] = currentTextStyle.GetColorB()           BYTE->float
'  GETITALIC(x)        r[x] = currentTextStyle.GetItalic()           1.0 - true, 0.0 - false
'  GETBOLD(x)          r[x] = currentTextStyle.GetBold  ()           1.0 - true, 0.0 - false
'  GETUNDERL(x)        r[x] = currentTextStyle.GetUnderl()           1.0 - true, 0.0 - false
'
'----- обработка текущей позиции вывода
'  SETCOORD_X(x)       currentCoord.X = r[x]
'  SETCOORD_Y(x)       currentCoord.Y = r[x]
'  GETCOORD_X(x)       r[x] = currentCoord.X
'  GETCOORD_Y(x)       r[x] = currentCoord.Y
'
'----- сохранение\восстановление в глобальных стеках
'  GLB_COORD_POP       globalCoordStack pop
'  GLB_FONT_POP        globalFontStack  pop
'  GLB_COORD_PUSH      globalCoordStack push
'  GLB_FONT_PUSH       globalFontStack  push
'
'----- габаритные размеры вписанного текста
'  LBASEBOX(x)         r[x] = TxtRect.Left()     мм
'  RBASEBOX(x)         r[x] = TxtRect.Right()    мм
'  TBASEBOX(x)         r[x] = TxtRect.Top()      мм
'  BBASEBOX(x)         r[x] = TxtRect.Bottom()   мм
'  HEIGHTBASEBOX(x)    r[x] = TxtRect.Height()   мм
'  WIDTHBASEBOX(x)     r[x] = TxtRect.Width()    мм
'
'----- вывести строку "str" в текущую позицию вывода, используя текущие параметры текста
'  TEXTSTR(str)                         текущая позиция вывода не изменяется
'  TEXT_ADDX(str)                       текущая позиция вывода передвигается в конец выведенной строки
'  TEXT_ADDX_F("str|FontTT|FontVector") вывод строки одним из шрифтов (в завис. от тек. сост.)
'                                       текущая позиция вывода передвигается в конец выведенной строки
'                                       параметры шрифта восстанавливаются
'  TEXT_ADDX_N("str|FontTT|FontVector") тоже, что FONT_NORM+TEXT_ADDX_F
'                                       параметры шрифта восстанавливаются
'
'----- габаритные размеры строки
'  WIDTHTEXT(str)                       определить длину строки "str", используя текущие параметры текста
'  HEIGHTTEXT(str)                      определить высоту строки "str", используя текущие параметры текста
'
'----- обработка выступов Italic
'  ADD_ITALIC(x)       r[x] = r[x] + Italic( currentTextStyle )    [ if( IsItalic() ) r[x] += kf * Heihgt ]
'  SUB_ITALIC(x)       r[x] = r[x] - Italic( currentTextStyle )    [ if( IsItalic() ) r[x] -= kf * Heihgt ]
'  GLB_X_ADD_ITALIC    currentCoord.X = currentCoord.X + Italic( currentTextStyle )
'
'----- вывод геометрии
'  LINE                Line  ( pop1, pop2,      - т1
'                              pop3, pop4 )     - т2
'  CIRCLE              Circle( pop1, pop2,      - центр
'                              pop3 )           - радиус
'  ARC                 Arc   ( pop1, pop2,      - центр
'                              pop3, pop4,      - т1
'                              pop5, pop6 )     - т2
'
'----- добавить координату в габарит символа
'  ADD_GAB_X           curGabarit.IncludeX( pop )
'  ADD_GAB_Y           curGabarit.IncludeY( pop )
'
'----- переходы и ветвления
'  LABEL(label)        установить метку label(BYTE)
'  NOP                 пустая операция
'
'  JMP_NDEF(label)     goto label
'  JMP_NL(label)       if( pop <  0.0 ) goto label
'  JMP_LE(label)       if( pop <= 0.0 ) goto label
'  JMP_GE(label)       if( pop >= 0.0 ) goto label
'  JMP_NG(label)       if( pop >  0.0 ) goto label
'  JMP_EQ(label)       if( pop == 0.0 ) goto label
'  JMP_NE(label)       if( pop != 0.0 ) goto label
'  JMP_TT(label)       if( currentTextStyle.IsTrueType() ) goto label
'
'----- END OF FILE ------------------------------------------------------------------

