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

📄 linumber.s

📁 坦尼保姆
💻 S
字号:
! This program is meant to produce line number comments
! for the non-empty lines of a program . It reads from
! standard input and writes standard output.

#include	"..\\syscalnr.h"
.SECT .TEXT
linnumst:
	PUSH _GETCHAR
	MOV  DX,0
	MOV  CX,DX
	MOV  BX,DX
	MOV  DI,linnumbf
1:	SYS
	CMP  AX,0
	JLE  9f
	CMPB AL,'\n'
	JE   8f
	CMPB AL,'\t'
	JE   7f
	CMPB AL,' '
	JL   1b
	CMPB AL,0177
	JG   1b
	STOSB
	INC  DX
	INC  CX
	JMP  1b
7:	STOSB
	INC  CX
	ADD  DX,8
	AND  DX,0XFFF8
	JMP  1b
8:	CMP  CX,0
	JE   8f
	PUSH CX
	PUSH linnumbf
	PUSH STDOUT
	PUSH _WRITE
	SYS
	AND  DX,0XFFF8
	push 9
	push _PUTCHAR
3:	SYS
	ADD  DX,8
	CMP  DX,40
	JL   3b
	ADD  SP,12
	INC  BX
	PUSH BX
	PUSH linnumfm
	PUSH _PRINTF
	SYS
	MOV  DI,linnumbf
	ADD  sp,6
	MOV  CX,0
	MOV  DX,CX
	JMP 1b
8:	PUSH AX
	PUSH _PUTCHAR
	SYS
	ADD  SP,4
	JMP 1b
9:	PUSH 0
	PUSH _EXIT
	SYS
.SECT .DATA
linnumfm: .ASCIZ "!%3d\n"
.SECT .BSS
linnumbf: .SPACE 80

⌨️ 快捷键说明

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