Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

PRESERVE8

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

MOV R1,# 0x5AF2


MOVT R1,# 0xFFFC
LSL R4,R0,#3
END

; 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

You might also like