- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3 数据传送类指令 3.3.1 通用数据传送指令 包括MOV指令,堆栈操作指令PUSH、POP,交换 指令XCHG和地址传送指令LEA。 除了两条标志寄存器的操作指令外,均不影响 标志位。 3.3.1 通用数据传送指令1、数据传送指令MOV 格式: MOV DST, SRC 操作:(DST)←(SRC) 将源操作数内容复制到目标操作数中。 可以是8位数传送,也可以是16位数传送。 不影响标志位。 3.3.1 通用数据传送指令 其中: DST可以是通用寄存器、段寄存器、存储器操作 数; SRC可以是通用寄存器、段寄存器、存储器操作 数、立即数。 3.3.1 通用数据传送指令 (1)通用寄存器之间的数据传送 16位寄存器AX、BX、CX、DX、BP、SP、SI、DI; 8位寄存器AL、AH、BL、BH、CL、CH、DL、DH。 3.3.1 通用数据传送指令 例如: MOV AL, BLMOV AX, BX 3.3.1 通用数据传送指令 (2)通用寄存器和段寄存器之间的传送 例如: MOV DS, AX MOV BX, ES 3.3.1 通用数据传送指令 (3)通用寄存器与存储器之间的数据传送 例如: MOVMOV AL,3.3.1 通用数据传送指令 (4)段寄存器与存储器之间的数据传送 例如: MOVMOV DS,3.3.1 通用数据传送指令 (5)传送立即数到通用寄存器 例如: MOVAX, 1234H MOVCL, 4 MOVAL, ’A’ 3.3.1 通用数据传送指令 (6)传送立即数到存储器单元 例如: MOV WORD PTR[2000H], 35H MOV BYTE PTR[SI],35H 3.3.1 通用数据传送指令 使用MOV指令时应注意以下几点:3.3.1 通用数据传送指令 (1)源操作数和目的操作数位数必须统一,全为8位或全为16位。 例如: MOV ES, AL;错 MOV CL, 1234H;错 3.3.1 通用数据传送指令 (2)两个存储器操作数不允许直接进行传送。 例如: 3.3.1 通用数据传送指令 若需要传送,必须借助通用寄存器。 例如: MOV AX, MEM1 MOV MEM2, AX 3.3.1 通用数据传送指令 (3)两个段寄存器之间不能直接传送 MOV DS, ES;错 3.3.1 通用数据传送指令 若需要传送,同样可借助通用寄存器。 例如: MOV AX, ES MOV DS, AX 3.3.1 通用数据传送指令 (4)不允许立即数到段寄存器的传送 例如: MOV DS, 1234H;错 3.3.1 通用数据传送指令 对段寄存器赋值时也要用通用寄存器实现。 例如: MOV AX, 1234H MOV DS, AX 3.3.1 通用数据传送指令 (5)立即数不能作为目的操作数。 例如: MOV 1234H, AX;错 3.3.1 通用数据传送指令 (6)不能用CS作目的操作数,它的内容不能随意改变。 例如: 3.3.1 通用数据传送指令2、堆栈操作指令 堆栈是在随机存储区开辟的一个特殊 区域,用来临时存放数据。 堆栈所处的段称为堆栈段。 3.3.1 通用数据传送指令 这个区域数据的存取方式类似 于货栈中货物的存取方式。 也类似于弹匣中子弹的存取方 式。 3.3.1 通用数据传送指令 按“先进后出” 简称FILO或 “后进先出”简称LIFO的方式 工作。 3.3.1 通用数据传送指令 数据所在存储单元的段地址由SS 给出; 偏移地址由堆栈指针SP给出。 堆栈段存储单元的实际地址: PA=(SS)×16 +(SP) 3.3.1 通用数据传送指令 SP的初值指向堆栈栈底; 起始时栈底和栈顶重合。 堆栈的操作是向上生长的, 由高地址到低地址。 堆栈的范围是从栈底的上一 个单元到SP为0的区间。 每次压栈和出栈均以一个字 (2个字节)为单位。 SP在任何时候都指向当前的 栈顶。 3.3.1 通用数据传送指令 (1)入栈指令PUSH 格式:PUSH SRC 功能:将源操作数SRC压入堆栈。 操作: SP ← SP - 2(SP)← 操作数低8位(SP+1)← 操作数高8位 3.
文档评论(0)