语言基础知识.复习进程_第1页
语言基础知识.复习进程_第2页
语言基础知识.复习进程_第3页
语言基础知识.复习进程_第4页
语言基础知识.复习进程_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言基础知识.1.1

计算机系统概述1.1.1计算机的硬件1.1.2计算机的软件1.1.3计算机程序设计语言返回第一章21.1.1计算机的硬件对汇编语言程序员来说,计算机硬件的结构如下图所示(CPU、存储器、接口(外设)):

运算器控制器寄存器主存储器系统总线I/O接口输入设备输出设备辅助存储器CPU外总线3

1.中央处理单元由三部分组成。控制器:取指令,经译码分析后发出各种控制命令,如取数、存数、运算等。运算器:完成各种算术运算和逻辑运算。寄存器(或寄存器阵列):由多个8位、16位寄存器组成,提供各种操作所需要的数据。4

2.存储器1)存放程序和数据;可重复读取;新数据覆盖原数据。2)主存:半导体,快,成本高,容量小;辅存:软硬磁盘、光盘;3)RAM:可读可写,易失性存储器;ROM:只读,非易失性存储器;4)由大量存储单元组成:单位、内容、地址、容量、B(BYTE)、KB、MB、GB、TB等。5

3.外部设备和接口设备类型:人机交互机器间通信外存(可看做I/O设备)接口:①接口的必要性:格式转换、电平转换…②接口的组成:三个(组)寄存器;通过寄存器交换数据;③对接口的访问:端口----端口号----端口地址、I/O地址;返回1.16

1.1.2计算机软件1.系统软件面向计算机、由厂家提供;其作用为管理和维护、充分发挥其功能、为用户提供一个方便使用的系统。如操作系统,诊断系统,程序设计语言等2.应用软件面向问题、由公司或用户编写★集成开发环境:开发工具包括文本编辑、翻译程序、调试程序、连接程序等,在DOS时代,其各自是独立的;现在将其集成为一个软件,即为“集成开发环境”。返回1.17

1.1.3计算机的程序设计语言1.机器语言低级语言2.汇编语言程序设计语言3.高级语言C/C++、JAVA、 DELPHI……8

1.机器语言指令→机器指令;机器指令的组成:操作码、操作数;指令系统;机器语言:指令系统及使用指令系统编写程序的规则。机器语言特点:计算机唯一能够直接识别的语言。目标程序:用机器语言描述的程序。机器语言的致命缺点:难以使用。如100+2568086机器语言程序:B86400050001A300209

2.汇编语言汇编指令:用便于记忆、并能描述指令功能的符号表示机器指令→汇编指令(符号指令)。助记符:表示指令操作码的符号,一般用英语单词或缩写。指令的操作数也用符号表示。汇编语言:汇编指令及使用汇编指令编写程序的规则。(其他语言要素第三章介绍)汇编语言(源)程序:使用汇编语言编写的程序。汇编语言的特点:汇编指令与机器指令一一对应,但相对机器语言易于理解、掌握,当我们用低级语言编写程序时使用汇编语言而不用机器语言。汇编和汇编程序:翻译过程翻译程序。10

3.高级语言机器语言和汇编语言以外的程序设计语言统称高级语言。其特点是更加接近自然语言和惯用的数学表达形式,与计算机硬件结构无关,因而便于使用,便于交流和推广。总之,高级语言编程效率高,但运行效率低。高级语言可分成编译型和解释型高级语言,分别使用编译程序和解释程序将源程序翻译成机器语言程序,然后交计算机执行。11

4.汇编语言程序设计的意义学习汇编语言的意义:1)与硬件密切相关,是学习硬件类课程的先行课和基础课。2)有利于理解计算机的工作原理。3)可直接而有效地控制硬件。4)执行效率高,占用空间小。5)特殊应用只能使用汇编语言,如加密解密等。应该指出的是:在计算机速度大大提高和存储器容量大大增加的今天,高级语言的使用更为广泛和普遍(特别是编写大型程序)。返回第一章121.2数据表示1.2.1数制1.2.2编码1.2.3有符号数的表示方法1.2.4二进制运算返回第一章13

