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 Report

Transcript 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