教学提示
全面而准确地理解每条指令的功能和应用,是编写汇编语言程序的关键
逐个展开指令
数据传送类指令
数据传送是计算机中最基本、最重要的一种操作
传送指令也是最常使用的一类指令
传送指令把数据从一个位置传送到另一个位置
除标志寄存器传送指令外,均不影响标志位
重点掌握
MOV XCHG XLAT PUSH POP LEA
通用数据传送指令
提供方便灵活的通用传送操作
有3条指令
MOV
XCHG
XLAT
MOV
XCHG
XLAT
传送指令MOV(move)
把一个字节或字的操作数从源地址传送至目的地址
MOV reg/mem,imm
;立即数送寄存器或主存
MOV
MOV reg/mem/seg,reg
;寄存器送(段)寄存器或主存
MOV reg/seg,mem
;主存送(段)寄存器
MOV reg/mem,seg
;段寄存器送寄存器或主存
:立即数传送
mov al,4 ;al←4,字节传送
mov cx,0ffh ;cx←00ffh,字传送
mov si,200h ;si←0200h,字传送
mov byte ptr [si],0ah
;byte ptr 说明是字节操作
mov word ptr [si+2],0bh
;word ptr 说明是字操作
注意立即数是字节量还是字量
明确指令是字节操作还是字操作
MOV
:寄存器传送
mov ax,bx ;ax←bx,字传送
mov ah,al ;ah←al,字节传送
mov ds,ax ;ds←ax,字传送
mov [si],al ;[si]←al,字节传送
MOV
:存储器传送
mov al,[bx]
mov dx,[bp] ;dx←ss:[bp]
mov es,[si] ;es←ds:[si]
不存在存储器向存储器的传送指令
MOV
:段寄存器传送
mov [si],ds
mov ax,es ;ax←es
mov ds,ax ;ds←ax←es
对段寄存器的操作有一些限制
MOV
MOV指令传送功能
MOV也并非任意传送
立即数
段寄存器
CS DS ES SS
通用寄存器
AX BX CX DX
BP SP SI DI
存
储
器
非法传送种种
两个操作数的类型不一致
例如源操作数是字节,而目的操作数是字;或相反
两个操作数不能都是存储器
传送指令很灵活,但主存之间的直接传送却不允许
段寄存器的操作有一些限制
段寄存器属专用寄存器,对他们的操作能力有限
示例
示例
示例
.汇编语言2-2 来自淘豆网www.taodocs.com转载请标明出处.