数据传送指令 地址总线AB VO 储|接 入 ●●● 接 CPU器|口N设 口 设 备 数据总线DB 控制总线CB 寄存器,存储器,IO端口
二 .数据传送指令 存 储 器 I/O 接 口 输 入 设 备 I/O 接 口 数据总线 DB 控制总线 CB 地址总线 AB 输 入 设 备 CPU 寄存器,存储器,I/O端口
▲数据传送是最基本、最重要的一种操作 实际程序中,使用的比例最高 汇编子程例: change Proc LEA SL, num+2 MOV CL num+1 寄存器←寄存器 MOV CH 0 MOV AX. 0 寄存器←内存单元 MOV DL, 10 next: MUL DI 寄存器←WO端口 MOV BH. 0 MOV BL, SI 设置寄存器、内存单元的初始值 AND BL OFH ADD AX. BX INC SI LOOP next zero MOV BX. AX RET change ENDP
▲ 数据传送是最基本、最重要的一种操作 实际程序中,使用的比例最高 change PROC LEA SI, num+2 MOV CL, num+1 MOV CH, 0 MOV AX, 0 MOV DI, 10 next: MUL DI MOV BH, 0 MOV BL, [SI] AND BL, 0FH ADD AX, BX INC SI LOOP next zero: MOV BX, AX RET change ENDP 汇编子程例: 寄存器 寄存器 寄存器 内存单元 寄存器 I/O端口 设置寄存器、内存单元的初始值
▲按传送内容,可分为四类 1.通用数据传送Mov,PUSH,POP,XCHG,XLAT 2地址传送LEA,LDS,LES 3标志传送 PUSHF,POPF,LAHF,SAHF 4.输入输出传送IN,OUT(在第五章介绍) ▲特点: 1.除POPF、SAHF外,其他传送指令对标志位均无影响 2.唯一允许以段寄存器做操作数的指令 且只有MO、PUSH、POP这三条允许
▲ 按传送内容,可分为四类: 1. 通用数据传送 MOV, PUSH, POP, XCHG, XLAT 2. 地址传送 LEA, LDS, LES 3. 标志传送 PUSHF, POPF, LAHF, SAHF 4. 输入输出传送 IN, OUT (在第五章介绍) ▲ 特点: 1. 除POPF、SAHF外,其他传送指令对标志位均无影响 2. 唯一允许以段寄存器做操作数的指令 且只有MOV、PUSH、POP这三条允许
1.通用传送指令MOV、PUSH、POP、XCHG、XLAT 1)MOV传送指令 格式 Mov dst,sre 执行(dst)←(sre) reg/mem/ segre←reg regr segre mem 可实现 reg/mem segre reg/mem←data
1. 通用传送指令 MOV、PUSH、POP、XCHG、XLAT reg/mem/segreg ← reg reg/segreg ← mem reg/mem ← segreg reg/mem ← data 可实现 1)MOV传送指令 格式 MOV dst,src 执行 ( dst ) ← ( src )
例 oreg/mem/ segre←reg通用寄存器/存储器/段寄存器通用寄存器 MOV AL BL MOV[ BXI, AL MOV DS. AX ②reg/ segre←mem通用寄存器段寄存器←存储器 MOV AL,I BXI MOV DS,I BX+SI ③reg/mem← segre通用寄存器/存储器←段寄存器 MOV BX. CS MOV BXI, DS ④reg/mem←data 通用寄存器/存储器←立即数 MOV al. 9 MOV BX. OFfset buffer MOv value, 0 MOV WORD PTR BXI, 1
例 : ①reg/mem/segreg ← reg 通用寄存器/存储器/段寄存器←通用寄存器 MOV AL , BL MOV [ BX ] , AL MOV DS , AX ②reg/segreg ← mem 通用寄存器/段寄存器← 存储器 MOV AL , [ BX ] MOV DS , [ BX+SI ] ③reg/mem ← segreg 通用寄存器/存储器 ← 段寄存器 MOV BX , CS MOV [ BX ] , DS ④reg/mem ← data 通用寄存器/存储器 ←立即数 MOV Al , 9 MOV BX , OFFSET buffer MOV [ value ] , 0 MOV WORD PTR [ BX ] , 1