1.2.1数制[数制涉及三个问题:计数符号基数和权计数规则(1)计数符号

这是用于书写数值的符号,所有计数符号的集合称作数符集。k进制的数符集中必然包含k个符号。比如:二进制的数符集中有两个符号:0和1;八进制的数符集中有8个符号:0,1,2,3,4,5,6,7;十进制的数符集中有10个符号:0,1,2,3,4,5,6,7,8,9;十六进制的数符集中有16个符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。14数制的三个问题:1.二进制数

(2)基数和权如果把用k进制书写的一个整数从右往左依次记作第0位、第1位、…、第n位,则第i位上的数符ai所代表的含义是ai×ki。在此,我们把k称为一个数制的基数,而把ki称为k进制数第i位的权。(如888,每个8的位权都不相同)(3)计数规则简单地说,就是“逢k进1,借1当k”。]…………………..1.二进制数11011011.101B=1x27+1×26+0×25+1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3

二进制数是计算机内部采用的,并唯一能够直接被计算机识别的数。152.十六进制数2.十六进制数8a0f.6bH=8×163+10×162+0×161+15×160+6×16-1+11×16-2引入十六进制数的目的是为了描述二进制数。数的书写方法:1)二进制数尾部加B(b)。2)十六进制数尾部加H(h);如记数符号a,b,c,d,e,f打头,头部应加0,如0A8F5H;记数符号a,b,c,d,e,f不区别大小写,与ABCDEF等效。3)十进制数尾部加D(d),但通常可以省略。163.数制间转换3.数制间转换

1)十进制数转换二进制数;

2)十进制数转换十六进制数;

3)二进制数十六进制数互相转换;

返回1.2171.2.1-3数制转换:十进制→二进制(整数)①将整数部分不断除以2,记下每次得到的余数,直到商为零;②余数倒排,即最后得到的余数排在最高位,第一个余数排在最低位。例如将十进制数13转换成二进制数: 213余数26-----123-----021-----10-----1 13D=1101B181.2.1-3数制转换:十进制→二进制(小数)

小数部分转换:乘2取整,顺序排列得到的整数。例如将0.8125转换成二进制数: 0.8125 整数×2 1.6250 ×2 1.25 ×2 0.50 ×2 1.000.8125D=0.1101B(有时会有转换误差,如0.3D)返回数制转换191.2.1-3数制转换:十进制→十六进制十进制数转换成十六进制数,方法同十进制数转换成二进制数,只不过“除2取余”变为“除16取余”,“乘2取整”变为“乘16取整”。同理,如果要将十进制数转换为其它数制的数(如八进制数),也采用同样的方法。二进制数、十六进制数转换成十进制数教材未介绍,只要将二进制数、十六进制数按位权展开相加即可,如将8A.B5H转换成十进制数:8A.B5H=8×161+10×160+11×16-1+5×16-2

=128+10+0.6875+0.0195=138.707D返回数制转换20二进制数互相转换十六进制数返回数制转换5A.5H21

1.2.2编码计算机中的数采用二进制数,字母、符号等也只能采用二进制代码(0,1)的排列组合表示(编码)。(两种编码:BCD码、ASCII码)1.BCD码(8421码、二──十进制数)解决十进制数在计算机内部如何表示。BCD码规定用四位二进制数表示一位十进制数。对多位十进制数,只要把每一位十进制数分别表示为四位二进制数即可。十进制BCD码00000100012001030011401005010160110701118100091001十进制BCD码

2800101000956100101010110222.ASCII码2.ASCII码解决字母、符号在计算机内部如何表示。基本ASCII码(标准ASCII码)用七位二进制数表示一个符号(共128个);书写:用两位十六进制数书写,如41H----A;种类:1)控制字符(前32个和最后一个):0D---回车,0A---换行;2)其他为打印字符(可显示字符);应记住的ASCII码:30H~39H,41H,61H扩展ASCII码用八位二进制数表示一个符号(共256个)。返回1.223

1.2.3有符号数表示方法0.无符号数、有符号数、机器数、真值1.原码正数原码:符号位为0,数值位照抄。负数原码:符号位为1,数值位照抄。例:X=+25=+00011001B[X]原=00011001BX=-25=-00011001B[X]原=10011001B2.反码正数反码:符号位为0,数值位照抄。负数反码:符号位为1,数值位取反。例:X=+25=+00011001B[X]反=00011001BX=-25=-00011001B[X]反=11100110B原码和反码表数范围相同,都是-127~+127。243.补码3.补码为了将减法运算变成加法来做,有符号数在计算机内一律采用补码表示。正数补码:符号位为0,数值位照抄。负数补码:符号位为1,数值位取反加一。例:X=+25=+00011001B[X]补=00011001BX=-25=-00011001B[X]反=11100110B[X]补=11100111B

