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

📄 gac_algorithm.asm

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 ASM
📖 第 1 页 / 共 5 页
字号:
Lstab?44c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?177.1:
	add	Y,#32
	ld	XH,@(-3,Y)
	bra	@(-2,Y)
Lstab?45c:
;
;}
;
;/******************************************************************************
;GS[20];			//GPS_distance_buffer
;                --- --- ---
;GS[n] buffer : | x | y | z |
;                --- --- ---
;AS[20];			//ACC_distance_buffer
;N = 20;
;******************************************************************************/
;
;void LSE_get_earth_distance(void)
;
$LSE_get_earth_distance:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?188.1:
	st	XH,@(-2,Y)
	st	X,@(-1,Y)
Lstab?46c:
;{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?189.1:
Lstab?47c:
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?195.1:
	add	Y,#-100
Lstab?48a:
	ld	X,#$AV
	st	Y,@H'fffe
	add	Y,#8	; AV0
	ld	AL,#8
	bc
	sub	Y,#16
	st	AL,@H'fffe
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?195.1:
	ld	X,#$AS
	st	Y,@H'fffe
	ld	AL,#8
	bc
	sub	Y,#8
	st	AL,@H'fffe
;	unsigned int n;
;	double I[BUF_LENGTH];
;	
;	
;	
;	XYZ_type AV0 = AV[0],AS0 = AS[0];
;	
;	for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
	ld	AL,#0
	st	AL,@(97,Y)	; %r16 (n)
?L5F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
	ld	AH,@(97,Y)	; %r16 (n)
	cmp	AH,#20
	bcs	?L4F5
	bra	?L7F5
?L6F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?197.1:
	ld	AL,@(97,Y)	; %r16 (n)
	add	AL,#1
	st	AL,@(97,Y)	; %r16 (n)
	bra	?L5F5
?L4F5:
;	{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?198.1:
;		AS[n].x = AS[n].x - AS0.x - AV0.x * n;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?199.1:
	ld	AL,@(97,Y)	; %r16 (n)
	ld	AH,#0
	add	Y,#-22
Lstab?49a:
	st	AL,@(1,Y)
	st	AH,@(0,Y)
	mov	AL,Y
	add	AL,#14
	ld	AH,@(0,Y)
	add	Y,#1
Lstab?50a:
	bsr	$__dfltu
	mov	AH,Y
	add	AH,#13
	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,#29
	st	AL,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(0,Y)
	ld	AH,@(2,X)
	st	AH,@(-1,Y)
	ld	AH,@(1,X)
	st	AH,@(-2,Y)
	ld	AH,@(0,X)
	st	AH,@(-3,Y)
	mov	AL,Y
	add	AL,#17
	ld	AH,@(-3,Y)
	add	Y,#-2
Lstab?51a:
	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)
	mov	AL,Y
	add	AL,#23
	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,@(120,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	st	AL,@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,#11
	ld	AH,@(-5,Y)
	add	Y,#-4
Lstab?52a:
	bsr	$__dsub
	mov	AL,Y
	add	AL,#15
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	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,@(124,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?53a:
	bsr	$__dsub
;		AV[n].x = AV[n].x - AV0.x;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?200.1:
	mov	AL,Y
	add	AL,#27
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(18,Y)
	ld	AH,@(2,X)
	st	AH,@(17,Y)
	ld	AH,@(1,X)
	st	AH,@(16,Y)
	ld	AH,@(0,X)
	st	AH,@(15,Y)
	ld	AL,@(116,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	st	AL,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(14,Y)
	ld	AH,@(2,X)
	st	AH,@(13,Y)
	ld	AH,@(1,X)
	st	AH,@(12,Y)
	ld	AH,@(0,X)
	st	AH,@(11,Y)
	ld	AL,@(116,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	ld	AH,@(11,Y)
	add	Y,#12
Lstab?54a:
	bsr	$__dsub
;		AS[n].y = AS[n].y - AS0.y - AV0.y * n;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?201.1:
	ld	AL,@(104,Y)	; %r16 (n)
	ld	AH,#0
	add	Y,#-15
Lstab?55a:
	st	AL,@(1,Y)
	st	AH,@(0,Y)
	mov	AL,Y
	add	AL,#14
	ld	AH,@(0,Y)
	add	Y,#1
Lstab?56a:
	bsr	$__dfltu
	mov	AH,Y
	add	AH,#13
	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,#29
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(0,Y)
	ld	AH,@(2,X)
	st	AH,@(-1,Y)
	ld	AH,@(1,X)
	st	AH,@(-2,Y)
	ld	AH,@(0,X)
	st	AH,@(-3,Y)
	mov	AL,Y
	add	AL,#17
	ld	AH,@(-3,Y)
	add	Y,#-2
Lstab?57a:
	bsr	$__dmul
	mov	AL,Y
	add	AL,#19
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	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,#23
	add	AL,#4
	st	AL,@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,@(120,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	add	AL,#4
	st	AL,@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,#11
	ld	AH,@(-5,Y)
	add	Y,#-4
Lstab?58a:
	bsr	$__dsub
	mov	AH,Y
	add	AH,#15
	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,@(124,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	add	AL,#4
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?59a:
	bsr	$__dsub
;		AV[n].y = AV[n].y - AV0.y;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?202.1:
	mov	AL,Y
	add	AL,#27
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(18,Y)
	ld	AH,@(2,X)
	st	AH,@(17,Y)
	ld	AH,@(1,X)
	st	AH,@(16,Y)
	ld	AH,@(0,X)
	st	AH,@(15,Y)
	ld	AL,@(116,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	add	AL,#4
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	ld	AH,@(3,X)
	st	AH,@(14,Y)
	ld	AH,@(2,X)
	st	AH,@(13,Y)
	ld	AH,@(1,X)
	st	AH,@(12,Y)
	ld	AH,@(0,X)
	st	AH,@(11,Y)
	ld	AL,@(116,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	add	AL,#4
	ld	AH,@(11,Y)
	add	Y,#12
Lstab?60a:
	bsr	$__dsub
	add	Y,#7
Lstab?61a:
	bra	?L6F5
?L7F5:
;	}
;	
;	ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?205.1:
	bsr	$ACC_COM_insert_reading
;	
;	for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
	ld	AL,#0
	st	AL,@(97,Y)	; %r16 (n)
?L12F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
	ld	AH,@(97,Y)	; %r16 (n)
	cmp	AH,#20
	bcs	?L11F5
	bra	?L14F5
?L13F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?207.1:
	ld	AL,@(97,Y)	; %r16 (n)
	add	AL,#1
	st	AL,@(97,Y)	; %r16 (n)
	bra	?L12F5
?L11F5:
;	{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?208.1:
;		I[n] = GS[n].x - AS[n].x;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?209.1:
	ld	AL,@(97,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	st	AL,@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,@(97,Y)	; %r16 (n)
	asl	#3
	add	AL,#$GS
	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,@(97,Y)	; %r16 (n)
	asl	#2
	mov	AH,Y
	add	AH,#16
	st	AH,@H'ffe5	; %r2
	add	AL,@H'ffe5	; %r2
	ld	AH,@(-8,Y)
	add	Y,#-7
Lstab?62a:
	bsr	$__dsub
	add	Y,#7
Lstab?63a:
	bra	?L13F5
?L14F5:
;	}
;	ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?211.1:
	bsr	$ACC_COM_insert_reading
;	LSE_get_start_value(&I[0]);	
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?212.1:
	mov	AL,Y
	add	AL,#16
	bsr	$LSE_get_start_value
;	for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
	ld	AL,#0
	st	AL,@(97,Y)	; %r16 (n)
?L19F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
	ld	AH,@(97,Y)	; %r16 (n)
	cmp	AH,#20
	bcs	?L18F5
	bra	?L21F5
?L20F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?213.1:
	ld	AL,@(97,Y)	; %r16 (n)
	add	AL,#1
	st	AL,@(97,Y)	; %r16 (n)
	bra	?L19F5
?L18F5:
;	{
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?214.1:
;		AS[n].x = AS[n].x + LSE_VXYZ0 * ((double)n + 1.0) + LSE_XYZ0;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?215.1:
	add	Y,#-20
Lstab?64a:
	ld	X,#$LSE_XYZ0
	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,#-16
Lstab?65a:
	ld	X,#?lit0003
	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,@(133,Y)	; %r16 (n)
	ld	AH,#0
	st	AL,@(-5,Y)
	st	AH,@(-6,Y)
	mov	AL,Y
	add	AL,#20
	ld	AH,@(-6,Y)
	add	Y,#-5
Lstab?66a:
	bsr	$__dfltu
	mov	AH,Y
	add	AH,#25
	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,#29
	ld	AH,@(1,Y)
	add	Y,#2
Lstab?67a:
	bsr	$__dadd
	mov	AL,Y
	add	AL,#27
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	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	X,#$LSE_VXYZ0
	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)
	mov	AL,Y
	add	AL,#31
	ld	AH,@(3,Y)
	add	Y,#4
Lstab?68a:
	bsr	$__dmul
	mov	AH,Y
	add	AH,#27
	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,@(132,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	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)
	mov	AL,Y
	add	AL,#31
	ld	AH,@(3,Y)
	add	Y,#4
Lstab?69a:
	bsr	$__dadd
	mov	AL,Y
	add	AL,#27
	st	AL,@H'ffe1	; %r0
	ld	X,@H'ffe1	; %r0
	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,@(128,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AS
	ld	AH,@(7,Y)
	add	Y,#8
Lstab?70a:
	bsr	$__dadd
;		AV[n].x = AV[n].x + LSE_VXYZ0;
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?216.1:
	ld	X,#$LSE_VXYZ0
	ld	AH,@(3,X)
	st	AH,@(22,Y)
	ld	AH,@(2,X)
	st	AH,@(21,Y)
	ld	AH,@(1,X)
	st	AH,@(20,Y)
	ld	AH,@(0,X)
	st	AH,@(19,Y)
	ld	AL,@(120,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	st	AL,@H'ffe5	; %r2
	ld	X,@H'ffe5	; %r2
	ld	AH,@(3,X)
	st	AH,@(18,Y)
	ld	AH,@(2,X)
	st	AH,@(17,Y)
	ld	AH,@(1,X)
	st	AH,@(16,Y)
	ld	AH,@(0,X)
	st	AH,@(15,Y)
	ld	AL,@(120,Y)	; %r16 (n)
	asl	#3
	add	AL,#$AV
	ld	AH,@(15,Y)
	add	Y,#16
Lstab?71a:
	bsr	$__dadd
	add	Y,#7
Lstab?72a:
	bra	?L20F5
?L21F5:
;	}
;	
;	ACC_COM_insert_reading();
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?219.1:
	bsr	$ACC_COM_insert_reading
;	for(n = 0;n < BUF_LENGTH;n++)
^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?220.1:
	ld	AL,#0
	st	AL,@(97,Y)	; %r16 (n)
?L26F5:
; ^GAC_Algorithm___GAC_Algorithm.'D:\GPS\software\GPS_A_C\GAC_Algorithm.c'.?220.1:

⌨️ 快捷键说明

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