asm1_b.s

来自「基于S3C44BO嵌入式开发板实验例程1」· S 代码 · 共 32 行

S
32
字号
.equ	x, 45						/* 定义变量x,并赋值为45*/
.equ	y, 64						/* 定义变量y,并赋值为64*/
.equ	z, 87						/* 定义变量z,并赋值为87*/
.equ	stack_top, 0x1000			/* 定义栈顶0x1000*/
.global _start

.text

_start:                         	/*程序代码开始标志*/
        MOV     r0, #x        		/* x的值放入R0  */
        MOV		r0, r0, lsl #8		/* R0的值乘以2的8次方  */
        MOV     r1, #y        		/* y的值放入R1  */
        ADD		r2, r0, r1, lsr #1	/* R1的值除以2加上r0的值放入R2  */
		MOV		sp, #0x1000
		STR		r2, [sp]

        MOV     r0, #z        		/* z的值放入R0  */
        AND		r0, r0, #0xFF		/* 取R0的低八位 */
        MOV     r1, #y        		/* y的值放入R1  */
        ADD		r2, r0, r1, lsr #1	/* R1的值除以2加上r0的值放入R2  */
		
		LDR		r0, [sp]			/* y的值放入R1  */
		MOV		r1, #0x01
		ORR		r0, r0, r1
        MOV     r1, R2        		/* y的值放入R1  */
        ADD		r2, r0, r1, lsr #1	/* R1的值除以2加上r0的值放入R2  */

stop:
        B     	stop              	/*程序结束,进入死循环*/
.end

⌨️ 快捷键说明

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