下面是原码、反码和补码的小结。原码、反码、补码总结:1)正数的原码反码补码相同;负数的原码反码补码各不相同,但符号位都是1。2)设字长为八位,原码反码的表数范围为

-127~+127,补码的表数范围为-128~+127。3)已知某负数的补码,求该负数的真值,方法如下:①符号位不动,其余位求反加一,得到的是该负数的原码;②根据原码即可写出该负数的真值。例:[X]补=11111100B[X]原=10000011B+1=10000100BX=-0000100=-4返回1.225

1.2.4二进制运算(含十六进制运算)1.算术运算与十进制运算相同,只不过是逢2进1,借1当2。 加法 减法 乘法0+0=0 0‐0=0 0×0=00+1=10‐1=1 0×1=01+0=11‐0=1 1×0=01+1=101‐1=0 1×1=12.十六进制算术运算:与十进制运算相同,但①逢16进1,借1当16;②注意运算结果如为A,B,C,D,E,F,不能写成10,11,12,13,14,15。例1:计算85AH+924H

85A

+924

————

117E例2:计算800H‐1

800‐001————7FF不可以写成14逢16进1263.逻辑运算3.逻辑运算

与运算(AND;∧):1∧0=0 1∧1=1 0∧0=0 0∧1=0 或运算(OR;∨):1∨0=1 1∨1=1 0∨0=0 0∨1=1 非运算(NOT;~或—):~0=1 (0=1) ~1=0(1=0) 异或运算(XOR;⊕)1⊕0=1 1⊕1=0 0⊕0=0 0⊕1=1 注意:逻辑运算是按位运算。

27

4.用补码作减法(补充讲义)我们用实例说明计算机在执行减法指令时,是如何把减法变成加法来做的(设字长为8位)。例1:(+5)-(+4)即(+00000101)-(+00000100)①机器中+5和+4都用补码表示。②对减数求补(求反加一),得到(-4)的补码:11111100③(+5)的补码加(-4)的补码:00000101+11111100 ——————————100000001④将结果00000001看作补码,其真值即为+1。进位被自动舍弃28用补码作减法(2)例2(+5)-(-4)即(+0000101)-(-0000100)①机器中+5和-4都用补码表示。(-4)补=11111100②对减数求补,得到的是+4的补码:00000100③将+5的补码加+4的补码00000101+00000100——————————00001001④将结果看成补码,其真值即为正确结果+9。例3:(-5)-(+4)和(-5)-(-4)步骤同上。总之:①被减数和减数都用补码表示;

②机器对减数先求补,而后做加;

③将计算结果看作补码。返回第一章291.3Intel80x86系列微处理器1.8086/8088/801868086:1978年推出;内外数据总线16位;地址总线20位;寻址范围1MB;主频5MHz.8088:1979年推出;外部数据总线8位;其余基本同8086,被称为准16位CPU。80186:增强了8086的功能,但作为计算机的CPU没有被使用过,只作过某些板卡的控制器。30802862.80286(16位CPU)1982年推出;内外数据总线16位;地址总线24位;寻址范围16MB;主频5MHz~20MHz。80286支持两种工作方式:实模式和保护模式。实模式:相当于一个快速8086。保护模式:提供虚拟存储管理和多任务的硬件控

制。物理寻址范围16MB,虚拟存储器寻址范围可达1GB。指令系统除包含8086/80186指令外,新增15条保护方式指令31803863.80386(32位CPU)1985年推出;内外部数据总线32位;地址总线32位,物理寻址范围4GB,虚拟存储器寻址范围可达64TB。主频为16/25/33MHz。386除支持286的两种工作方式外,新增虚拟8086模式。虚拟8086模式的特点:1)既具有保护功能,又能执行实模式下的8086代码,且可以实现多任务。(可同时运行多个DOS程序)2)可以在虚拟8086模式和保护模式下快速、反复转换。指令系统除兼容原16位CPU指令外,全面升级为32位指令,并新增多条指令。3280486\pentium4.80486(32位CPU)1989年推出;特点:①将高速缓存、协处理器与CPU集成在一个芯片上;②部分采用了RISC技术;③采用了指令流水线技术;④大幅度提高了CPU的主频,可达100MHz。5.Pentium/MMXPentium(32位或准64位CPU)Pentium:1993年推出;内部数据总线32位,外部数据总线64位;主频60MHz~200MHz;采用超标量技术。MMXPentium:1996年推出;主频最高233MHz;新增57条多媒体指令,提高了多媒体软件执行速度。 下面简单介绍RISC技术和流水线技术。RISC技术:精简指令系统计算机技术。其特点是:CPU的指令系统不含复杂指令,指令长度固定,指令格式种类少,寻址方式少,指令数量少(只选择使用频度很高的指令),因此,使计算机结构变得更加简单、有效,结合流水线等其他技术,使一个时钟周期完成一条指令,从而大大提高了计算机的速度。如1981年研制成的RSCII型CPU,只有31条指令,其性能却比当时最先进的商品化微处理器MC68000和Z8000快3~4倍。

