目录
简单程序
DA4 EQU WORD PTR DA5
DA5 DB 0ABH,89H
...
SHR DA4,1
MOV DX,DA4
SHL DA5,1
MOV CX,DA4
首先前面是定义阶段 :
DA4 EQU WORD PTR DA5
该指令将
D
A
4
DA4
DA4和
D
A
5
DA5
DA5绑定在了一起
也就是如果
D
A
4
DA4
DA4发生变化
D
A
5
DA5
DA5也发生变化
但是
D
A
4
DA4
DA4的最小分割单位是
W
O
R
D
WORD
WORD字,也就是
16
16
16位
DA5 DB 0ABH,89H
这条指令将
D
A
5
DA5
DA5赋值为
89
A
B
H
89ABH
89ABH,小端方式倒着来
但是最小分割单位是
D
B
DB
DB字节,也就是
8
8
8位
SHR DA4,1
将
D
A
4
DA4
DA4逻辑右移一位
因为
D
A
4
DA4
DA4绑定
D
A
5
DA5
DA5
所以
D
A
4
DA4
DA4移动之后
89
A
B
−
>
44
D
5
H
89AB->44D5H
89AB−>44D5H
那么
D
A
5
=
44
D
5
H
DA5 = 44D5H
DA5=44D5H
MOV DX,DA4
将
D
A
4
DA4
DA4的值传给
D
X
DX
DX
SHL DA5,1
将
D
A
5
DA5
DA5逻辑左移一位
但是因为
D
A
5
DA5
DA5的最小可分割单位是 字节
所以知识第一个可分割单位左移
D
A
5
=
44
D
5
H
=
44
(
D
5
>
>
1
)
H
=
44
A
A
H
DA5=44D5H=44(D5>>1)H=44AAH
DA5=44D5H=44(D5>>1)H=44AAH
MOV CX,DA4
C
X
=
44
A
A
H
CX=44AAH
CX=44AAH