U E D R , A S I H C RSS

TAOCP/Exercises

1. 1.3.1

1.1. 16.

0000~0099메모리 셀을 모두 0으로 만드는 프로그램

1.1.1. 강희경

빠른 방법은 아직 모르겠다.
~cpp 
 STZ 0
 ENT1 1
 MOVE 0,1(99)
 

1.1.2. 나휘동


~cpp 
 ENT1 100
 DEC1 1
 STZ 0,1
 J1NN 101
 
~cpp 
 ENT1 1
 STZ 0
 MOVE 0, (99)
 

1.1.3. 곽세환

짧은거 빠른거 상관없이 move이해전 move이해후
그리고 점프쓰려면 레이블 달아야 할듯
~cpp 
	ENT1 99
J1	STZ 0,1
	DEC1 1
	J1NN J1
	HLT 1
 
~cpp 
	STZ 0
	ENT1 1
	MOVE 0(99)
 

1.2. 17.

1.2.1. 곽세환

프로그램을 3000부터 로드해야 되는데... 아직 모르는게 많다
~cpp 
 	ENT1 0
J1	STZ 0,1
	INC1 1
	CMP1 0,2
	JLE J1
	HLT 1
 
~cpp 
	STZ 0
	ENT1 1
	MOVE 0(rI2) => 이런방식으론 못 쓰나??
 

1.3. 18.

우리가 같이 한 방법
~cpp 
		rA		rX		rI1		M		Cmp	Ovr
STZ 1								1: + 0 0 0 0 0
ENNX 1				- 0 0 0 0 1
STX 1(0:1)							1: - 1 0 0 0 0
SLAX 1		+ 0 0 0 0 0	- 0 0 0 1 0
ENNA 1		- 0 0 0 0 1	
INCX 1				- 0 0 0 0 9
ENT1 1						+ 0 1
SRC 1		- 9 0 0 0 0	- 1 0 0 0 0
ADD 1		- 10 0 0 0 0
DEC1 -1						+ 0 2
STZ 1								1: + 0 0 0 0 0
CMPA 1										LESS
MOVE -1,1(1)					+ 0 3		2: + 0 0 0 0 0
NUM 1		- 0 0 10000
CHAR 1		- 30 30 30 30 30  - 31 30 30 30 30
HLT 1

아마도 이렇게 수정해야할듯(INCX 1 부터 비교해보시오)
~cpp 
		rA		rX		rI1		M		Cmp	Ovr
STZ 1								1: + 0 0 0 0 0
ENNX 1				- 0 0 0 0 1
STX 1(0:1)							1: - 1 0 0 0 0
SLAX 1		+ 0 0 0 0 0	- 0 0 0 1 0
ENNA 1		- 0 0 0 0 1	
INCX 1				- 0 0 0 0 63
ENT1 1						+ 0 1
SRC 1		- 63 0 0 0 0	- 1 0 0 0 0
ADD 1		- 0 0 0 0 0								ON
DEC1 -1						+ 0 2
STZ 1								1: + 0 0 0 0 0
CMPA 1										EQUAL
MOVE -1,1(1)					+ 0 3		2: + 0 0 0 0 0
NUM 1		- 0 0 10000
CHAR 1		- 30 30 30 30 30  - 31 30 30 30 30
HLT 1

1.4. 20.

1.4.1. 곽세환


~cpp 
	ENTA 0
	ENT1 1
	INCA 2
	SLA 1
	INCA 5
	STA 0
	MOVE 0(3999)
	HLT 1
 

1.5. 21.

(b) rI4에 주어진 N과 rJ를 같게 만들기(0 < N ≤ 3000)
프로그램은 3000부터 시작
프로그램 실행 뒤에도 모든 메모리 셀의 값이 변하지 말아야 함.

1.5.1. 나휘동


~cpp 
 JMP 0, 4
 

1.6. 22.

메모리 셀 2000에 정수 X
X^13이 rA에 들어가는 프로그램 작성(X^13이 한 WORD를 넘지 않는다고 가정)

1.6.1. 나휘동


~cpp 
 LDA 2000
 
 MUL 2000
 SLAX 5
 ...이 부분을 뒤에 12번 더 써줌
 
~cpp 
 LDA 2000
 ENT1 13
 MUL 2000
 SLAX 5
 DEC1 1
 J1P *-3
 

1.7. 23.

메모리 셀 0200에 + a b c d e이 있을 때
+ e d c b a 가 rA에 저장되는 프로그램 작성

1.7.1. 나휘동


~cpp 
 LDX 2000, (1:1)
 SRC 1
 LDX 2000, (2:2)
 SRC 1
 LDX 2000, (3:3)
 SRC 1
 LDX 2000, (4:4)
 SRC 1
 LDX 2000, (5:5)
 SRC 1
 
~cpp 
 LDX 2000
 SLX 4
 SLAX 1
 LDX 2000
 SLX 3
 SLAX 1
 LDX 2000
 SLX 2
 SLAX 1
 LDX 2000
 SLX 1
 SLAX 1
 LDX 2000
 SLAX 1
 

1.7.2. 강희경


~cpp 
 LDA 200
 STA 200(1:1)
 SRA 1
 STA 200(2:2)
 SRA 1
 STA 200(3:3)
 SRA 1
 STA 200(4:4)
 SRA 1
 STA 200(5:5)
 SRA 1
 RDA 200
 

1.8. 24.

1.8.1. 나휘동


~cpp 
 SLAX 1
 STX 1
 
휘동, STX라는 명령문이 없어--강희경

1.8.2. 강희경


~cpp 
 SRC 5
 SRA 1
 SRC 5
 

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:09
Processing time 0.0136 sec