@.CharSet=CP1251
@GNU AS

.syntax unified     @ синтаксис исходного кода
.thumb              @ тип используемых инструкций Thumb
.cpu cortex-m3      @ процессор


.section .asmcode

@ основная программа
.global Start
Start:              @ поместите код своей программы ниже
                    BL         SYSCLK24

                    BL         LCD5110_Init

                    BL         LCD5110_CLEAR

                 @ вывод рамки по экрану
                    MOV        R0, 0              @ Y
                    MOV        R1, 0              @ X
                    MOV        R3, 47             @ Y
                    MOV        R4, 83             @ X
                    BL         LCD_RECT           @ обычный вывод

                 @ вывод текста
                    ADR        R4, ADR_TEXT       @ вывод текста
                    BL         LCD_PUTSTR         @ заданного во FLASH

                 @ вывод HEX-числа
                    MOV        R0, 30             @ Y
                    MOV        R1, 17             @ X
                    MOV        R2, 1              @ обычный вывод
                    LDR        R4, = 0xA1B2C3D4    @ число для вывода
                    MOV        R5, 8              @ количество символов для вывода
                    BL         LCD_PUTHEX

                 @ вывод текста
                    ADR        R4, ADR_TEXT1      @ вывод текста
                    BL         LCD_PUTSTR         @ заданного во FLASH

                    BL         LCD5110_REFRESH    @ обновить изображение на экране

MAIN_LOOP:          B          MAIN_LOOP

ADR_TEXT:
                    .BYTE      1                  @ задать координаты
                    .SHORT     4, 20              @ Y, X
                    .WORD      1                  @ обычный вывод
                    .ASCII     "LCD5110"          @ текст

                    .BYTE      1
                    .SHORT     12, 38
                    .WORD      1
                    .ASCII     "НА"

                    .BYTE      1
                    .SHORT     20, 12
                    .WORD      0                  @ инверсия текста
                    .ASCII     "АССЕМБЛЕРЕ"
                    .BYTE      0                  @ закончить вывод

ADR_TEXT1:
                    .BYTE      1                  @ задать координаты
                    .SHORT     39, 15             @ Y, X
                    .WORD      1                  @ обычный вывод
                    .ASCIZ     "DMA + SPI"        @ текст



