1 / 45

Riistvarapõhine programmeerimine

Riistvarapõhine programmeerimine. Loeng 5 Loogilised käsud Nihkekäsud. Loogilised käsud. And A, B Or A, B Xor A, B Not A. And I. And A, B Lipud: Cf -> 0 Of -> 0 Zf -> vastavalt tulemusele Sf -> vastavalt tulemusele Pf -> vastavalt tulemusele Af -> vastavalt tulemusele. And II.

keenan
Télécharger la présentation

Riistvarapõhine programmeerimine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Riistvarapõhine programmeerimine Loeng 5 Loogilised käsud Nihkekäsud

  2. Loogilised käsud • And A, B • Or A, B • Xor A, B • Not A ID218 Riistvaralähedane programmeerimine

  3. And I And A, B Lipud: Cf -> 0 Of -> 0 Zf -> vastavalt tulemusele Sf -> vastavalt tulemusele Pf -> vastavalt tulemusele Af -> vastavalt tulemusele ID218 Riistvaralähedane programmeerimine

  4. And II ID218 Riistvaralähedane programmeerimine

  5. And III and reg, reg and mem, reg and reg, mem and reg, immediate data and mem, immediate data ID218 Riistvaralähedane programmeerimine

  6. And IV C := A and B mov ax, A and ax, B mov C, ax ID218 Riistvaralähedane programmeerimine

  7. Or I Or A, B Lipud: Cf -> 0 Of -> 0 Zf -> vastavalt tulemusele Sf -> vastavalt tulemusele Pf -> vastavalt tulemusele Af -> vastavalt tulemusele ID218 Riistvaralähedane programmeerimine

  8. Or II ID218 Riistvaralähedane programmeerimine

  9. Or III orreg, reg ormem, reg orreg, mem orreg, immediate data ormem, immediate data ID218 Riistvaralähedane programmeerimine

  10. Or IV C := A or B mov ax, A or ax, B mov C, ax ID218 Riistvaralähedane programmeerimine

  11. Xor I Xor A, B Lipud: Cf -> 0 Of -> 0 Zf -> vastavalt tulemusele Sf -> vastavalt tulemusele Pf -> vastavalt tulemusele Af -> vastavalt tulemusele ID218 Riistvaralähedane programmeerimine

  12. Xor II ID218 Riistvaralähedane programmeerimine

  13. Xor III xorreg, reg xormem, reg xorreg, mem xorreg, immediate data xormem, immediate data ID218 Riistvaralähedane programmeerimine

  14. Or IV C := A xor B mov ax, A xor ax, B mov C, ax ID218 Riistvaralähedane programmeerimine

  15. Not I Not A Lipud: Cf -> Ei mõjuta Of -> Ei mõjuta Zf -> Ei mõjuta Sf -> Ei mõjuta Pf -> Ei mõjuta Af -> Ei mõjuta ID218 Riistvaralähedane programmeerimine

  16. Not II ID218 Riistvaralähedane programmeerimine

  17. Not III not register not mem ID218 Riistvaralähedane programmeerimine

  18. Not IV B := not A mov ax, A ; not 1 -> 0 not ax ; not 1 = 0FEh and ax, 1 ; 0FEh and 1 = 0 mov B, ax ID218 Riistvaralähedane programmeerimine

  19. Not V B := NOT A mov ax, A xor ax, 1 mov B, ax ID218 Riistvaralähedane programmeerimine

  20. Nihkekäsud • RCL • RCR • ROL • ROR • SHL/SAL • SAR • SHR ID218 Riistvaralähedane programmeerimine

  21. SHL/SAL I shl A, c (c -> 1, cl) Lipud: Cf -> Vanem bit Of -> c=1, 1 (bit 7 != bit 8) c!=1, ei ole määratud Zf -> vastavalt tulemusele Sf -> vanem bit Pf -> vastavalt tulemusele Af -> ei ole määratud ID218 Riistvaralähedane programmeerimine

  22. SHL/SAL II ID218 Riistvaralähedane programmeerimine

  23. SHL/SAL III shl ax, 1 ; AX*2 shl ax, ‘2’; AX*4 shl ax, ‘3’; AX*8 shl ax, ‘4’; AX*16 - - - - - - - - - - - - - - - - - - - - - - - - ID218 Riistvaralähedane programmeerimine

  24. SHL/SAL IV shl ax, ‘8’; AX*256 mov ah,al mov al, 0 ID218 Riistvaralähedane programmeerimine

  25. SAR I sar A, c (c -> 1, cl) Lipud: Cf -> Noorem bit Of -> c=1, 0 c!=1, ei ole määratud Zf -> vastavalt tulemusele Sf -> vanem bit Pf -> vastavalt tulemusele Af -> ei ole määratud ID218 Riistvaralähedane programmeerimine

  26. SAR II ID218 Riistvaralähedane programmeerimine

  27. 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 ID218 Riistvaralähedane programmeerimine

  28. SAR IV idiv mov ax, -15 cwd mov bx, 2 idiv bx ; –7 sar mov ax, -15 sar ax, 1 ; -8 ID218 Riistvaralähedane programmeerimine

  29. SAR V CBW: mov ah, al sar ah, 7 CWD: mov dx, ax sar dx, 15 Sign extend bx into cx:bx mov cx, bx sar cx, 15 ID218 Riistvaralähedane programmeerimine

  30. SHR I shr A, c (c -> 1, cl) Lipud: Cf -> Noorem bit Of -> c=1, 1 kui märk muutus c!=1, ei ole määratud Zf -> vastavalt tulemusele Sf -> 0 Pf -> vastavalt tulemusele Af -> ei ole määratud ID218 Riistvaralähedane programmeerimine

  31. SHR II ID218 Riistvaralähedane programmeerimine

  32. SHR III shr ax, 1 ; AX/2 shr ax, ‘2’;AX/4 shr ax, ‘3’; AX/8 shr ax, ‘4’; AX/16 ID218 Riistvaralähedane programmeerimine

  33. SHR IV shr ax, ‘8’; AX/256 mov al, ah mov ah, 0 ID218 Riistvaralähedane programmeerimine

  34. RCL I rcl A, c (c -> 1, cl) Lipud: Cf -> Vanem bit Of -> c=1, 1 kui märk muutus c!=1, ei ole määratud Zf -> ei mõjuta Sf -> ei mõjuta Pf -> ei mõjuta Af -> ei mõjuta ID218 Riistvaralähedane programmeerimine

  35. RCL II ID218 Riistvaralähedane programmeerimine

  36. RCR I rcr A, c (c -> 1, cl) Lipud: Cf -> Noorem bit Of -> c=1, 1 kui märk muutus c!=1, ei ole määratud Zf -> ei mõjuta Sf -> ei mõjuta Pf -> ei mõjuta Af -> ei mõjuta ID218 Riistvaralähedane programmeerimine

  37. RCR II ID218 Riistvaralähedane programmeerimine

  38. ROL I rol A, c (c -> 1, cl) Lipud: Cf -> Vanem bit Of -> c=1, 1 kui märk muutus c!=1, ei ole määratud Zf -> ei mõjuta Sf -> ei mõjuta Pf -> ei mõjuta Af -> ei mõjuta ID218 Riistvaralähedane programmeerimine

  39. ROL II ID218 Riistvaralähedane programmeerimine

  40. ROR I ror A, c (c -> 1, cl) Lipud: Cf -> Noorem bit Of -> c=1, 1 kui märk muutus c!=1, ei ole määratud Zf -> ei mõjuta Sf -> ei mõjuta Pf -> ei mõjuta Af -> ei mõjuta ID218 Riistvaralähedane programmeerimine

  41. ROR II ID218 Riistvaralähedane programmeerimine

  42. R*R / R*L • Ei mõjuta Zf, Sf, Pf, Af • Kui need lipud vaja: Cmp A, 0 Kontrollida lipud ID218 Riistvaralähedane programmeerimine

  43. Kokkuvõte I • Loogilised käsud • And A, B • Or A, B • Xor A, B • Not A ID218 Riistvaralähedane programmeerimine

  44. Kokkuvõte II • Nihkekäsud • SHL / SAL • SAR • SHR ID218 Riistvaralähedane programmeerimine

  45. Kokkuvõte III • Nihkekäsud • RCL • RCR • ROL • ROR ID218 Riistvaralähedane programmeerimine

More Related