testfile2.s

来自「亚嵌的arm培训中的嵌入式教学代码。这个是关于怎样用armulator了解arm」· S 代码 · 共 69 行

S
69
字号
;文件名:TESTFILE2.S 
;功能:验证ARM内存访问指令寻址方式 
;说明:使用ARMulate软件仿真调试 

		AREA	Example,CODE,READONLY	  	;声明代码段Example1 
		ENTRY				  				;标识程序入口 
		CODE32				  				;声明32位ARM指令
START 	MOV		R1,#0x01		  			; 
		MOV		R2,#0x02
		MOV		R3,#0x03
		MOV		R4,#0x04
		MOV		R5,#0x05
;		SWP		R1,R2,[R4]
			
		LDR		R0,=0x10
		STMFD	R0!,{R1-R3,lr}					;多寄存器寻址
		
		MOV		R1,#0x00		  			; 
		MOV		R2,#0x00
		MOV		R3,#0x00
		
		LDMFD	R0!,{R1-R3,pc}^
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;测试LDMIA,STMIA	0x10	
		MOV		R1,#0x01		  			; 
		MOV		R2,#0x02
		MOV		R3,#0x03
		
		LDR		R0,=0x30
		STMFA	R0!,{R1-R3}				;块拷贝寻址
		
				
		MOV		R1,#0x00		  			; 
		MOV		R2,#0x00
		MOV		R3,#0x00		
		LDMFA	R0!,{R1-R3}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;测试LDMDA,STMDA	0x30
		MOV		R1,#0x01		  			; 
		MOV		R2,#0x02
		MOV		R3,#0x03
				
		LDR		R0,=0x40
		STMED	R0!,{R1-R3}					;多寄存器寻址

		MOV		R1,#0x00		  			; 
		MOV		R2,#0x00
		MOV		R3,#0x00
		
		LDMED	R0!,{R1-R3}		
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;测试LDMIB,STMIB	0x40
		
		MOV		R1,#0x01		  			; 
		MOV		R2,#0x02
		MOV		R3,#0x03
				
		LDR		R0,=0x60
		STMEA	R0!,{R1-R3}					;多寄存器寻址

		MOV		R1,#0x00		  			; 
		MOV		R2,#0x00
		MOV		R3,#0x00
		
		LDMEA	R0!,{R1-R3}	
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;测试LDMDB,STMDB	0x60	

			
		MOV		R0,#0x0						;非跳转的指令最后一条无法运行
		B		START			
		END			     					;文件结束

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?