티스토리 뷰

6502 CPU에는 따로 보수를 구하는 연산 명령어 같은 것이 없는 것 같다. 이럴때는 간단하게 XOR연산과 INC 연산이면 금방 구할 수 있다. 1의 보수는 단순히 1을 0으로, 0을 1로 치환해 주면 되고, 2의 보수는 1의 보수에서 1만 더해주면 된다. 따라서 만약 보수화 시키고 싶은 데이터가 $00에 위치한다면 다음과 같은 코드로 2의 보수를 구할 수 있다.


LDA #$FF ; 1과 XOR 연산을 하면 비트가 뒤집어지므로 1111 1111을 로드해 준다.

EOR $00

STA $00

INC $00 ; 1의 보수에서 1을 증가 시킨다.

'프로그래밍 > 6502' 카테고리의 다른 글

6502 CPU의 회전 시프트 연산(ROR, ROL)  (0) 2019.02.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함