Professional Documents
Culture Documents
Assignas
Assignas
THUMB
AREA RESET, DATA, READONLY
EXPORT __Vectors
__Vectors
DCD 0x20001000
DCD Reset_Handler
ALIGN
AREA MYCODE, CODE, READONLY
ENTRY
EXPORT Reset_Handler
Reset_Handler
;Q.1
MOV R1,#0x37AF
LSR R2, R1, #1
END
; R1 = 0x000037AF STOP
; R2 = 0x00001BD7
MOV R1,#0x37AF
LSR R2, R1, #3
END
; R1 = 0x000037AF STOP
; R2 = 0x000006F5
MOV R1,#0x37AF
LSR R2, R1, #12
END
; R1 = 0x000037AF STOP
; R2 = 0x00000003
;Q.2
MOV R3,#0x5A62
MOVT R3,#0x0039
ASR R4,R3,#1
END
; R3 = 0x00005A62
;R3 = 0x00395A62 STOP
; R4 = 0x001CAD31
MOV R3,#0x5A62
MOVT R3,#0x0039
ASR R4,R3,#5
END
; R3 = 0x00005A62
; R3 = 0x00395A62 STOP
; R4 = 0x0001CAD3
MOV R3,#0x5A62
MOVT R3,#0x0039
; R3 = 0x00005A62
;R3 = 0x00395A62 STOP
ASR R4,R3,#15
END
; R4 = 0x00000072
;Q.3
MOV R3,#-321
ASR R4,R3,#1
END
; R3 = 0x0xFFFFFEBF
; R4 = 0xFFFFFF5F
MOV R3,#-321
LSR R4,R3,#1
END
R3 = 0x0xFFFFFEBF
R4 = 0x7FFFFF5F
;Q.4
MOV R0,#0xA642
LSL R2, R0 ,#3
END
; R0 = 0x0000A642
;R2 = 0x00053210
;Q5
MOV R1,#0xFE36
; R1 = 0x0000FE36
MOVT R1,#0xFFFF ; R1 = 0xFFFFFE36 (-458)
MOV R2,#0x01CA
; R2 = 0x000001CA (458)
LSL R3,R1,#1
; R3 = 0xFFFFF6C6
(-916)
LSL R4,R2,#1
; R4 = 0x00000394 (916)
END
;Q.6
; Ans
; LSL can also multiply signed numbers so we dont have ASL
;Q.7
MOV R1,# 0x0003
MOVT R1,# 0xC000
LSL R2,R1,#2
LSL R3,R2,#2
END
; R1 = 0x00000003
; R1 = 0xC0000003
; R2 = 0x0000000C
; R3 = 0x00000003
;Q.8
MOV R1,# 0x5AF2
MOVT R1,# 0x000C
LSL R4,R0,#0
END
;R1 = 0x00005AF2
; R1 = 0x000C5AF2
; R4 = 0x000C5AF2
; R1 = 0x00005AF2
; R1 = 0xFFFC5AF2
; R4 = 0xFFE2D790
;Q.9
;Q.10
MOV R1,# 0xA964
; R1 = 0x0000A964
LSR R0,R1,,#1
; R0 = 0x00005AB2
ASR R2,R1,#1 ; R2 = 0x00005AB2
LSL R3,R1,#1
; R3 = 0x000152C8
ROR R4,R1,#1
; R4 = 0x00005AB2
RRX R5,R1 ; R5 = 0x00005AB2
END
;Q.12
MOV R3,#0x1FC3
MOVT R3,#0x568A
ROR R4,R3,#20
END
; R3 = 0x00001FC3
; R3 = 0x568A1FC3
; R4 = 0xA1FC3568
MOV R5,#0x65FF
ROR R4,R5,#16
END
; R5 = 0x000065FF
; R4 = 0x65FF0000
;Q.13
;Q.14
MOV R6,#0x3210
; R6 = 0x00003210
MOVT R6,#0x7654 ; R6 = 0x76543210
ROR R7,R6,#16
; R7 = 0x32107654
END
;Q.15
MOV R6,#0x3210
; R6 = 0x00003210
MOVT R6,#0x7654 ; R6 = 0x76543210
RRX R7,R6
; R7 = 0x3B2A1908
END