ret |
pop IP |
retf |
pop IP; pop CS |
2、call使用
call 标号 |
相对偏移转移(16位) |
push IP;IP=IP+偏移 |
call 16位reg |
绝对偏移转移 |
push IP;IP=reg |
call word ptr 内存 |
push IP;IP=内存 | |
call far ptr 标号 |
绝对段间转移 |
push IP;push CS; CS=?; IP=?; |
call dword ptr 内存 |
1) 8位;乘数:AL;结果:AX;
2)16位;乘数:AX;结果:DX+AX;
4、程序状态字
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
5、各标志位
ZF |
零标志位 |
零=1 |
PF |
奇偶标志位 |
1的个数为偶数=1 |
SF |
符号标识位 |
负=1 |
CF |
进位标志位(无符号数) |
|
OF |
溢出标志位(有符号数) |
溢出=1 |
DF |
方向标志位 |
递增方向=1 / cld std |
IF |
中断屏蔽位 |
不响应可屏蔽中断=0 |
TF |
单步执行位 |
产生单步中断=1 |
6、cmp ax,bx:
ax=bx |
je |
zf=1 |
ax!=bx |
jne |
zf=0 |
ax<bx |
jb |
cf=1 |
ax>=bx |
jnb |
cf=0 |
ax>bx |
ja |
cf=0且zf=0 |
ax<=bx |
jna |
cf=1 或 zf=1 |
1) ((es)*16+(di))=((ds)*16+si)
2) CLD:DI=0:di++;si++;
3) STD:DI=1:di--;si--
4) 前面加rep与CX联用
5) 实例:将data1中的数据传到data2
mov ax,data1 ; 源地址
mov ds,ax
mov si,0
mov ax,data2 ; 目的地址
move s,ax
mov di,0
mov cx,XX ; 复制的字节数目
cld ; 正向传送
rep movsb ; 传送
8、debug标志位显示
标志 |
值为1时 |
值为0时 |
of |
OV |
NV |
sf |
NG |
PL |
zf |
ZR |
NZ |
pf |
PE |
PO |
cf |
CY |
NC |
df |
DN |
UP |