微机第2章 汇编语言程序设计2-1.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机第2章 汇编语言程序设计2-1

第2章 实模式、保护模式程序设计 2.1 微处理器实模式下的寻址方式 2.2 微处理器实模式指令系统 2.3 MASM汇编语言 2.4 汇编语言程序设计 2.1微处理器实模式下的寻址方式 1.指令: 指令是计算机执行某种操作的命令:内容包括做什么操作,操作数的来源,结果的存放。 2. 指令系统: 计算机提供给用户使用的所有指令的集合 3.程序: 一些指令的有机结合,用于完成某种目的。 4. 指令格式: 操作码: 指计算机所要执行的操作,如:传送、运算、移位、跳转等操作,是指令中必不可少的组成部分。是一种助记符。 操作数:指出在指令执行操作过程中所需要的操作数; 可以是操作数本身; 可以是操作数地址或是地址的一部分; 可以是指向操作数地址的指针 或其他有关 操作数的信息。 二、 8086/8088指令寻址方式 寻址:寻找操作数的过程称为寻址。 寻址方式:寻找操作数的方法称为寻址方式。 8086/8088有8种寻址方式,可分为三类: 1.立即数寻址 操作数直接出现在指令中,紧跟在操作码之后,与操作码一起放在代码段区域中。 例1:MOV AL,05H 指令执行后: (AL)=05H 例2:MOV AX,3064H 指令执行后: (AX)=3064H 2.寄存器寻址 操作数在指定的寄存器中。 对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP,BP,CS,DS,ES,SS; 对于8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH或DL。 3.存储器寻址 操作数都在内存单元中存放,指令中操作数部分是要进行操作数据的有效地址EA。 EA的组成不同又分为: 2.2 微处理器实模式指令系统 2.2.1 数据传送指令 2.2.2 算术运算指令 2.2.3 逻辑与移位指令 2.2.4 串处理指令类 2.2.5 控制转移指令 2.2.6 处理器控制类 2.2.1. 数据传送指令 概述 特点:把数据从计算机的一个部位传送到另一部位 指令操作:将源操作数的内容送到目的操作数,交换指令除外 指令分类:数据传送、地址传送、标志传送、输入输出和交换 1.数据传送指令(3条) (1)数据传送指令(MOV) 指令格式:MOV DST, SRC ; DST←SRC 指令操作:把一个字节或一个字操作数从源传送到目的地。 源操作数可以是寄存器、段寄存器、存储器以及立即操作数; 目的操作数可以是寄存器、存储器和段寄存器 立即操作数、段寄存器CS只能作为源操作数; 源、目的操作数只能有一个是存储器操作数; 立即操作数不能直接送给段寄存器。 段寄存器之间不能传送数据 指令实例: MOV AH,BL ;AH←BL MOV BL,254 ;BL←254 MOV AX,[BX] ;AH←[BX+1]、AL←[BX] MOV [DI],ES ;[D1+1] ←ESH(ES的高8位) ;[DI] ←ESL(ES的低8位) MOV DS, AX ;DS←AX MOV COUNT [DI], AX ;COUNT [DI+1] ← AH、 ; COUNT[DI] ←AL 使用MOV指令须注意: 源、目的操作数不能同时为存储器操作数; 两操作数的类型属性要一致; 操作数不得出现二义性。 下列指令是非法的: MOV AX, BL ;类型不一致。 MOV AH, 2589 ;类型不一致。 MOV CS, AX ;CS不能作为目的操作数。 MOV [SI], [BX] ;源、目的操作数都是存储器操作数。 MOV [BX], 1 ;操作数1出现二义性,不知是字1还是字节1。 MOV DS, 3542H ;指令形式错,立即操作数不能直接送给段寄存器。 非法指令“MOV [BX],1 若改为:MOV WORD PTR [BX],1 表示把立即数1存入[BX+1] [BX]两个连续单元(亦称为字单元)中, 或改为:MOV BYTE PTR [BX],1 表示把立即数1存入[BX]字节单元。 两种都是正确的。 (2)进栈指令 指令格式: PUSH SRC; 执行的操作: SP←SP-2, [SP+1] ← SRCH, [SP] ← SRCL, SRC :为REG16或MEM16 或SEGREG 指令实例: MOV AX, 5000H ;AX←5000H MOV SS, AX ;SS←AX,设置堆栈段为5000H MOV SP, 1000H ;SP←1000H, PUSH AX ; SP←SP-2、[SP+1] ←AH、 ;[

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档