1_3_2_progm_ex3.mix

来自「MIX的模拟器: MIX是《计算机程序设计艺术》(TAOCP)的作者高德纳(Do」· MIX 代码 · 共 41 行

MIX
41
字号
* PROGRAM M FROM SECTION 1.3.2
X	EQU	1000
	ORIG	3000
MAXIMUM	STJ	EXIT	;SUBROUTINE LINKAGE
INIT	ENT3	0,1	;M1: INITIALIZE K = N
	JMP	CHANGEM	;J = N, M = X(N), K = N-1
LOOP	CMPA	X,3	;M3: COMPARE
	JGE	*+3
CHANGEM	ENT2	0,3	;M4: CHANGE M. J = K
	LDA	X,3	;M = X(K)
	DEC3	1	;M5: DECREASE K
	J3P	LOOP	;M2: ALL TESTED?
EXIT	JMP	*	;RETURN TO MAIN PROGRAM

* EXERCISE 1.3.2.3
* NOTE: I MODIFIED THIS TO USE DEVICES 16 AND 18
* BECAUSE DEVICES 0 AND 1 AREN'T IMPLEMENTED
START	IN	X+1(16)	;MOD: DEV16
	JBUS	*(16)	;MOD: DEV16
	ENT1	16	;MOD: DEV16'S BLOCK SIZE

*CONVERT THE TEXT INPUT FROM DEV16 TO NUMBERS
*TRY: "    2   34  234 7890   23    1   56    7   34  100    8   58   94  947 2847  666"
*I ADDED THE NEXT 7 LINES
	ENT4	16
2H	ENTA	0	
	LDX	X,4
	NUM
	STA	X,4
	DEC4	1
	J4P	2B

1H	JMP	MAXIMUM
	LDX	X,1
	STA	X,1
	STX	X,2
	DEC1	1
	J1P	1B
	OUT	X+1(18)	;MOD: DEV18
	HLT
	END	START

⌨️ 快捷键说明

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