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

📄 e3.s

📁 e3 是一个全屏的用户友好的文本编辑器
💻 S
📖 第 1 页 / 共 5 页
字号:
	mov r11,#0x1	ldrB r10,[r12]	cmp r10,r11	beq SIS4	A_DR r12,isbold	mov r11,#0x1	strB r11,[r12]SCEsc2:	A_DR r5,bold1	b SIS2SCEsc1:	A_DR r12,isbold	mov r11,#0x0	ldrB r10,[r12]	cmp r10,r11	beq SIS4	b SIS6.ifdef LESSWRITEOPS SetColor2:	stmfd r13!,{r2}	stmfd r13!,{r5}	CALL IsShowBlock	bhs SIS5	b SCEsc2.endif  .endif  IsShowBlock:	A_DR r12,showblock	mov r11,#0x0	ldrB r10,[r12]	cmp r10,r11	beq SBlock	A_DR r12,blockbegin	mov r11,#0x0	ldr r10,[r12]	cmp r10,r11	beq SBlock	A_DR r12,blockbegin	ldr r10,[r12]	cmp r10,r5	bhi SBlock	A_DR r12,blockende	ldr r10,[r12]	cmp r5,r10	blo SB_retSBlock:	mrs r12, CPSR	orr r12,r12,#0x20000000	msr CPSR_f,r12SB_ret:	RETGetEditScreenSize:.ifdef W32 .else  	ldr r2,= TERMIOS_WSIZE	A_DR r3,winsize	CALL IOctlTerminal	ldr r0,[r3]	mov r11,#0xff	mov r8,#0xff	add r11,r11,r8,lsl #8	cmp r0,r11	blo iserr	orrs r0,r0,r0	bne noerriserr:	mov r0,#0x18	mov r8,#0x0	add r0,r0,r8,lsl #8	mov r8,#0x50	add r0,r0,r8,lsl #16noerr:	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	A_DR r12,lines	strB r0,[r12]	mov r0,r0,lsr #16	A_DR r12,columns	strB r0,[r12]	RET.endif  WriteTwo:	A_DR r12,screenline	str r2,[r12]StatusLineShow:.ifdef W32 .endif  	eors r2,r2,r2ScreenLineShow:	stmfd r13!,{r0-r6}.ifdef LESSWRITEOPS .ifdef W32 .else  	eors r1,r1,r1.endif  	A_DR r12,columns	ldr r0,[r12]	mov r9,r0	mov r10,#0x20	add r9,r9,r10	mov r0,R9	mul r12,r0,r2	mov r0,r12	mov r3,#0	mov r9,r0	A_DR r10,screenbuffer	add r9,r9,r10	mov r4,R9.else  .endif  	mov r7,#+1	A_DR r5,screenlinesl3:	ldrb r12,[r5]	add r5,r5,r7	and r12,r12,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r12	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.ifdef LESSWRITEOPS 	A_DR r11,screenbuffer_end	cmp r4,r11	bhs sl5	ldrB r12,[r4]	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq sl4	strB r0,[r4]sl5:	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r1,r1,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12sl4:	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.endif  	mov r12,r0	and r12,r12,#0xFF	mov r11,r0,lsl #24	mov r11,r11,lsr #24	orrs r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11	bne sl3	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r3,r3,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12.ifdef LESSWRITEOPS 	orrs r1,r1,r1	beq NoWrite.endif  	stmfd r13!,{r3}	eors r3,r3,r3	A_DR r10,lines	ldrB r12,[r10]	bic r3,r3,#0xFF00	orr r3,r3,r12,lsl #8	mov r12,r2	and r12,r12,#0xFF	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.ifdef W32_EXTENDED_IO .else  	CALL sys_writeKP	ldmfd r13!,{r3}	stmfd r13!,{r2}	A_DR r0,screencolors1	CALL sys_writeSLColors	A_DR r2,screenline	CALL WriteFile0	ldmfd r13!,{r2}	A_DR r0,screencolors0	CALL sys_writeSLColors	A_DR r12,kurspos2	ldr r3,[r12]	CALL sys_writeKP.endif  NoWrite:	ldmfd r13!,{r0-r6}	RETsys_writeSLColors:.ifndef W32 	cmp r2,#0	beq syswSL	RETsyswSL:	stmfd r13!,{r0-r6}	mov r12,r2	mov r2,r0	mov r0,r12	ldr r12,= scolorslen	stmfd r13!,{r12}	ldmfd r13!,{r3}	CALL WriteFile0	ldmfd r13!,{r0-r6}.endif  	RETInputStringWithMessage0:	A_DR r5,extextInputStringWithMessage:	CALL WriteMess9MakeLine	A_DR r2,optbuffer	ldr r12,= optslen	stmfd r13!,{r12}	ldmfd r13!,{r3}	b InputStringInputString00:	A_DR r2,suchtextInputString0:	CALL WriteMess9MakeLine	ldr r3,= maxfilenamelenInputString:	stmfd r13!,{r2}	stmfd r13!,{r4}	mov r12,#0x2	stmfd r13!,{r12}	ldmfd r13!,{r0}	A_DR r12,VICmdMode	ldr r10,[r12]	str r0,[r12]	mov r0,r10	stmfd r13!,{r0}	A_DR r12,kurspos2	ldr r12,[r12]	stmfd r13!,{r12}	A_DR r12,columns	ldr r1,[r12]	mov r9,r1	ldr r10,= stdtxtlen	sub r9,r9,r10	mov r1,R9	cmp r3,r1	blo IS8	mov r3,r1IS8:	eors r1,r1,r1	mov r4,r2IS0:	stmfd r13!,{r1}	stmfd r13!,{r3}	ldr r12,= stdtxtlen	mov r11,r1,lsl #24	mov r11,r11,lsr #24	adds r11,r11,r12	and r11,r11,#0xFF	bic r1,r1,#0xFF	orr r1,r1,r11	A_DR r10,lines	ldrB r12,[r10]	bic r1,r1,#0xFF00	orr r1,r1,r12,lsl #8	A_DR r12,kurspos2	str r1,[r12].ifdef LESSWRITEOPS 	A_DR r12,screenbuffer	mov r11,#0x0	strB r11,[r12].endif  	CALL StatusLineShow	CALL GetChar	ldmfd r13!,{r3}	ldmfd r13!,{r1}	mov r7,#+1	CALL IsViMode	bne NO_VI01	mov r12,#0x0	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq ISANO_VI01:	CALL CheckUserAbort	bne IS9ISA:	eors r1,r1,r1	b IS1IS9:	ldr r12,= RETURN	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq IS1	mov r12,#0x8	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne IS2	orrs r1,r1,r1	beq IS0	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r1,r1,r11	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	ldr r12,= SPACECHAR	bic r0,r0,#0xFF	orr r0,r0,r12	mov r9,r1	A_DR r10,screenline	add r9,r9,r10	ldr r10,= stdtxtlen	add r9,r9,r10	strB r0,[R9]	b IS0IS2:	ldr r12,= SPACECHAR	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	blo IS0	strb r0,[r4]	add r4,r4,r7	mov r9,r1	A_DR r10,screenline	add r9,r9,r10	ldr r10,= stdtxtlen	add r9,r9,r10	strB r0,[R9]	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r1,r1,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	cmp r1,r3	blo IS0IS1:	eors r0,r0,r0	strb r0,[r4]	add r4,r4,r7	ldmfd r13!,{r12}	A_DR r11,kurspos2	str r12,[r11]	ldmfd r13!,{r12}	A_DR r11,VICmdMode	str r12,[r11]	ldmfd r13!,{r4}	ldmfd r13!,{r2}	mov r12,r1	mov r1,r0	mov r0,r12	mov r12,#0x1	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12ISready:	RETReadChar:	mov r0,r4	A_DR r12,old	ldr r10,[r12]	str r0,[r12]	mov r0,r10	A_DR r12,veryold	str r0,[r12]GetChar:	CALL ReadOneChar.ifdef W32 .endif  	mov r12,#0x7f	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne RC_No7F.ifndef FREEBSD 	mov r12,#0x8	bic r0,r0,#0xFF	orr r0,r0,r12.else  .endif  RC_No7F:.equ DoNo,10	CALL IsViMode	beq ISVI7	mov r12,#0x1b	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne ISready	CALL ReadOneChar	b NOVI7ISVI7:	A_DR r12,VICmdMode	mov r11,#0x1	ldrB r10,[r12]	cmp r10,r11	bne NoCMDmode	mov r12,#0x1b	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq ESCpressed	ldr r12,= VIsize	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bhi Other	A_DR r1,VIcmdTable	b RCready_0ESCpressed:	CALL ReadOneChar	mov r12,#0x5b	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq Other	b NoCursorKeyNoCMDmode:	mov r12,#0x1b	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne ISready	CALL KeyVImode1.ifdef BEOS .else  .ifdef SYS_select 	stmfd r13!,{r0-r6}	CALL Select	ldmfd r13!,{r0-r6}	beq isSingleEscape.endif  .endif  	CALL ReadOneChar	mov r12,#0x5b	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	beq IsCursorKeyNoCursorKey:	A_DR r12,VIbufch	strB r0,[r12]	ldr r12,= DoNo	bic r0,r0,#0xFF	orr r0,r0,r12	b JmpRCreadyisSingleEscape:	mov r12,#0x3	bic r0,r0,#0xFF	orr r0,r0,r12	b JmpRCreadyIsCursorKey:	CALL KeyVImode0NOVI7:	A_DR r12,mode	ldr r11,= NE	ldrB r10,[r12]	cmp r10,r11	bne NONE7	mov r12,#0x69	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne NOi	mov r12,#0x10	bic r0,r0,#0xFF	orr r0,r0,r12	b JmpRCreadyNOi:	mov r12,#0x49	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne NONE7	mov r12,#0x10	bic r0,r0,#0xFF	orr r0,r0,r12	b JmpRCreadyNONE7:	CALL IsEmMode	bne NOEM7	mov r12,#0x25	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne NoAltPer	mov r12,#0x28	bic r0,r0,#0xFF	orr r0,r0,r12JmpRCready:	b RCready_1NoAltPer:	mov r12,#0x3c	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne NoAltLt	mov r12,#0xe	bic r0,r0,#0xFF	orr r0,r0,r12	b RCready_1NoAltLt:	mov r12,#0x3e	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne NoAltGt	mov r12,#0xf	bic r0,r0,#0xFF	orr r0,r0,r12	b RCready_1NoAltGt:	mov r12,#0x5f	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,#0x42	mov r11,r0,lsl #24	mov r11,r11,lsr #24	subs r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11	bmi Other	ldr r12,= ATsize	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bhi Other	A_DR r1,EmaAltTable	b RCready_0NOEM7:	mov r12,#0x5f	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,#0x48	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne Other	mov r12,#0x3d	bic r0,r0,#0xFF	orr r0,r0,r12	b RCready_1Other:.ifdef W32 .else  	CALL ReadOneChar	mov r12,#0x38	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bhi NoNumber	stmfd r13!,{r0}	CALL ReadOneChar	mov r12,r1	mov r1,r0	mov r0,r12	ldmfd r13!,{r0}	mov r12,#0x7e	mov r11,r1,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bne GetCharJmpNoNumber:	mov r12,#0x30	mov r11,r0,lsl #24	mov r11,r11,lsr #24	subs r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11	mov r12,#0x9	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	blo IsNumber.ifdef QNX .else  	mov r12,#0x8	mov r11,r0,lsl #24	mov r11,r11,lsr #24	subs r11,r11,r12	and r11,r11,#0xFF	bic r0,r0,#0xFF	orr r0,r0,r11.endif  	mov r12,#0x9	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	blo GetCharJmp	ldr r12,= STsize	mov r11,r0,lsl #24	mov r11,r11,lsr #24	cmp r11,r12	bhi GetCharJmpIsNumber:	A_DR r1,ScanTable.endif  RCready_0:	and r12,r0,#0xFF	ldrB r12,[r1,r12]	bic r0,r0,#0xFF	orr r0,r0,r12RCready_1:	mov r0,r0,lsl #8	RETGetCharJmp:	b GetCharReadOneChar:	CALL IsViMode	bne NOVI4	eors r0,r0,r0	A_DR r12,VIbufch	ldr r10,[r12]	str r0,[r12]	mov r0,r10	orrs r0,r0,r0	bne RoneCNOVI4:	A_DR r2,read_b	eors r3,r3,r3	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	CALL ReadFile0.ifdef SELFTEST .endif  	ldr r0,[r2].ifdef W32_EXTENDED_IO .endif  RoneC:	mov r12,#0xff	bic r0,r0,#0xFF00	orr r0,r0,r12,lsl #8	RETLookBackward:	stmfd r13!,{r2}	stmfd r13!,{r1}	eors r1,r1,r1	mov r9,r4	mov r10,#0x1	sub r9,r9,r10	ldr r11,= NEWLINE	ldrB r10,[R9]	cmp r10,r11	beq LBa3	ldr r11,= NEWLINE	ldrB r10,[r4]	cmp r10,r11	bne LBa1	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	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	adds r1,r1,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12LBa1:	mov r2,#0x9f	mov r8,#0x86	add r2,r2,r8,lsl #8	mov r8,#0x1	add r2,r2,r8,lsl #16	ldr r12,= NEWLINE	bic r0,r0,#0xFF	orr r0,r0,r12	mov r7,#-1	and r11,r0,#0xFF@reploop:	ldrb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	cmpne r12,r11	subne pc,pc,#24		@rep scasb	mov r9,r1	mov r10,#0x9d	mov r8,#0x86	add r10,r10,r8,lsl #8	mov r8,#0x1	add r10,r10,r8,lsl #16	add r9,r9,r10	mov r0,R9	subs r0,r0,r2LBa5:	ldmfd r13!,{r1}	ldmfd r13!,{r2}	b CheckBofLBa3:	eors r0,r0,r0	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	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 LBa5LookForward:	stmfd r13!,{r2}	mov r2,#0x9f	mov r8,#0x86	add r2,r2,r8,lsl #8	mov r8,#0x1	add r2,r2,r8,lsl #16	ldr r12,= NEWLINE	bic r0,r0,#0xFF	orr r0,r0,r12	mov r7,#+1	and r11,r0,#0xFF@reploop:	ldrb r12,[r4]	add r4,r4,r7	subs r2,r2,#1	cmpne r12,r11	subne pc,pc,#24		@rep scasb	mov r0,#0x9e	mov r8,#0x86	add r0,r0,r8,lsl #8	mov r8,#0x1	add r0,r0,r8,lsl #16	subs r0,r0,r2	ldmfd r13!,{r2}	mrs r8,CPSR	and r8,r8,#0x20000000	mov r11,#0x1	subs r4,r4,r11	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12CheckEof:	cmp r4,r6	bne CheckEnd	b CheckENumCheckBof:	A_DR r11,sot-1	cmp r4,r11	bhi CheckEndCheckENum:	A_DR r12,numeriere	mov r11,#0x1	strB r11,[r12]CheckEnd:	RETLookPgBegin:	A_DR r12,kurspos2	ldr r3,[r12]	mov r2,r3,lsl #16	mov r2,r2,lsr #24	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 LookPU2LookPgEnd:	A_DR r12,kurspos2	ldr r3,[r12]	A_DR r12,lines	ldr r2,[r12]	mov r12,r3,lsr #8	and r12,r12,#0xFF	mov r11,r2,lsl #24	mov r11,r11,lsr #24	subs r11,r11,r12	and r11,r11,#0xFF	bic r2,r2,#0xFF	orr r2,r2,r11	b LookPD2LookLineUp:	mov r12,#0x2	stmfd r13!,{r12}	ldmfd r13!,{r2}	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	b LookPU2LookLineDown:	mov r12,#0x2	stmfd r13!,{r12}	ldmfd r13!,{r2}	mrs r8,CPSR	and r8,r8,#0x20000000	A_DR r12,linenr	mov r11,#0x1	ldr r10,[r12]	adds r10,r10,r11	str r10,[r12]	mrs r12,CPSR	orrcc r12,r12,r8	msr CPSR_f,r12	b LookPD2LookPageUp:	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,r12LookPU1:

⌨️ 快捷键说明

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