Riistvarapõhine programmeerimine Loeng 5 Loogilised käsud Nihkekäsud Loogilised käsud And Or Xor Not 22/07/2004 A, B A, B A, B A ID218 Riistvaralähedane programmeerimine.
Download ReportTranscript Riistvarapõhine programmeerimine Loeng 5 Loogilised käsud Nihkekäsud Loogilised käsud And Or Xor Not 22/07/2004 A, B A, B A, B A ID218 Riistvaralähedane programmeerimine.
Riistvarapõhine programmeerimine Loeng 5 Loogilised käsud Nihkekäsud Loogilised käsud And Or Xor Not 22/07/2004 A, B A, B A, B A ID218 Riistvaralähedane programmeerimine 2 And I And A, B Lipud: Cf Of Zf Sf Pf Af -> -> -> -> -> -> 22/07/2004 0 0 vastavalt vastavalt vastavalt vastavalt tulemusele tulemusele tulemusele tulemusele ID218 Riistvaralähedane programmeerimine 3 And II 22/07/2004 ID218 Riistvaralähedane programmeerimine 4 And III and reg, reg and mem, reg and reg, mem and reg, immediate data and mem, immediate data 22/07/2004 ID218 Riistvaralähedane programmeerimine 5 And IV C := A and B mov and mov 22/07/2004 ax, A ax, B C, ax ID218 Riistvaralähedane programmeerimine 6 Or I Or A, B Lipud: Cf Of Zf Sf Pf Af -> -> -> -> -> -> 22/07/2004 0 0 vastavalt vastavalt vastavalt vastavalt tulemusele tulemusele tulemusele tulemusele ID218 Riistvaralähedane programmeerimine 7 Or II 22/07/2004 ID218 Riistvaralähedane programmeerimine 8 Or III or reg, reg or mem, reg or reg, mem or reg, immediate data or mem, immediate data 22/07/2004 ID218 Riistvaralähedane programmeerimine 9 Or IV C := A or B mov or mov 22/07/2004 ax, A ax, B C, ax ID218 Riistvaralähedane programmeerimine 10 Xor I Xor A, B Lipud: Cf Of Zf Sf Pf Af -> -> -> -> -> -> 22/07/2004 0 0 vastavalt vastavalt vastavalt vastavalt tulemusele tulemusele tulemusele tulemusele ID218 Riistvaralähedane programmeerimine 11 Xor II 22/07/2004 ID218 Riistvaralähedane programmeerimine 12 Xor III xor reg, reg xor mem, reg xor reg, mem xor reg, immediate data xor mem, immediate data 22/07/2004 ID218 Riistvaralähedane programmeerimine 13 Or IV C := A xor B mov xor mov 22/07/2004 ax, A ax, B C, ax ID218 Riistvaralähedane programmeerimine 14 Not I Not A Lipud: Cf Of Zf Sf Pf Af -> -> -> -> -> -> 22/07/2004 Ei Ei Ei Ei Ei Ei mõjuta mõjuta mõjuta mõjuta mõjuta mõjuta ID218 Riistvaralähedane programmeerimine 15 Not II 22/07/2004 ID218 Riistvaralähedane programmeerimine 16 Not III not register not mem 22/07/2004 ID218 Riistvaralähedane programmeerimine 17 Not IV B := not A mov ax, A not ax and ax, 1 mov B, ax 22/07/2004 ; not 1 -> 0 ; not 1 = 0FEh ; 0FEh and 1 = 0 ID218 Riistvaralähedane programmeerimine 18 Not V B := NOT A mov xor mov 22/07/2004 ax, A ax, 1 B, ax ID218 Riistvaralähedane programmeerimine 19 Nihkekäsud SHL/SAL RCL SAR RCR SHR ROL ROR 22/07/2004 ID218 Riistvaralähedane programmeerimine 20 SHL/SAL I shl Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Vanem bit c=1, 1 (bit 7 != bit 8) c!=1, ei ole määratud vastavalt tulemusele vanem bit vastavalt tulemusele ei ole määratud ID218 Riistvaralähedane programmeerimine 21 SHL/SAL II 22/07/2004 ID218 Riistvaralähedane programmeerimine 22 SHL/SAL III shl ax, 1 ; AX*2 shl ax, ‘2’ ; AX*4 shl ax, ‘3’ ; AX*8 shl ax, ‘4’ ; AX*16 - - - - - - - - - - - - - - - - - - - - - - - 22/07/2004 ID218 Riistvaralähedane programmeerimine 23 SHL/SAL IV shl ax, ‘8’ mov mov ah, al al, 0 22/07/2004 ID218 Riistvaralähedane programmeerimine ; AX*256 24 SAR I sar Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Noorem bit c=1, 0 c!=1, ei ole määratud vastavalt tulemusele vanem bit vastavalt tulemusele ei ole määratud ID218 Riistvaralähedane programmeerimine 25 SAR II 22/07/2004 ID218 Riistvaralähedane programmeerimine 26 SAR III sar ax, 1 ;Signed division by 2 sar ax, ‘2’ ;Signed division by 4 sar ax, ‘3’ ;Signed division by 8 sar ax, ‘4’ ;Signed division by 16 22/07/2004 ID218 Riistvaralähedane programmeerimine 27 SAR IV idiv mov cwd mov idiv sar mov sar 22/07/2004 ax, -15 bx, 2 bx ; –7 ax, -15 ax, 1 ID218 Riistvaralähedane programmeerimine ; -8 28 SAR V CBW: mov ah, al sar ah, 7 CWD: mov dx, sar dx, Sign extend mov cx, sar cx, 22/07/2004 ax 15 bx into cx:bx bx 15 ID218 Riistvaralähedane programmeerimine 29 SHR I shr Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Noorem bit c=1, 1 kui märk muutus c!=1, ei ole määratud vastavalt tulemusele 0 vastavalt tulemusele ei ole määratud ID218 Riistvaralähedane programmeerimine 30 SHR II 22/07/2004 ID218 Riistvaralähedane programmeerimine 31 SHR III shr shr shr shr 22/07/2004 ax, ax, ax, ax, 1 ‘2’ ‘3’ ‘4’ ; AX/2 ; AX/4 ; AX/8 ; AX/16 ID218 Riistvaralähedane programmeerimine 32 SHR IV shr ax, ‘8’ mov mov al, ah ah, 0 22/07/2004 ID218 Riistvaralähedane programmeerimine ; AX/256 33 RCL I rcl Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Vanem bit c=1, 1 kui märk muutus c!=1, ei ole määratud ei mõjuta ei mõjuta ei mõjuta ei mõjuta ID218 Riistvaralähedane programmeerimine 34 RCL II 22/07/2004 ID218 Riistvaralähedane programmeerimine 35 RCR I rcr Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Noorem bit c=1, 1 kui märk muutus c!=1, ei ole määratud ei mõjuta ei mõjuta ei mõjuta ei mõjuta ID218 Riistvaralähedane programmeerimine 36 RCR II 22/07/2004 ID218 Riistvaralähedane programmeerimine 37 ROL I rol Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Vanem bit c=1, 1 kui märk muutus c!=1, ei ole määratud ei mõjuta ei mõjuta ei mõjuta ei mõjuta ID218 Riistvaralähedane programmeerimine 38 ROL II 22/07/2004 ID218 Riistvaralähedane programmeerimine 39 ROR I ror Lipud: Cf -> Of -> Zf Sf Pf Af -> -> -> -> 22/07/2004 A, c (c -> 1, cl) Noorem bit c=1, 1 kui märk muutus c!=1, ei ole määratud ei mõjuta ei mõjuta ei mõjuta ei mõjuta ID218 Riistvaralähedane programmeerimine 40 ROR II 22/07/2004 ID218 Riistvaralähedane programmeerimine 41 R*R / R*L Ei mõjuta Zf, Sf, Pf, Af Kui need lipud vaja: Cmp A, 0 Kontrollida lipud 22/07/2004 ID218 Riistvaralähedane programmeerimine 42 Kokkuvõte I Loogilised käsud And Or Xor Not 22/07/2004 A, B A, B A, B A ID218 Riistvaralähedane programmeerimine 43 Kokkuvõte II Nihkekäsud SHL / SAL SAR SHR 22/07/2004 ID218 Riistvaralähedane programmeerimine 44 Kokkuvõte III Nihkekäsud RCL RCR ROL ROR 22/07/2004 ID218 Riistvaralähedane programmeerimine 45