Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TAOCP/Exercises: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0003 pages from live compare)
 
Line 176: Line 176:
----
----
[[TAOCP]]
[[TAOCP]]

Latest revision as of 00:29, 27 March 2026

1.3.1

16.

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

=== 강희경 ===
빠른 방법은 아직 모르겠다.
 STZ 0
 ENT1 1
 MOVE 0,1(99)
 
=== 나휘동 ===
 ENT1 100
 DEC1 1
 STZ 0,1
 J1NN 101
 
 ENT1 1
 STZ 0
 MOVE 0, (99)
 
=== 곽세환 ===
짧은거 빠른거 상관없이 move이해전 move이해후
그리고 점프쓰려면 레이블 달아야 할듯
	ENT1 99
J1	STZ 0,1
	DEC1 1
	J1NN J1
	HLT 1
 
	STZ 0
	ENT1 1
	MOVE 0(99)
 

17.

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

18.

우리가 같이 한 방법

		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 부터 비교해보시오)

		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

20.

=== 곽세환 ===
	ENTA 0
	ENT1 1
	INCA 2
	SLA 1
	INCA 5
	STA 0
	MOVE 0(3999)
	HLT 1
 

21.

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

=== 나휘동 ===
 JMP 0, 4
 

22.

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

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

23.

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

=== 나휘동 ===
 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
 
 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
 
=== 강희경 ===
 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
 

24.

=== 나휘동 ===
 SLAX 1
 STX 1
 
 휘동, STX라는 명령문이 없어--강희경
=== 강희경 ===
 SRC 5
 SRA 1
 SRC 5
 

TAOCP