2017-05-18 10 views
-1

그래서 나는 컴퓨팅 시스템의 요소들을 읽고있다. 화면을 검게 만들기 위해 해킹 어셈블리 프로그램을 작성하려고합니다. 여기에 내가 가진 것이있다.해킹 어셈블리 프로그램이 화면을 검게한다.

@16384 
D=A 
@current 
M=D 

@24576 
D=A 
@end 
M=D 

@current 
D=M 

(BEGIN) 
@end 
D=M-D 

@END 
D;JEQ 
@current 
D=M 
A=M 
M=1 
A=A+1 
D=A 
@current 
M=D 

@BEGIN 
0;JMP 

(END) 
@END 
0;JMP 

일부 픽셀이 나타나지만 매우 느리게 발생하며 b) 전체 화면이 채워지는 것처럼 보이지 않습니다. 코드를 개선 할 수있는 방법이 있습니까?

답변

1

답변을 제공하는 것은 적절하지 않지만, 귀하를 도울 수있는 몇 가지 도움말이 있습니다.

  • 해킹 기호는 소문자를 구분, 그것은 혼란을 위험 때문에 나쁜 스타일이 다른 것들에 대한 @end 및 @END를 사용하지만.

  • 유용 할 수도있는 미리 정의 된 기호 SCREEN이 있습니다.

  • 화면 메모리 영역에서 각 16 비트 단어의 모든 비트를 설정해야합니다. M = 1은 1 비트만을 설정합니다.

  • 종료 포인터 값과 반대로 남아있는 루프 수를 유지하는 것이 더 편리 할 수 ​​있습니다.

  • 작업 결과를 MD = M-1과 같이 여러 대상에 저장할 수 있습니다. 이것은 편리합니다.

  • 루프의 예는 4 개의 노트를 검토하십시오. http://www.nand2tetris.org/lectures/PDF/lecture%2004%20machine%20language.pdf

행운을 빈다!