流水线技术:计算机中的流水线技术和工厂中的流水装配线类似。①将执行一条指令需完成的操作分成若干子操作;②每个子操作由专门部件完成;③各子操作并行工作。由于子操作并行工作,提高了计算机的执行速度。(但要注意,完成一条指令所需要的时间并没有变。)(“每周期完成一条指令”和“完成一条指令需要一个周期”不同。)(超标量)装配线33Pentiumpro\pii/piii\p46.PentiumPro/PⅡ/PⅢ/P4PentiumPro:1995年推出;Pentium的增强型芯片,主要用于服务器.PII:1997年推出;在PentiumPro的基础上增加了MMX指令。PIII:1999年推出;在PII的基础上增加了70条SSE指令。P4:2000年推出;新增76条SSE2指令。另外,从PII时代开始,Intel为了占领低端市场,推出了Celeron(赛扬)微处理器,目前,最新型的Celeron(赛扬)微处理器是所谓C4,与P4引脚兼容。

返回第一章341.4PC微型计算机系统1.PC机的硬件基本配置:主机、键盘和鼠标、

显示器、软盘驱动器、硬盘驱动

器和光盘驱动器等。2.主存空间的分配①常规内存:容量1MB;

00000H~0FFFFFH。*保留内存:显示缓冲

区和扩展ROM;*基本内存:DOS占

用、用户区。扩展内存640K384K保留内存基本内存常规内存35PC机的软件②扩展内存(XMS):对80286以上的CPU来说1MB以上的存储空间称为扩展内存,可供用户程序使用。3.PC机的软件(学习《汇编语言》使用的软件)

①编辑程序,如DOS的EDIT。②汇编程序,如MASM6.X。③连接程序LINK。④调试程序DEBUG。返回第一章361.58086微处理器1.5.18086的功能结构1.5.28086的寄存器组1.5.3存储器组织与段寄存器

1.存储器组织(位、字节、地址、字单元…)2.分段管理(分段、逻辑地址、物理地址…)3.段寄存器(段寄存器、段超越….)返回第一章37

1.5.18086的功能结构指令译码总线接口单元执行单元ABUSDBUSCBUS内部数据总线内部数据总线返回1.538

1.5.28086寄存器组寄存器是CPU内部临时存放数据的部件。8个通用寄存器,4个段寄存器,1个指令指针寄存器,1个标志寄存器。以上寄存器均为16位寄存器。1.8086通用寄存器(1)AX—累加器。(2)BX—基地址寄存器。(3)CX—计数寄存器。(4)DX—数据寄存器。(5)SI—源变址寄存器。(6)DI—目的变址寄存器。(7)BP—栈基地址寄存器。(8)SP—栈顶指针。(9)IP——指令指针寄存器(专用寄存器)。通用寄存器中的4个数据寄存器可以分成8个8位寄存器使用:AX→AH,ALBX→BH,BLCX→CH,CLDX→DH,DL39标志寄存器2.标志寄存器

标志寄存器又称作程序状态字(ProgramStatusWord,简记作PSW),共16位,一般把每一位分别使用,8086/8088使用其中的9位,用于存放当前程序执行的状况和运算结果的特征,各标志位的分布如图2.3所示。D15d14d13d12d11d10d9d8

D7D6D5D4D3D2D1D0OFDFIFTFSFZFAFPFCF40标志寄存器

9个标志位可分为两组:状态标志(条件标志),记载算术运算或者逻辑运算结果的特征;另一组是控制标志位,记载CPU当前工作状态(控制CPU执行指令的方式),包括TF、IF、DF等3个标志位。1.状态标志(条件标志)(1)CF——进位标志。(2)ZF——零标志。(3)SF——符号标志。(4)OF——溢出标志。(设置,与CF的区别)(5)PF——奇偶标志。(低8位,偶数时为1)(6)AF——辅助进位标志。

