⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gac_algorithm.asm

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	ld	AH,#$ACC_average_buf
	add	AH,#4
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(-1,Y)
	ld	AH,@(2,X)
	st	AH,@(-2,Y)
	ld	AH,@(1,X)
	st	AH,@(-3,Y)
	ld	AH,@(0,X)
	st	AH,@(-4,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#4
	ld	AH,@(-4,Y)
	add	Y,#-3
Lstab?102a:
	bsr	$__dadd
;		ACC_average_buf.z += ACC_delay_buf[i].z;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?285.1:
	ld	AL,#12
	ld	AH,@(8,Y)	; %r16 (i)
	add	Y,#3
Lstab?103a:
	bsr	$__mh
	add	AL,#$ACC_delay_buf
	add	AL,#8
	st	AL,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#8
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(-1,Y)
	ld	AH,@(2,X)
	st	AH,@(-2,Y)
	ld	AH,@(1,X)
	st	AH,@(-3,Y)
	ld	AH,@(0,X)
	st	AH,@(-4,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#8
	ld	AH,@(-4,Y)
	add	Y,#-3
Lstab?104a:
	bsr	$__dadd
	add	Y,#7
Lstab?105a:
	bra	?L6F7
?L7F7:
;	}
;	
;	ACC_average_buf.x /= FIRST_COUNT;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?288.1:
	ld	X,#?lit0008
	ld	AH,@(3,X)
	st	AH,@(-1,Y)
	ld	AH,@(2,X)
	st	AH,@(-2,Y)
	ld	AH,@(1,X)
	st	AH,@(-3,Y)
	ld	AH,@(0,X)
	st	AH,@(-4,Y)
	ld	AL,#$ACC_average_buf
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(-5,Y)
	ld	AH,@(2,X)
	st	AH,@(-6,Y)
	ld	AH,@(1,X)
	st	AH,@(-7,Y)
	ld	AH,@(0,X)
	st	AH,@(-8,Y)
	ld	AL,#$ACC_average_buf
	ld	AH,@(-8,Y)
	add	Y,#-7
Lstab?106a:
	bsr	$__ddiv
;	ACC_average_buf.y /= FIRST_COUNT;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?289.1:
	ld	X,#?lit0008
	ld	AH,@(3,X)
	st	AH,@(6,Y)
	ld	AH,@(2,X)
	st	AH,@(5,Y)
	ld	AH,@(1,X)
	st	AH,@(4,Y)
	ld	AH,@(0,X)
	st	AH,@(3,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(2,Y)
	ld	AH,@(2,X)
	st	AH,@(1,Y)
	ld	AH,@(1,X)
	st	AH,@(0,Y)
	ld	AH,@(0,X)
	st	AH,@(-1,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#4
	ld	AH,@(-1,Y)
	bsr	$__ddiv
;	ACC_average_buf.z /= FIRST_COUNT;		
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?290.1:
	ld	X,#?lit0008
	ld	AH,@(3,X)
	st	AH,@(6,Y)
	ld	AH,@(2,X)
	st	AH,@(5,Y)
	ld	AH,@(1,X)
	st	AH,@(4,Y)
	ld	AH,@(0,X)
	st	AH,@(3,Y)
	ld	AH,#$ACC_average_buf
	add	AH,#8
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(2,Y)
	ld	AH,@(2,X)
	st	AH,@(1,Y)
	ld	AH,@(1,X)
	st	AH,@(0,Y)
	ld	AH,@(0,X)
	st	AH,@(-1,Y)
	ld	AL,#$ACC_average_buf
	add	AL,#8
	ld	AH,@(-1,Y)
	bsr	$__ddiv
Lstab?107c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?292.1:
	add	Y,#11
	ld	XH,@(-2,Y)
	bra	@(-1,Y)
Lstab?108c:
;
;	
;}
;
;
;/******************************************************************************
;
; Get COM average
; Use the method of insert value.
; Formula: Cn = C0 + C(m-1) - C0) / (m - 1) * n;
; 			Cn had to * 100;
;******************************************************************************/
;void Get_COM_average(void)
;
$Get_COM_average:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?302.1:
	st	XH,@(-2,Y)
	st	X,@(-1,Y)
Lstab?109c:
;{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?303.1:
Lstab?110c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?305.1:
	ld	AL,#0
	st	AL,@(-3,Y)	; %r18 (temp1)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?307.1:
;	int n;
;	int temp1 = 0;
;	//int COM_change_buf[2];
;	unsigned int temp2 = 0;
;
;	
;	//COM_change_buf[0] = 90 - (int)COM_delay_buf[0];			//change the compass data for
;	//COM_change_buf[1] = 90 - (int)COM_delay_buf[1];			//matching the ACC X,Y data
;	//if(COM_change_buf[0] < 0)	COM_change_buf[0] += 360;
;	//if(COM_change_buf[1] < 0)	COM_change_buf[1] += 360;
;	
;	COM_average_buf[0]					= (unsigned int)COM_delay_buf[0] * 10;
	st	AL,@(-5,Y)	; %r17 (temp2)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?315.1:
	ld	AL,#10
	ld	AH,@$COM_delay_buf
	add	Y,#-8
Lstab?111a:
	bsr	$__umh
	st	AL,@$COM_average_buf
;	COM_average_buf[FIRST_COUNT - 1]	= (unsigned int)COM_delay_buf[1] * 10;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?316.1:
	ld	AL,#10
	ld	AH,@$COM_delay_buf+H'1
	bsr	$__umh
	st	AL,@$COM_average_buf+H'4
;	
;	temp1 = (int)(COM_average_buf[FIRST_COUNT - 1] - COM_average_buf[0]) / (int)(FIRST_COUNT - 1);//(C4 - C0)/5
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?318.1:
	ld	AL,@$COM_average_buf+H'4
	sub	AL,@$COM_average_buf
	bpl	?L4F8
	add	AL,#3
?L4F8:
	asl	#16
	asr	#18
;	
;	
;	
;	for ( n = 1; n < (FIRST_COUNT - 1); n++ )
	st	AL,@(5,Y)	; %r18 (temp1)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?322.1:
	ld	AL,#1
	st	AL,@(1,Y)	; %r16 (n)
?L7F8:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?322.1:
	ld	AH,@(1,Y)	; %r16 (n)
	cmp	AH,#4
	blt	?L6F8
	bra	?L9F8
?L8F8:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?322.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?322.1:
	ld	AL,@(1,Y)	; %r16 (n)
	add	AL,#1
	st	AL,@(1,Y)	; %r16 (n)
	bra	?L7F8
?L6F8:
;	{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?323.1:
;		//if(temp1 < 0)
;		//{
;		//	temp3 = ~temp1 + 1;
;		//	temp2 = COM_average_buf[0] - temp3 * n;
;		//}
;		//else
;		//{
;			temp2 = (int)COM_average_buf[0] + temp1 * n;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?331.1:
	ld	AL,@(1,Y)	; %r16 (n)
	ld	AH,@(5,Y)	; %r18 (temp1)
	bsr	$__mh
	add	AL,@$COM_average_buf
;		//}
;		if(temp2 % 10 > 4)			//rounding off
	st	AL,@(3,Y)	; %r17 (temp2)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?333.1:
	ld	AL,#10
	ld	AH,@(3,Y)	; %r17 (temp2)
	bsr	$__urh
	cmp	AL,#5
	bcs	?L12F8
;		{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?334.1:
;			temp2 /= 10;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?335.1:
	ld	AL,#10
	ld	AH,@(3,Y)	; %r17 (temp2)
	bsr	$__udh
;			COM_average_buf[n] = temp2 + 1;
	st	AL,@(3,Y)	; %r17 (temp2)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?336.1:
	ld	AL,@(3,Y)	; %r17 (temp2)
	add	AL,#1
	ld	X,#$COM_average_buf
	add	X,@(1,Y)	; %r16 (n)
	st	AL,@(0,X)
	bra	?L16F8
?L12F8:
;		}
;		else
;		{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?339.1:
;			temp2 /= 10;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?340.1:
	ld	AL,#10
	ld	AH,@(3,Y)	; %r17 (temp2)
	bsr	$__udh
;			COM_average_buf[n] = temp2;
	st	AL,@(3,Y)	; %r17 (temp2)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?341.1:
	ld	X,#$COM_average_buf
	add	X,@(1,Y)	; %r16 (n)
	ld	AH,@(3,Y)	; %r17 (temp2)
	st	AH,@(0,X)
?L16F8:
	bra	?L8F8
?L9F8:
;		}
;	}
;	
;	COM_average_buf[0]					= (unsigned int)COM_delay_buf[0];
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?345.1:
	ld	AL,@$COM_delay_buf
	st	AL,@$COM_average_buf
;	COM_average_buf[FIRST_COUNT - 1]	= (unsigned int)COM_delay_buf[1];
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?346.1:
	ld	AL,@$COM_delay_buf+H'1
	st	AL,@$COM_average_buf+H'4
;	
;	for(n = 0;n < 5;n++)									//change compass data angle to radian.
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?348.1:
	ld	AL,#0
	st	AL,@(1,Y)	; %r16 (n)
?L21F8:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?348.1:
	ld	AH,@(1,Y)	; %r16 (n)
	cmp	AH,#5
	blt	?L20F8
	bra	?L23F8
?L22F8:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?348.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?348.1:
	ld	AL,@(1,Y)	; %r16 (n)
	add	AL,#1
	st	AL,@(1,Y)	; %r16 (n)
	bra	?L21F8
?L20F8:
;	{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?349.1:
;		COM_radian_buf[n] = COM_average_buf[n] * PI / 180;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?350.1:
	add	Y,#-12
Lstab?112a:
	ld	X,#?lit0009
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	ld	X,#?lit0010
	ld	AH,@(3,X)
	st	AH,@(-5,Y)
	ld	AH,@(2,X)
	st	AH,@(-6,Y)
	ld	AH,@(1,X)
	st	AH,@(-7,Y)
	ld	AH,@(0,X)
	st	AH,@(-8,Y)
	ld	X,#$COM_average_buf
	add	X,@(13,Y)	; %r16 (n)
	ld	AL,@(0,X)
	ld	AH,#0
	add	Y,#-14
Lstab?113a:
	st	AL,@(1,Y)
	st	AH,@(0,Y)
	mov	AL,Y
	add	AL,#18
	ld	AH,@(0,Y)
	add	Y,#1
Lstab?114a:
	bsr	$__dfltu
	mov	AH,Y
	add	AH,#17
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(4,Y)
	ld	AH,@(2,X)
	st	AH,@(3,Y)
	ld	AH,@(1,X)
	st	AH,@(2,Y)
	ld	AH,@(0,X)
	st	AH,@(1,Y)
	mov	AL,Y
	add	AL,#21
	ld	AH,@(1,Y)
	add	Y,#2
Lstab?115a:
	bsr	$__dmul
	mov	AH,Y
	add	AH,#19
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	ld	AL,@(24,Y)	; %r16 (n)
	asl	#2
	add	AL,#$COM_radian_buf
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?116a:
	bsr	$__ddiv
	add	Y,#15
Lstab?117a:
	bra	?L22F8
?L23F8:
Lstab?118c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?352.1:
?L29F8:
	add	Y,#8
	ld	XH,@(-2,Y)
	bra	@(-1,Y)
Lstab?119c:
;
;	}
;}
;
;/*--------------------------------------------------------------------
;
; IN:	X_Y_Z *acc
; 		ROLL_PITCH *r_p
;OUT:	-
;
;--------------------------------------------------------------------*/
;void Calculate_roll_pitch( ACC_type *acc )
;
$Calculate_roll_pitch:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?361.1:
	st	AL,@(-1,Y)
	st	XH,@(-3,Y)
	st	X,@(-2,Y)
	st	AL,@(-4,Y)	; %r16 (acc)
Lstab?120c:
;{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?362.1:
Lstab?121c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?363.1:
	add	Y,#-13
Lstab?122a:
	ld	X,#?lit0001
	ld	AH,@(3,X)
	st	AH,@(3,Y)	; cos_roll+3
	ld	AH,@(2,X)
	st	AH,@(2,Y)	; cos_roll+2
	ld	AH,@(1,X)
	st	AH,@(1,Y)	; cos_roll+1
	ld	AH,@(0,X)
	st	AH,@(0,Y)	; cos_roll
;	double a,cos_roll = 0;
;	
;	a = (acc->x * acc->x) + (acc->y * acc->y) + (acc->z * acc->z)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?365.1:
	add	Y,#-24
Lstab?123a:
	ld	X,#?lit0011
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	add	Y,#-12
Lstab?124a:
	ld	AH,@(45,Y)	; %r16 (acc)
	add	AH,#8
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	ld	AH,@(45,Y)	; %r16 (acc)
	add	AH,#8
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(-1,Y)
	ld	AH,@(2,X)
	st	AH,@(-2,Y)
	ld	AH,@(1,X)
	st	AH,@(-3,Y)
	ld	AH,@(0,X)
	st	AH,@(-4,Y)
	mov	AL,Y
	add	AL,#28
	ld	AH,@(-4,Y)
	add	Y,#-3
Lstab?125a:
	bsr	$__dmul
	mov	AH,Y
	add	AH,#31
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	ld	AL,@(48,Y)	; %r16 (acc)
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(-2,Y)
	ld	AH,@(2,X)
	st	AH,@(-3,Y)
	ld	AH,@(1,X)
	st	AH,@(-4,Y)
	ld	AH,@(0,X)
	st	AH,@(-5,Y)
	add	Y,#-9
Lstab?126a:
	ld	AH,@(57,Y)	; %r16 (acc)
	add	AH,#4
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(3,Y)
	ld	AH,@(2,X)
	st	AH,@(2,Y)
	ld	AH,@(1,X)
	st	AH,@(1,Y)
	ld	AH,@(0,X)
	st	AH,@(0,Y)
	mov	AL,Y
	add	AL,#32
	ld	AH,@(0,Y)
	add	Y,#1
Lstab?127a:
	bsr	$__dmul
	mov	AH,Y
	add	AH,#31
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	ld	AH,@(56,Y)	; %r16 (acc)
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(2,Y)
	ld	AH,@(2,X)
	st	AH,@(1,Y)
	ld	AH,@(1,X)
	st	AH,@(0,Y)
	ld	AH,@(0,X)
	st	AH,@(-1,Y)
	ld	AH,@(56,Y)	; %r16 (acc)
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(-2,Y)
	ld	AH,@(2,X)
	st	AH,@(-3,Y)
	ld	AH,@(1,X)
	st	AH,@(-4,Y)
	ld	AH,@(0,X)
	st	AH,@(-5,Y)
	mov	AL,Y
	add	AL,#27
	ld	AH,@(-5,Y)
	add	Y,#-4
Lstab?128a:
	bsr	$__dmul
	mov	AH,Y
	add	AH,#31
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	mov	AL,Y
	add	AL,#39
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?129a:
	bsr	$__dadd
	mov	AH,Y
	add	AH,#31
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	mov	AL,Y
	add	AL,#39
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?130a:
	bsr	$__dadd
	mov	AH,Y
	add	AH,#31
	st	AH,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(10,Y)
	ld	AH,@(2,X)
	st	AH,@(9,Y)
	ld	AH,@(1,X)
	st	AH,@(8,Y)
	ld	AH,@(0,X)
	st	AH,@(7,Y)
	mov	AL,Y
	add	AL,#39
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?131a:
	bsr	$_

⌨️ 快捷键说明

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