Bài tập có lời giải và code đính kèm chương 7 sách vi điều khiển Embedded Systems with ARM CortexM Microcontrollers in Assembly Language and C (Third Edition – Dr Yifeng Zhu ) , nội dung các bài tập bao gồm: Chuyển đổi chữ thường sang chữ hoa, tìm bội chung nhỏ nhất, tìm lũy thừa x mũ y, xác định năm nhuận, xóa nguyên âm, số dư bằng nhau khi chia cùng một số, số nguyên tố, số chính phương, số từ trong chuỗi, ngày trong tuần, phương sai, tổng đường chéo ma trận, nhân ma trận...
Trang 1LẬP TRÌNH VI ĐIỀU KHIỂN STM32L152
(Sách Embedded Systems with ARM Cortex-M Microcontrollers
in Assembly Language and C (Third Edition) – Dr Yifeng Zhu )
Đại Học Bách Khoa Đà Nẵng
BÀI TẬP CHƯƠNG 7 SÁCH (Có code đính kèm)
71_ChuyenSangChuHoa
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 2dau tien cua hang thu i
Trang 3stop B stop ; dead loop & program hangs here;
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 4; Doi vi tri neu r1 < r2
Trang 5AREA myData, DATA, READWRITE
ALIGN
END
73_LuyThuaXY
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 7END
74_NamNhuan
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 8BNE no ; neu khong chia het cho 4 thi khong phai nam nhuan
; Nam chia het cho 4
CMP r5, #0
thi la nam nhuan
phai nam nhuan
ENDP
ALIGN
END
75_RemoveVowelLetter
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
Trang 9AREA main, CODE, READONLY
Trang 11CMP r0, #'U'
STRB r0, [r1]
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
Trang 12AREA main, CODE, READONLY
cua hang thu i
Trang 13;MOV r8, #2
Trang 1477_Prime
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA prime, CODE, READONLY
Trang 15yes MOV r0, #1 ; set co flag len 1 - la so nguyen to
ENDP
ALIGN
END
78_Reverses32Bit
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 16cua hang thu i
Trang 17check_i
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
ENTRY
Trang 18;r0 = flag, r1 = num, r2 = i , r3 = i*i
BNE loop
Trang 19INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 20AREA myData, DATA, READWRITE
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 21loop_i
loop_j
cua hang thu i
ENDP
Trang 22INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA variance, CODE, READONLY
Trang 23LDR r4, =n ; r4 = &n
Trang 24INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
ENTRY
Trang 25cua hang thu i
Trang 26STR r4,[r7,r6,LSL #2] ; luu vao bo nho a[i][j]
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
Trang 27AREA main, CODE, READONLY
cua hang thu i
Trang 28MOV r8,r0 ; a[0][0] = 0
Trang 29END
715_NhanMaTran
INCLUDE stm32l1xx_tim_constants.s ; TIM Constants
AREA main, CODE, READONLY
Trang 30ADD r7,r0,r7,LSL #2 ; r7 = &matrix[0] + 4 * r7 = &a[i][0] - phan tu dau tien cua hang thu i