SPO600 Lab2 - 실험
시작 코드
LDA #$00 ; set a pointer at $40 to point to $0200
STA $40
LDA #$02
STA $41
LDA #$07 ; colour number
LDY #$00 ; set index to 0
loop:
STA ($40),y ; set pixel at the address (pointer)+Y
INY ; increment index
BNE loop ; continue until done the page
INC $41 ; increment 1 page
LDX $41 ; get current page number
CPX #$06 ; compare with 6
BNE loop ; continue until done the page
실험 1
LDA #$00 ; set a pointer at $40 to point to $0200
STA $40
LDA #$02
STA $41
LDA #$07 ; colour number
LDY #$00 ; set index to 0
loop:
TYA ; experiment 1
STA ($40),y ; set pixel at the address (pointer)+Y
INY ; increment index
BNE loop ; continue until done the page
INC $41 ; increment 1 page
LDX $41 ; get current page number
CPX #$06 ; compare with 6
BNE loop ; continue until done the page
"loop"레이블 뒤에 "STA ($40),y"앞에 "TYA"를 추가하면 비트맵에 16가지 색상이 표시된 32개의 수직선이 있습니다.
이것은 "TYA"가 "Y를 A로 전송"을 의미하고 축적기(A)가 색상을 유지하기 때문입니다. "TYA"다음에 Y 레지스터를 증가시키므로 Y 레지스터 값이 증가할 때마다 색상이 변경됩니다. 또한 사용 가능한 색상은 16개뿐이고 비트맵에는 32개의 열이 있으므로 수직선이 표시됩니다.
실험 2
LDA #$00 ; set a pointer at $40 to point to $0200
STA $40
LDA #$02
STA $41
LDA #$07 ; colour number
LDY #$00 ; set index to 0
loop:
TYA ; experiment 1
LSR ; experiment 2
STA ($40),y ; set pixel at the address (pointer)+Y
INY ; increment index
BNE loop ; continue until done the page
INC $41 ; increment 1 page
LDX $41 ; get current page number
CPX #$06 ; compare with 6
BNE loop ; continue until done the page
명령 "LSR"은 모든 비트를 오른쪽으로 한 위치 이동하는 "논리적 우측 이동"을 의미하며, 이로 인해 수직선이 한 픽셀 더 넓어집니다.
더 많은 "LSR"명령을 추가할수록 픽셀이 더 넓어집니다.
Reference
이 문제에 관하여(SPO600 Lab2 - 실험), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/joycew414/spo600-lab2-experiments-3d4k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)