; ROLA / ROLX ; Rotation cyclique à gauche du registre A / X. ; RORA / RORX ; Rotation cyclique à droite du registre A / X. ; ; ROLA: code instruction: 0010000r, soit 00010000 (r:0 (registre A)) hexa:20 ; ROLX: code instruction: 0010001r, soit 00010001 (r:1 (registre X)) hexa:21 ; RORA: code instruction: 0010010r, soit 00010010 (r:0 (registre A)) hexa:22 ; RORX: code instruction: 0010011r, soit 00010011 (r:1 (registre X)) hexa:23 ; ; lors du décalage vers la gauche, le témoin C est copié dans le bit de droite du registre et le bit de gauche est copié dans le témoin C ; lors du décalage vers la droite, le témoin C est copié dans le bit de gauche du registre et le bit de droite est copié dans le témoin C ; ; ; si témoins actuels: N=0,Z=0,V=0,C=0 LDA 8,i ; A=0008 (0000 0000 0000 1000) (8 en décimal) ROLA ; A=0010 (0000 0000 0001 0000),(16 en décimal) témoins:N=0,Z=0,V=0,C=0 (bit perdu -> C) ; LDA -1,i ADDA 1,i ; ; témoins actuels: N=0,Z=1,V=0,C=1 LDA 8,i ; A=0008 (0000 0000 0000 1000) (8 en décimal) ROLA ; A=0011 (0000 0000 0001 00001),(16 en décimal) témoins:N=0,Z=0,V=0,C=0 (bit perdu -> C) ; ; ; si témoins actuels: N=0,Z=0,V=0,C=0 LDA 0xABCD,i ; A=ABCD (1010 1011 1100 1101) témoins:N=1,Z=0,V=0,C=0 ROLA ; A=579A (0101 0111 1001 1010) témoins:N=1,Z=0,V=0,C=1 (bit perdu -> C) ; ; ROLA ; A=AF35 (1010 1111 0011 0101) témoins:N=1,Z=0,V=0,C=0 (bit perdu -> C) ; ; ROLA ; A=5E6A (0101 1110 0110 1010) témoins:N=1,Z=0,V=0,C=1 (bit perdu -> C) ; ; ROLA ; A=BCD5 (1011 1100 1101 0101) témoins:N=1,Z=0,V=0,C=0 (bit perdu -> C) ; LDX mot,d ; X=CAFE (1100 1010 1111 1110 en binaire) ; ; témoins actuels: N=0,Z=0,V=0,C=0 RORX ; X=657F (0110 0101 0111 1111 en binaire) témoin C=0 ; ; Seul le TEMOIN C est affecté. ; STOP mot: .WORD 0xCAFE ; hexa: CAFE .END