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

📄 skipnlcr.s

📁 坦尼保姆
💻 S
字号:
#include "../syscalnr.h"ARGSIZ = 128argstart:	MOV  BP,SP	CMP  (BP),2	JNE  9f	POP  (argc)	CALL getargs	PUSH 1	PUSH bufagain:	PUSH (infildes)	PUSH _READ	SYS	CMP  AX,1	JL   8f	ADD  SP,4	CMPB (buf),'\015'	JE   7fbufput:	PUSH (outfldes)	PUSH _WRITE	SYS	CMP  AX,1	JL   3f	ADD  SP,4	JMP  again9:	PUSH noargserrprt:	PUSH _PRINTF	SYS8:	PUSH 0	PUSH _EXIT	SYS	7:	PUSH 1	PUSH xbuf	PUSH (infildes)	PUSH _READ	SYS	CMP  AX,1	JGE  1f	ADD  SP,8	JMP  bufput1:	CMPB (xbuf),'\012'	JNE  5f	ADD  SP,4	PUSH (outfldes)	PUSH _WRITE	SYS	CMP  AX,1	JL   3f	ADD  SP,8	JMP  again5:	ADD  SP,8	PUSH (outfldes)	PUSH _WRITE	SYS	CMP  AX,1	JL   3f	PUSH 1	PUSH xbuf	PUSH (outfldes)	PUSH _WRITE	SYS	ADD  SP,12	JMP  again3:	PUSH wrerr	JMP  errprtgetargs:	MOV  SI,2	MOV  BX,argv1	MOV  CX,(argc)1:	MOV  AX,(BP)(SI)	PUSH BP	MOV  BP,AX	ADD  SI,2	MOV  DI,02:	MOVB AL,(BP)(DI)	MOVB (BX)(DI),AL	INC  DI	CMPB AL,0	JNE  2b	ADD  BX,ARGSIZ	POP  BP	LOOP 1b	PUSH 0	PUSH argv1	PUSH _OPEN	SYS	CMP  AX,0	JL   9f	MOV  (infildes),AX	PUSH 0644	PUSH argv2	PUSH _CREAT	SYS	CMP  AX,0	JL   8f	MOV  (outfldes),AX	ADD  SP,12	RET8:	ADD  SP,2	PUSH crerr	JMP  errprt9:	ADD  SP,2	PUSH operr	JMP  errprt	.SECT .DATAnoargs:	.ASCIZ "Program skipnlcr expects two file arguments\n"wrerr:	.ASCIZ "Program skipnlcr encoutered a write error\n"crerr:	.ASCIZ "Program skipnlcr cannot creat file %s\n"operr:	.ASCIZ "Program skipnlcr cannot open file %s\n".ALIGN 2.SECT .BSSinfildes: .SPACE 2outfldes: .SPACE 2argc:	.SPACE 2argv1:	.SPACE 128argv2:	.SPACE 128buf:	.SPACE 20xbuf:	.SPACE 20

⌨️ 快捷键说明

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