41控制标志位2.控制标志位(1)TF——单步中断允许标志。(2)IF——外部可屏蔽中断允许标志。(3)DF——方向标志。返回1.5目录42

1.5.3存储器组织与段寄存器1.数据的存储格式AFH5AH34H12H56H78H0006H0005H0004H0003H0002H0001H0000H地址位(bit)、字节(Byte)、字:字长:一个字包含的位数…;8086,286,386….的字长;存储器的基本单位,地址、内容;字、双字的存放:遵循低字节占低地址,高字节占高地址。字单元、双字单元的地址。地址对齐字单元[0002h]=1234h双字单元[0002H]=78561234H字节单元[0002h]=34h内容43存储器的分段管理12.存储器的分段管理①为何分段:8086的地址总线宽度为20位,寻址范围220=1MB,但一个地址寄存器只有16位,无法直接形成20位地址,故把1M空间分成许多“段”,用一个寄存器表示某段在1M空间内的起始地址(段地址),用另一个寄存器表示表示段内某单元相对本段起始地址的偏移地址。(用两个16位寄存器形成20位地址)②地址的表示方法:段(基)地址:偏移地址为能用16位寄存器表示段的起始地址(xxxxxH),并不是任意一个单元的地址都能作段的起始地址,只有那些形式为xxxx0H的地址才能作段的起始地址,该起始地址存入16位寄存器时,将0省略即可。偏移地址为16位,可直接放入16位寄存器。44分段管理2③逻辑地址和物理地址逻辑地址:存储单元地址的表达形式。即段地址:偏移地址物理地址:存储单元在1M空间内的实际地址。④已知逻辑地址,求物理地址如205AH:3B06H205A0H+3B06H————————240A6H①段地址乘以16(也就是将保存段地址时省略的0补回。)②位对齐,加偏移地址物理地址45分段管理3⑤地址的唯一性一个存储单元的物理地址是唯一的,但逻辑地址并不是唯一的,例如4106H:400AH,42AEH:258AH,3507H:0FFFAH……都表示同一个存储单元,其物理地址为4506AH。⑥涉及分段的其他问题a)1M内存空间总共可以分多少个段?xxxx0hb)每个段最大可以包括多少个存储单元?c)xxxxH:0000H是段内哪一个单元?其物理地址是多少?46

3.段寄存器8086专门存放段地址的寄存器称为段寄存器,共有4个:CS-代码段段寄存器;DS-数据段段寄存器;ES-附加段段寄存器;SS-堆栈段段寄存器。①段寄存器的作用:程序的不同部分放入相应段;②段超越:取指令时,段地址只能是CS;堆栈操作时,段地址只能是SS;读取数据时,默认的段寄存器为DS,但也可以指定使用其他段寄存器。47段寄存器使用规定SSESDSDSSSCS默认段寄存器有效地址EADISI有效地址EASPIP偏移地址CS,ES,SS无CS,ES,SSCS,ES,SS无无可超越的段寄存器BP作基址时串的目的操作数串的源操作数一般数据访问堆栈操作取指令访问存储方式注意:虽然有些操作允许段超越,但除了编写COM程序,一般情况下不使用段超越,特别是堆栈段只用于堆栈操作。段寄存器使用规定48③使用段寄存器涉及的其他问题③使用段寄存器涉及的其他问题按前述,可以使用的段寄存器只有4个,且每个段最大空间为64KB,好象限制很死,但实际使用时却很灵活:程序可以只有一个代码段(COM程序)。段与段之间可以相互独立,也可以相互重叠,取决于各段的大小。如果必要,一个段的实际容量可以大于64K,只要在程序运行时,动态修改相应段寄存器的值(程序有多个代码段或多个数据段)。......64K64K段寄存器指向修改段寄存器值使其指向新地址段大于64K示意图返回1.5491.68086的寻址方式1.6.18086机器代码格式1.6.2立即数寻址方式1.6.3寄存器寻址方式1.6.4存储器寻址方式寄存器间接寻址寄存器相对寻址基址变址寻址直接寻址基址变址相对寻址返回第一章50

