📄 lab1_1.s
字号:
;*******************************
;A0717016 wanglei lab1_1 13311269681
;*******************************
AREA lab1_1, CODE, READONLY
A_data DCD 0xFEDCBA98,0x12345678, 0xEDCBA987,0x23456789, 0x87654321,0x98765432
B_data DCD 0xBBBBBBBB,0xAAAAAAAA, 0xDDDDDDDD,0xCCCCCCCC, 0xEEEEEEEE,0x99999999
C_data SPACE 32*2 ; //分配64字节的内存单元,并初始化为0
MAP C_data; //内存表的首地址为Datastruc内存单元
ENTRY ; mark the first instruction to call
CODE32 ; Following code is ARM code
offset EQU 4 ;
LOOP_TIME EQU 3 ;
start
LDR r6, =A_data ;
;put A_data position in reg : r6
LDR r7, =B_data ;
;put B_data position in reg : r7
LDR r8, =C_data ;
;put C_data position in reg : r8
LDR r9,=LOOP_TIME ;
loop
get_A_data
;Return value in reg r3 r2
LDR r2,[r6] ;get first data
ADD r6, r6, #offset ;add Offset
LDR r3, [r6] ;
ADD r6, r6, #offset ;add Offset
get_A_data_end
get_B_data
;Return value in reg r5 r4
LDR r4,[r7] ;get first data
ADD r7, r7, #offset ;add Offset
LDR r5, [r7] ;
ADD r7, r7, #offset ;add Offset
get_B_data_end
add_A_data_B_data
;result in r1 r0
ADDS r0, r2, r4 ; 64bit add r1 r0 = r3 r2 + r5 r4
ADC r1, r3, r5 ; 64bit add r1 r0 = r3 r2 + r5 r4
add_A_data_B_data_end
put_C_data_into_mem
STR r0, [r8] ;
ADD r8, r8, #offset ;add Offset
STR r1, [r8] ;
ADD r8, r8, #offset ;add Offset
put_C_data_into_mem_end
;loop
SUB r9,r9,#1 ;
CMP r9, #0 ;
BNE loop;
loop_end
; mov r0,#8
; mov r1,#8
; mov r2,#8
test
CMP r0, #0 ;
CODE16
CMP r1, #0 ;
mov r0,#5
mov r1,#5
mov r2,#5
CODE32
mov r0,#3
mov r1,#3
mov r2,#3
B test
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -