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

📄 e3.s

📁 e3 是一个全屏的用户友好的文本编辑器
💻 S
📖 第 1 页 / 共 5 页
字号:
	A_DR r12,linenr	ldr r10,[r12]	subs r10,r10,r2	str r10,[r12]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12LookPU2:	CALL LookBackward	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	blo LookPUEnd	subs r2,r2,#1	bne LookPU2LookPUEnd:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	RETLookScrDn:	eors r2,r2,r2	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	b LookPD1LookScrUp:	eors r2,r2,r2	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	b LookPU1LookHalfPgUp:	A_DR r12,lines	ldr r2,[r12]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r2,r2,lsr #1	b LookPU1LookHalfPgDn:	A_DR r12,lines	ldr r2,[r12]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r2,r2,lsr #1	b LookPD1LookPgDown:	A_DR r12,lines	ldr r2,[r12]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12LookPD1:	A_DR r12,linenr	ldr r10,[r12]	adds r10,r10,r2	str r10,[r12]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12LookPD2:	CALL LookForward	beq LookPDEnd	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	subs r2,r2,#1	bne LookPD2	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12LookPDEnd:	subs r4,r4,r0	RETCheckBlock:	A_DR r12,showblock	mov r11,#0x1	ldrB r10,[r12]	cmp r10,r11	blo CheckBlockEnd	A_DR r12,blockende	ldr r5,[r12]	A_DR r11,sot	cmp r5,r11	blo CheckBlockEnd	A_DR r12,blockbegin	ldr r5,[r12]	A_DR r11,sot	cmp r5,r11	blo CheckBlockEnd	A_DR r12,blockende	ldr r10,[r12]	cmp r10,r5CheckBlockEnd:	RETCheckImBlock:	A_DR r12,blockbegin	ldr r10,[r12]	cmp r10,r4	bhi CImBlockEnd	A_DR r12,blockende	ldr r10,[r12]	cmp r4,r10CImBlockEnd:	RETCheckMode:	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	beq ChModeEnd	A_DR r12,insstat	mov r11,#0x1	ldrB r10,[r12]	cmp r10,r11ChModeEnd:	RETCheckMarker:	cmp r4,r3	bhi CMEnd	cmp r1,r3	blo CMEnd	mov r3,r4CMEnd:	RETCountToLineEnd:	stmfd r13!,{r4}	CALL LookForward	ldmfd r13!,{r4}	RETCountColToLineBeginVis:	CALL CountToLineBegin	stmfd r13!,{r5}	eors r3,r3,r3	mov r5,r4	subs r5,r5,r0	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r5,r5,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12CCV1:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r5,r5,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	cmp r5,r4	bhs CCVend	ldr r11,= TABCHAR	ldrB r10,[r5]	cmp r10,r11	beq CCVTab	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r3,r3,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	b CCV1CCVTab:	CALL SpacesForTab	mov r12,r0,lsr #8	and r12,r12,#0xFF	mov r11,r3,lsl #24	mov r11,r11,lsr #24	adds r11,r11,r12	and r11,r11,#0xFF	bic r3,r3,#0xFF	orr r3,r3,r11	b CCV1CCVend:	A_DR r12,ch2linebeg	str r3,[r12]	mov r0,r3	ldmfd r13!,{r5}.ifdef W32LF .endif  	RETCountToLineBegin:	stmfd r13!,{r4}	CALL LookBackward	mov r5,r4	ldmfd r13!,{r4}	RETCountToWordBeginVIstyle:	mov r5,r4	ldr r11,= SPACECHAR	ldrB r10,[r5]	cmp r10,r11	bhi CtWviStyleCountToWordBegin:	mov r5,r4CountNLoop:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r5,r5,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12.ifdef W32LF .else  	ldr r11,= NEWLINE	ldrB r10,[r5]	cmp r10,r11.endif  	beq CTWend	ldr r11,= SPACECHAR	ldrB r10,[r5]	cmp r10,r11	bls CountNLoop	mov r9,r5	mov r10,#0x1	sub r9,r9,r10	mov r11,#0x2f	ldrB r10,[R9]	cmp r10,r11	bhi CountNLoopCTWend:	mov r0,r5	subs r0,r0,r4Goret:	RETCtWviStyle:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r5,r5,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12.ifdef W32LF .else  	ldr r11,= NEWLINE	ldrB r10,[r5]	cmp r10,r11.endif  	beq CTWend	mov r11,#0x2f	ldrB r10,[r5]	cmp r10,r11	bhi CtWviStyle	b CountNLoopKeyHelp:.ifdef USE_BUILTINHELP 	A_DR r12,kurspos	ldr r12,[r12]	stmfd r13!,{r12}	stmfd r13!,{r0-r6}	eors r0,r0,r0	A_DR r12,showblock	ldr r10,[r12]	str r0,[r12]	mov r0,r10	stmfd r13!,{r0}	mov r7,#+1	A_DR r5,sot	A_DR r4,buffercopy	ldr r2,= buffercopysize	stmfd r13!,{r4}	stmfd r13!,{r2}	stmfd r13!,{r5}	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	CALL GetHelpText	ldmfd r13!,{r4}	stmfd r13!,{r4}	stmfd r13!,{r4}	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	A_DR r5,helpfoot	ldr r12,= helpfootsize	stmfd r13!,{r12}	ldmfd r13!,{r2}	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	mov r6,r4	ldmfd r13!,{r4}	CALL DispNewScreen	CALL ReadOneChar	ldmfd r13!,{r4}	ldmfd r13!,{r2}	ldmfd r13!,{r5}	mov r7,#+1	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	ldmfd r13!,{r12}	A_DR r11,showblock	str r12,[r11]	ldmfd r13!,{r0-r6}	ldmfd r13!,{r3}	b SetKursPos.else  .endif  GoUp:	eors r0,r0,r0	b UpDownGoDown:	A_DR r10,lines	ldrB r12,[r10]	bic r0,r0,#0xFF	orr r0,r0,r12	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r0,r0,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r12,#0xff	bic r0,r0,#0xFF00	orr r0,r0,r12,lsl #8UpDown:	A_DR r12,kurspos2	ldr r3,[r12]	mov r12,r3,lsr #8	and r12,r12,#0xFF	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq Goret	mov r12,r0,lsr #8	and r12,r12,#0xFF	mov r11,r3,lsl #16	mov r11,r11,lsr #24	sbcs r11,r11,r12	and r11,r11,#0xFF	bic r3,r3,#0xFF00	orr r3,r3,r11,lsl #8	b SetKursPosKeyVICmdz:	CALL ReadOneChar	mov r12,#0x2e	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq KeyEmaCtrlL	RETKeyVI_M:	CALL LookPgBegin	CALL LookHalfPgDn	A_DR r12,lines	mov r11,#0x1	ldrB r10,[r12]	tst r10,r11	bne KeyEmaCtrlL	CALL LookLineDownKeyEmaCtrlL:	CALL CountToLineBegin	A_DR r10,lines	ldrB r12,[r10]	bic r3,r3,#0xFF00	orr r3,r3,r12,lsl #8	mov r12,r3	and r12,r12,#0xFF	mov r12,r12,lsr #1	and r12,r12,#0xFF	bic r3,r3,#0xFF00	orr r3,r3,r12,lsl #8	mov r12,r0	and r12,r12,#0xFF	bic r3,r3,#0xFF	orr r3,r3,r12	b SetKursPosKursorFirstLine:	eors r3,r3,r3	b SetKursPosKursorLastLine:	A_DR r10,lines	ldrB r12,[r10]	bic r3,r3,#0xFF00	orr r3,r3,r12,lsl #8	mrs r8,CPSR	and r8,r8,#0x20000000	mov r12,#0x1	mov r11,r3,lsl #16	mov r11,r11,lsr #24	subs r11,r11,r12	and r11,r11,#0xFF	bic r3,r3,#0xFF00	orr r3,r3,r11,lsl #8	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r12,#0x0	bic r3,r3,#0xFF	orr r3,r3,r12	b SetKursPosKursorStatusLine:	A_DR r10,lines	ldrB r12,[r10]	bic r3,r3,#0xFF00	orr r3,r3,r12,lsl #8	ldr r12,= stdtxtlen	bic r3,r3,#0xFF	orr r3,r3,r12	b SetKursPosRestKursPos:	A_DR r12,kurspos	ldr r3,[r12]SetKursPos:	A_DR r12,kurspos2	str r3,[r12]sys_writeKP:	stmfd r13!,{r0-r6}.ifdef W32 .else  	CALL make_KPstr	A_DR r2,setkp	ldr r12,= setkplen	stmfd r13!,{r12}	ldmfd r13!,{r3}	CALL WriteFile0.endif  	ldmfd r13!,{r0-r6}	RET.ifndef W32 make_KPstr:	mov r7,#+1	A_DR r4,setkp	mov r12,#0x1b	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7.ifndef ARMCPU .else  	mov r12,#0x5b	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7	mov r12,#0x30	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7	strb r0,[r4]	add r4,r4,r7	strb r0,[r4]	add r4,r4,r7	mov r12,#0x3b	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7	mov r12,#0x30	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7	strb r0,[r4]	add r4,r4,r7	strb r0,[r4]	add r4,r4,r7.endif  	mov r12,#0x48	bic r0,r0,#0xFF	orr r0,r0,r12	strb r0,[r4]	add r4,r4,r7	mov r9,r4	mov r10,#0x6	sub r9,r9,r10	mov r4,R9	mov r0,r3,lsl #16	mov r0,r0,lsr #24	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r0,r0,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	stmfd r13!,{r3}	CALL IntegerToAscii	ldmfd r13!,{r3}	A_DR r4,setkp+1+3+4	mov r0,r3,lsl #24	mov r0,r0,lsr #24	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r0,r0,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12.endif  IntegerToAscii:	orrs r0,r0,r0	bpl ItoA1	eors r0,r0,r0	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r0,r0,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12ItoA1:	mov r12,#0xa	stmfd r13!,{r12}	ldmfd r13!,{r2}	mov r7,#-1	mov r12,r1	mov r1,r0	mov r0,r12Connum1:	mov r12,r1	mov r1,r0	mov r0,r12	orrs r0,r0,r0	movpl r3,#0	submi r3,r0,#1	mov r9,r0	mov r10,r2	stmfd r13!,{r14}	bl _DIV	ldmfd r13!,{r14}	mov r3,r9	mov r0,r12	mov r12,r1	mov r1,r0	mov r0,r12	mov r12,r3	and r12,r12,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r12	mov r12,#0xf	mov r11,r0,lsl #24	mov r11,r11,lsr #24	ands r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11	mov r12,#0x30	mov r11,r0,lsl #24	mov r11,r11,lsr #24	adds r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11	strb r0,[r4]	add r4,r4,r7	orrs r1,r1,r1	bne Connum1	mov r7,#+1ITAret:	RETDeleteByteCheckMarker:	A_DR r12,mode	mov r11,#0x9	ldrB r10,[r12]	tst r10,r11	beq DeleteByte	mov r9,r4	add r9,r9,r0	mov r1,R9	A_DR r12,blockbegin	ldr r3,[r12]	CALL CheckMarker	A_DR r12,blockbegin	str r3,[r12]	A_DR r12,blockende	ldr r3,[r12]	CALL CheckMarker	A_DR r12,blockende	str r3,[r12]DeleteByte:	orrs r0,r0,r0	beq ITAret.ifdef USE_UNDO .endif  	stmfd r13!,{r4}	mov r2,r6	subs r2,r2,r4	mov r9,r4	add r9,r9,r0	mov r5,R9	subs r2,r2,r0	A_DR r12,mode	ldr r11,= WS	ldrB r10,[r12]	cmp r10,r11	beq No_WS8	A_DR r12,EmaKiSize	ldr r10,[r12]	adds r2,r2,r10No_WS8:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r7,#+1	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	rsbs r0,r0,#0	b Ins0Insert1Byte:	eors r0,r0,r0InsertByte0:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r0,r0,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12InsertByte:	orrs r0,r0,r0	beq ITAret	A_DR r12,maxlen	ldr r2,[r12]	A_DR r11,sot	adds r2,r2,r11	subs r2,r2,r6	A_DR r12,EmaKiSize	ldr r3,[r12]	subs r2,r2,r3	cmp r2,r0	bhs SpaceAva	ldr r12,= ERRNOMEM	stmfd r13!,{r12}	ldmfd r13!,{r12}	A_DR r11,ErrNr	str r12,[r11]	CALL OSerror	CALL RestKursPos	mrs r12, CPSR	and r12,r12,#0xDFFFFFFF	msr CPSR_f,r12	RETSpaceAva:	stmfd r13!,{r4}.ifdef USE_UNDO .endif  	mov r5,r6	mov r9,r6	mov r10,#0x1	add r9,r9,r10	mov r2,R9	subs r2,r2,r4	mov r9,r6	add r9,r9,r0	mov r4,R9	A_DR r12,mode	ldr r11,= WS	ldrB r10,[r12]	cmp r10,r11	beq ISWS8	adds r2,r2,r3	adds r4,r4,r3	adds r5,r5,r3ISWS8:	mov r7,#-1	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsbIns0:	ldmfd r13!,{r4}	CALL SetChg	adds r6,r6,r0	A_DR r12,mode	mov r11,#0x9	ldrB r10,[r12]	tst r10,r11	beq NOWS8	A_DR r12,blockende	ldr r10,[r12]	cmp r4,r10	bhs Ins1	A_DR r12,blockende	ldr r10,[r12]	adds r10,r10,r0	str r10,[r12]Ins1:	A_DR r12,blockbegin	ldr r10,[r12]	cmp r4,r10	bhs Ins2	A_DR r12,blockbegin	ldr r10,[r12]	adds r10,r10,r0	str r10,[r12]NOWS8:	A_DR r12,mode	mov r11,#0x6	ldrB r10,[r12]	tst r10,r11	beq NO_EM02	A_DR r12,EmaMark	ldr r10,[r12]	cmp r4,r10	bhs Ins2	A_DR r12,EmaMark	ldr r10,[r12]	adds r10,r10,r0	str r10,[r12]NO_EM02:Ins2:	mrs r12, CPSR	orr r12,r12,#0x20000000	msr CPSR_f,r12	RETCopyBlock:	CALL CheckBlock	blo MoveBlEnd	CALL CheckImBlock	blo MoveBlEnd	A_DR r12,blockende	ldr r0,[r12]	subs r0,r0,r5	CALL InsertByte	blo MoveBlEnd	A_DR r12,blockbegin	ldr r5,[r12]MoveBlock:	stmfd r13!,{r4}	mov r2,r0	mov r7,#+1	cmps r2,#0	addeq pc,pc,#16@reploop:	ldrb r12,[r5]	add r5,r5,r7	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsb	ldmfd r13!,{r4}	mrs r12, CPSR	orr r12,r12,#0x20000000	msr CPSR_f,r12MoveBlEnd:	RETKeyVICmdyy:	stmfd r13!,{r4}	CALL KeyHome	A_DR r12,EmaMark	str r4,[r12]	CALL KeyEnd	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	CALL KeyEmaAltW	ldmfd r13!,{r4}KviRet:	RETKeyVICmdy:	CALL ReadOneChar	mov r12,#0x79	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq KeyVICmdyy	mov r12,#0x27	mov r11,r0,lsl #24	

⌨️ 快捷键说明

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