1.6.18086机器代码格式①指令的组成(机器指令角度):操作码操作数(二进制代码的排列组合)(操作数:无,1,2)②汇编指令格式:操作码助记符目的操作数,源操作数;注释操作码助记符:每条指令必有。操作数:指令操作的对象或操作对象的地址。MOV AX,2050HMOV AX,[2050H](详细的机器指令格式省略)返回1.651

1.6.2立即数寻址方式寻址方式:寻找操作数地址的方式,即寻找操作数,而后完成指令。这种寻址方式直接把参与操作的数据写在指令中,是指令的一部分,该数据称为立即数。计算机寻找操作数时,只要读取指令的操作数字节;操作数可以是各种数制下的数值(相当于8位或16位二进制数),也可以是带单引号的字符。例如:MOV AX,2050H MOV AL,05H MOV AL,‘A’B8H50H20H操作码立即数52指令举例观察指令:MOV 05H,ALMOV BL,324DMOV CH,2050HMOV DL,‘25’注意:1.立即数永远不能作目的操作数。 2.源操作数和目的操作数要互相匹配。返回1.6目录53

1.6.3寄存器寻址执行速度最快的寻址方式。MOV AX,BXMOV SP,AXMOV DI,2050HMOV DL,CH错误指令:MOV AL,BXMOV SP,CH返回1.6目录54

1.6.4存储器寻址方式程序运行时用到的数据决大部分存放在内存中,如何寻找内存中的数据就是存储器寻址方式。共5种。1.直接寻址这种寻址方式是在指令中直接规定操作数所在单元的偏移地址。(在汇编语言中,这个偏移地址通常以变量的形式出现,在指令中就直接写变量的名字。)MOVAX,[2050H];AX←[DS×16+2050H]MOVDX,ES:[2050H];使用段超越;DX ←[ES×16+2050H]段超越指令格式区别MOVAX,2050H55直接寻址方式示意图(MOVAX,[2050H])1492HDS14920H+2050H────16970H20H50HA1H...AAH55H代码段数据段操作码偏移地址16970HAHAL×16执行结果AX=55AAH562.寄存器间接寻址偏移地址(或有效地址)通过寄存器间接给出,可用的寄存器为BX、BP、SI、DI。MOVAX,[BX];AX←[DS×16+BX]MOVAL,[BX];AL←[DS×16+BX]MOVAX,[SI];SI←[DS×16+SI]MOVAX,[DI];AX←[DS×16+DI]MOVAX,[BP];AX←[SS×16+BP]MOVAX,ES:[BX];AX←[ES×16+BX]MOVAX,DS:[BP];AX←[DS×16+BP]字操作字节操作段寄存器使用SS段超越573.寄存器相对寻址指令规定一个寄存器和一个有符号的8位或16位偏移量,有效地址等于寄存器内容加偏移量。可用的寄存器仍然是BX、BP、SI、DI。计算物理地址时,当指令规定的寄存器是BP时,默认的段寄存器用SS,其他三个寄存器用DS;可以段超越。MOVAX,[DI+06H];AX←[DS×16+DI+06]MOVAX,06H[DI];同上MOVCL,[BP+0205H];CL←[SS×16+BP+205H]MOVDX,205H[BP];同上,但是是字操作。584.基址变址寻址用一个基址寄存器与一个变址寄存器的值相加,计算结果作为操作数的偏移地址。基址寄存器与变址寄存器的搭配如下:BXSIBPDIMOVAX,[BX+SI];AX←[DS*16+BX+SI]MOVAX,[BP+DI];AX←[SS*16+BP+DI]MOVAX,[BP][DI];另一种写法。注意:①允许段超越。②[BX+BP]或[SI+DI]是非法搭配。595.基址变址相对寻址在基址变址寻址方式基础上,增加一个8位或16位偏移量,三者之和为偏移地址。MOVAX,[BX+SI+06];AX←[DS×16+BX+SI+06]MOVAX,2050H[BP+SI];AX←[SS*16+………]备注:①在直接寻址中,地址可以用符号代替,如“MOVAX,WORD_ADDR”,相当于“MOVAX,[xxxxH]”,“WORD_ADDR”称为变量或符号地址,第三章介绍。②偏移量可以是变量或符号数,也在第三章介绍。③如果一条指令有两个操作数,源操作数和目的操作数的寻址方式可能相同,也可能不同,如指令“MOVAX,[BX]”,源操作数为寄存器间接寻址,目的操作数为寄存器寻址。60讲解指令系统时使用的符号r8:8位通用寄存器AH/AL/BH/BL/C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论