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

📄 e3.s

📁 e3 是一个全屏的用户友好的文本编辑器
💻 S
📖 第 1 页 / 共 5 页
字号:
	strb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	subne pc,pc,#28		@rep movsbSimpleRet:	RETOvrRet:	eors r0,r0,r0	A_DR r12,ch2linebeg	str r0,[r12]	b DownRetKeyDown:	CALL CountColToLineBeginVisDownRet:	CALL GoDown	CALL LookLineDown	b JmpSCKeyUp:	CALL GoUp	CALL CountColToLineBeginVis	CALL LookLineUp	b JmpSCKeyHalfPgUp:	CALL CountColToLineBeginVis	CALL LookHalfPgUp	b SetColumnKeyHalfPgDn:	CALL CountColToLineBeginVis	CALL LookHalfPgDn	b SetColumnKeyScrollUp:	CALL CountColToLineBeginVis	CALL LookScrUp	b SetColumnKeyScrollDn:	CALL CountColToLineBeginVis	CALL LookScrDn	b SetColumnKeyPgUp:	CALL CountColToLineBeginVis	CALL LookPageUpJmpSC:	b SetColumnKeyPgDn:	CALL CountColToLineBeginVis	CALL LookPgDownSetColumn:	A_DR r12,ch2linebeg	ldr r2,[r12]	eors r3,r3,r3	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12SCloop:	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	cmp r3,r2	bhs SCret	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	beq SCret	ldr r11,= TABCHAR	ldrB r10,[r4]	cmp r10,r11	beq SCtab	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 SCloopSCtab:	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	cmp r3,r2	bls SCloopSCret:	RETVIsetMarker:	cmp r4,r2	bhi Marker_above_cursor	A_DR r12,blockende	ldr r2,[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,r12	cmp r2,r6	blo Mbel	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r2,r2,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12Mbel:	A_DR r12,EmaMark	str r2,[r12]KeyHome:	CALL CountToLineBegin	subs r4,r4,r0	RETMarker_above_cursor:	A_DR r12,EmaMark	str r2,[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	cmp r4,r6	blo Mret	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12Mret:	RETKeyIns:	A_DR r12,insstat	ldrB r11,[r12]	mvns r11,r11	strB r11,[r12]	eors r0,r0,r0	CALL IsViMode	bne KeyIns2	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	A_DR r12,VICmdMode	ldrB r10,[r12]	mov r11,r0	and r11,r11,#0xFF	cmp r10,r11	bne KeyIns2	A_DR r12,insstat	strB r0,[r12]	CALL KeyVImode0KeyIns2:	CALL IsEmMode	bne KeyIns3	A_DR r12,showblock	strB r0,[r12]KeyIns3:	RETKeyVICmdJ:	CALL KeyEnd	b KeyDelKeyDell:	CALL KeyLeft	beq KeyDell2KeyDel:	cmp r4,r6	bhs KeyIns3	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,r12.ifdef W32LF .endif  	CALL IsViMode	bne DeleteByte	mov r5,r4	A_DR r12,VInolinebased	mov r11,#0x1	strB r11,[r12]	CALL KeyEmaAltW2	b DeleteByteKeyDell2:	A_DR r11,sot	cmp r4,r11	bls KeyIns3	mrs r8,CPSR	and r8,r8,#0x20000000	A_DR r12,linenr	mov r11,#0x1	ldr r10,[r12]	subs r10,r10,r11	str r10,[r12]	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	b KeyCtrlT1KeyEmaCtrlT:	A_DR r11,sot	cmp r4,r11	bls KeyRightEnd	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	bne KECT	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12KECT:.ifdef USE_UNDO .endif  	ldrB r12,[r4]	bic r0,r0,#0xFF	orr r0,r0,r12	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	ldrB r12,[R9]	mov r11,r0,lsl #24	mov r11,r11,lsr #24	strB r11,[R9]	bic r0,r0,#0xFF	orr r0,r0,r12	CALL KeyVICmdr2KeyRight:	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	bne KeyRNoMargin	CALL CheckEof	bhs KeyRightEnd	CALL IsViMode	beq KeyRightEnd	CALL GoDownKeyRNoMargin:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12KeyRightEnd:	RETKeyCLeft3:	A_DR r11,sot	cmp r4,r11	bls KeyCLEnd	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12KeyCtrlQW:	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	ldr r11,= NEWLINE	ldrB r10,[R9]	cmp r10,r11	beq KeyCLeft3	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	mov r11,#0x2f	ldrB r10,[r4]	cmp r10,r11	bls KeyCtrlQW	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	mov r11,#0x2f	ldrB r10,[R9]	cmp r10,r11	bhi KeyCtrlQWKeyCLEnd:	RETKeyCRight3:	CALL CheckEof	bhs KeyCREnd	b KQZ1KeyCtrlQZ:	mov r12,#0x2f	bic r0,r0,#0xFF	orr r0,r0,r12	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	beq KeyCRight3KQZ1:	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 IsEmMode	beq ISEM2	ldrB r10,[r4]	mov r11,r0	and r11,r11,#0xFF	cmp r10,r11	bls KeyCtrlQZ	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	ldrB r10,[R9]	mov r11,r0	and r11,r11,#0xFF	cmp r10,r11	b ISEM22ISEM2:	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	ldrB r10,[R9]	mov r11,r0	and r11,r11,#0xFF	cmp r10,r11	bls KeyCtrlQZ	ldrB r10,[r4]	mov r11,r0	and r11,r11,#0xFF	cmp r10,r11ISEM22:	bhi KeyCtrlQZKeyCREnd:	RETKeyVIcmde3:	CALL CheckEof	bhs KeyCREnd	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12KeyVIcmde:	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	beq KeyVIcmde3	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	mov r11,#0x2f	ldrB r10,[r4]	cmp r10,r11	bls KeyVIcmde	mov r9,r4	mov r10,#0x1	add r9,r9,r10	mov r11,#0x2f	ldrB r10,[R9]	cmp r10,r11	bhi KeyVIcmde	RETKeyEmaCtrlO:	CALL Insert1Byte	blo KeyRightEnd	ldr r12,= NEWLINE	bic r0,r0,#0xFF	orr r0,r0,r12	strB r0,[r4]	RETKeyCtrlQE:	CALL LookPgBegin	CALL KursorFirstLine	b KCtKV1KeyCtrlQX:	CALL LookPgEnd	CALL KeyEnd	CALL KursorLastLine	b KCtKV1KeyCtrlQV:	A_DR r12,bereitsges	mov r11,#0x0	ldrB r10,[r12]	cmp r10,r11	beq KeyCREnd	A_DR r12,oldQFpos	ldr r4,[r12]KCtKV1:	b CQFNumKeyVIbsearch:	mov r12,#0xff	mov r8,#0xff	add r12,r12,r8,lsl #8	mov r8,#0xff	add r12,r12,r8,lsl #16	mov r8,#0xff	add r12,r12,r8,lsl #24	stmfd r13!,{r12}	b KVIfKeyVIfsearch:	mov r12,#0x1	stmfd r13!,{r12}KVIf:	A_DR r12,grossklein	mov r11,#0xff	strB r11,[r12]	b KeyECtS1PicoCtrlTpico:	A_DR r12,PicoSearch	str r4,[r12]KeyEmaAltPer:	mov r12,#0x1	stmfd r13!,{r12}	ldmfd r13!,{r12}	A_DR r11,vorwarts	str r12,[r11]	A_DR r12,grossklein	mov r11,#0xdf	strB r11,[r12]KeyCtrlQA:	A_DR r12,bereitsges	mov r11,#0x2	strB r11,[r12]	CALL AskForReplace	blo SimpleRet9CQACtrlL:	stmfd r13!,{r4}	CALL FindText	bhs CQACL2	ldmfd r13!,{r4}SimpleRet9:	RETCQACL2:	A_DR r12,suchlaenge	ldr r0,[r12]	CALL DeleteByte	A_DR r12,repllaenge	ldr r0,[r12]	CALL InsertByte	A_DR r5,replacetext	CALL MoveBlock	b CQFFoundKeyPiCtrlJT:	A_DR r12,bereitsges	mov r11,#0x2	ldrB r10,[r12]	cmp r10,r11	beq CQACtrlL	RETKeyEmaCtrlR:	mov r12,#0xff	mov r8,#0xff	add r12,r12,r8,lsl #8	mov r8,#0xff	add r12,r12,r8,lsl #16	mov r8,#0xff	add r12,r12,r8,lsl #24	stmfd r13!,{r12}	b KECSKeyEmaCtrlS:	mov r12,#0x1	stmfd r13!,{r12}KECS:	A_DR r12,grossklein	mov r11,#0xdf	strB r11,[r12]KeyECtS1:	ldmfd r13!,{r12}	A_DR r11,vorwarts	str r12,[r11]	A_DR r12,EmaMark	str r4,[r12]	CALL ShowBl0KeyCtrlQF:	CALL IsEmMode	bne NO_EM04	A_DR r12,EmaCtrlS	mov r11,#0x1	ldrB r10,[r12]	cmp r10,r11	beq KeyCtrlLNO_EM04:	A_DR r12,suchtext	ldr r12,[r12]	stmfd r13!,{r12}	A_DR r12,bereitsges	mov r11,#0x1	strB r11,[r12]	CALL AskForFind	ldmfd r13!,{r1}	mrs r12, CPSR	stmfd r13!,{r7,r12}	A_DR r12,mode	mov r11,#0xc	ldrB r10,[r12]	tst r10,r11	beq NO_VIPI01	ldmfd r13!,{r7,r12}	msr CPSR_f,r12	orrs r0,r0,r0	bne QFpico	mov r12,r1	and r12,r12,#0xFF	mov r11,r1,lsl #24	mov r11,r11,lsr #24	orrs r11,r11,r12	and r11,r11,#0xFF	bic r1,r1,#0xFF	orr r1,r1,r11	beq CtrlQFEnd	A_DR r12,suchtext	strB r1,[r12]QFpico:	A_DR r12,PicoSearch	str r4,[r12]	b CQFCtrlLNO_VIPI01:	ldmfd r13!,{r7,r12}	msr CPSR_f,r12	blo CtrlQFEndCQFCtrlL:	stmfd r13!,{r4}	CALL FindText	A_DR r12,EmaCtrlS	mov r11,#0x1	strB r11,[r12]	blo CtrlQFNotFoundCQFFound:	A_DR r12,oldQFpos	str r4,[r12]	ldmfd r13!,{r5}CQFNum:	b CheckENumCtrlQFNotFound:	ldmfd r13!,{r4}CtrlQFEnd:	RETKeyCtrlL:	A_DR r12,bereitsges	ldr 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	beq CQFCtrlL	A_DR r12,mode	mov r11,#0x15	ldrB r10,[r12]	tst r10,r11	beq SimpleRet4	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	beq CQACtrlLSimpleRet4:	RETKeyVIcmd1:	CALL ReadOneChar	mov r12,#0x47	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq KeyCtrlQR	RETViSpecial:	cmp r2,#0	beq KeyCtrlQR	b KCQIKeyNedCtrlA:	A_DR r12,EmaMark	str r6,[r12]	CALL ShowBl1KeyCtrlQR:	A_DR r4,sot	b CQFNumKeyCtrlQP:	A_DR r12,veryold	ldr r2,[r12]	cmp r2,r6	bhi SimpleRet4	mov r4,r2JmpCQFN3:	b CQFNumKeyCtrlQB:	mov r12,r4	mov r4,r0	mov r0,r12	A_DR r12,blockbegin	ldr r4,[r12]CtrlQB2:	orrs r4,r4,r4	bne CQFNum	mov r12,r0	mov r0,r4	mov r4,r12	RETKeyCtrlQK:	mov r12,r4	mov r4,r0	mov r0,r12	A_DR r12,blockende	ldr r4,[r12]	b CtrlQB2KeyCtrlQI:	A_DR r5,asklineno	CALL GetAsciiToInteger	bls CtrlQFEndKCQI:	A_DR r4,sot	CALL LookPD2JmpCQFN:	b JmpCQFN3KeyCtrlQDel:	CALL KeyLeft	CALL CountToLineBegin	subs r4,r4,r0	b KCYKeyVICmdD:	A_DR r12,VInolinebased	mov r11,#0x1	strB r11,[r12]KeyCtrlQY:	CALL CountToLineEnd.ifdef W32LF .endif  	CALL IsViMode	bne CtrlTEnd1	CALL CtrlTEnd1	b KeyLeftKeyCmddw:	CALL CountToWordBeginVIstyle	b NO_EM05KeyCtrlY:	CALL CountToLineBegin	subs r4,r4,r0	CALL CountToLineEnd	A_DR r12,mode	ldr r11,= WS	ldrB r10,[r12]	cmp r10,r11	bne NO_WS01KCY:	CALL DeleteByteCheckMarker	b KeyCtrlT1NO_WS01:	A_DR r12,mode	mov r11,#0xc	ldrB r10,[r12]	tst r10,r11	beq KeyCtrlT	mov r9,r4	add r9,r9,r0	mov r2,R9	cmp r2,r6	beq CtrlTEnd1	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	b CtrlTEnd1KeyCtrlT:	CALL CountToWordBegin	CALL IsEmMode	bne NO_EM05KeyEmaCtrlK:	CALL CountToLineEndNO_EM05:	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	bne CtrlTEnd1KeyCtrlT1:	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,r12.ifdef W32LF .endif  CtrlTEnd1:	CALL CheckEof	beq SimpleRet3	A_DR r12,mode	ldr r11,= WS	ldrB r10,[r12]	cmp r10,r11	beq DeleteByteCheckMarker	mov r5,r4	CALL KeyEmaAltW2	b DelBjmpKeyEmaCtrlW:	A_DR r12,showblock	ldr r2,[r12]	A_DR r12,mode	ldr r11,= PI	ldrB r10,[r12]	cmp r10,r11	bne NOPI1KECW:	cmp r2,#0	beq KeyCtrlY	A_DR r12,EmaMark	ldr r2,[r12]	cmp r2,#0	beq KECW	b NOPI2NOPI1:	cmp r2,#0	beq SimpleRet3	A_DR r12,EmaMark	ldr r2,[r12]	cmp r2,#0	beq SimpleRet3NOPI2:	CALL KeyEmaAltW	A_DR r12,EmaKiSrc	ldr r4,[r12]	A_DR r12,EmaKiSize	ldr r0,[r12]DelBjmp:	b DeleteByteKeyCtrlKY:	CALL CheckBlock	blo SimpleRet3	A_DR r12,blockende	ldr r0,[r12]	mov r4,r5	subs r0,r0,r5	CALL DeleteByte	mov r12,r2	mov r2,r0	mov r0,r12	CALL InitSV2JmpCQFN2:	b JmpCQFNKeyCtrlKH:	A_DR r12,showblock	mov r11,#0x1	ldrB r10,[r12]	eors r10,r10,r11	strB r10,[r12]SimpleRet3:	RETKeyCtrlKK:	A_DR r12,blockende	str r4,[r12]	b ShowBl1KeyCtrlKC:	CALL CopyBlock	blo SimpleRet2CtrlKC2:	A_DR r12,blockbegin	str r4,[r12]	adds r0,r0,r4	b InitSV3KeyCtrlXX:	A_DR r12,EmaMark	ldr r2,[r12]	cmp r2,#0	beq SimpleRet3	CALL KeyEmaMark	mov r4,r2	CALL KeyEmaCtrlLKeyCXX:	b JmpCQFN2KeyCtrlKV:	CALL CopyBlock	blo SimpleRet2	stmfd r13!,{r4}	A_DR r12,blockbegin	ldr r10,[r12]	cmp r4,r10	mrs r12, CPSR	stmfd r13!,{r7,r12}	A_DR r12,blockbegin	ldr r4,[r12]	CALL DeleteByte	rsbs r0,r0,#0	ldmfd r13!,{r7,r12}	msr CPSR_f,r12	ldmfd r13!,{r4}	blo CtrlKC2	A_DR r12,blockende	str r4,[r12]	subs r4,r4,r0KeyCtrlKB:	A_DR r12,blockbegin	str r4,[r12]ShowBl1:	A_DR r12,showblock	mov r11,#0x1	strB r11,[r12]SimpleRet2:	RETShowBl0:	A_DR r12,showblock	mov r11,#0x0	strB r11,[r12]	RETKeyVICmdm:	CALL ReadOneChar	mov r12,#0x61	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne SimpleRet2	stmfd r13!,{r4}	CALL KeyHome	A_DR r12,blockbegin	str r4,[r12]	ldmfd r13!,{r4}	RETKeyVICmdJmpM:	CALL ReadOneChar	mov r12,#0x61	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne SimpleRet2	A_DR r12,blockbegin	ldr r2,[r12]	cmp r2,#0	beq SimpleRet2	mov r4,r2	b KeyCXX

⌨️ 快捷键说明

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