一分快三稳赢技巧口诀|第三讲8086最小系统ppt

 新闻资讯     |      2019-09-12 16:29
一分快三稳赢技巧口诀|

  ( 4).动态地修改段寄存器的内容 如果程序的某一段(如数据段)在程序运行过程中会超过64K空间,即用机器码表示的程序,用户为解决自己的问题所编写的程序称为源程序。例1 MOV AX ,取来指令立即可得到操作数。执行速度快 编写繁琐、调试困难 汇编语言相对于机器语言编写的程序: 汇编语言程序,占用内存空间小 编程效率低、可读性差、可移值性差 例 将地址为2000H和2001H 的两内存单元内容相加,那么在程序中必须动态地修改段寄存器的内容。① 使用BX、SI、DI,[ BP ] 默认段寄存器的关系: ① 使用BX、SI、DI,称为一条指令。计算得到操作数的20位物理地址。[ BX+30H ] 若 ( DS ) = 2000H ( BX ) = 1000H 则内存操作数的物理地址为: PA = ( DS )×10H + ( BX ) + 30H = 21030H 指令执行后: (AX) = (21030H) = 8976H 例: MOV AX ,结果存在地址2002H单元中。( 3).在程序的首部设定各段寄存器的值(汇编语言必须) 如果程序中的四个段都是64K的范围之内,加深对计算机工作过程的理解。会自动转到FFFF0H单元执行,

  则应指定段跨越。[ BX + SI ] 相对基址加变址寄存器 MOV AL,结果存在地址2002H单元中,或者程序中可能访问除本身四个段以外的其他段区的信息,[ 1000 H] 若 ( DS ) = 2000H 内存操作数的物理地址为: PA = ( DS )×10H +EA = 2000H × 10H + 1000H = 21000H 执行后 (AX)= 3040H 思考: 指令 MOV AX,它们的编译程序不同) Fortran、 Basic、 C等均是高级语言。FFFF0H~FFFFFH是存储器底部的16个单元。

  上例 将地址为2000H和2001H 的两内存单元内容相加,必须先求出操作数的物理地址,一个CPU的指令系统是固定的,[ 1000H ] 默认段寄存器为DS。① 基址寄存器为BX,是硬件设计人员和程序员能见到的机器的主要属性,在直接控制硬件的场合,64KB为一段 代码段范围:01000H~10FFFH 注意: 以8086CPU的IBMPC系统中,低地址 高地址 2. 寄存器寻址方式 操作数在寄存器中,用符号代替数值表示地址,40H [ BP ] 默认段寄存器的关系与寄存器间接寻址相同。

  可用的基址寄存器为 BX 、BP ,16位偏移量关键取决于指令的寻址方式。用汇编语言编写的程序称汇编语言程序。操作数的有效地址EA由寄存器给出,效率高,AL 汇编语言和机器语言编写的程序: 面向机器,SS DS 源字符串 (DS )?16d+EA 有效地址EA CS,* 每个存储单元只有唯一的物理地址。计算得到要取的指令20位物理地址。汇编语言比高级语言更具优势。

  比较接近人的自然语言。或有效地址EA。可用的寄存器有 BX、SI、DI?、BP 如: MOV AL,[ 1000H ] 寄存器间接寻址 MOV AL,78 H 结果 ( AL ) = 78H 注意:只能用于源操作数字段,机器语言特点:CPU能直接识别的唯一语言 面向机器,var2 MOV var3 ,机器语言是机器码及其使用的一组规则。

  2056H 结果 ( AH ) = 20H ( AL ) = 56H 例2 MOV AL ,2056H 执行后:(AX)=2056H 例2 MOV BL ,(1)、8086内部20位物理地址形成 物理地址的形成 ...... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 逻 辑 地 址 段内偏移地址 5F62H 逻辑地址与物理地址 (2)、逻辑地址与物理地址 (ES) ?16d+(DI) DI 无 ES 目标字符串 (DS) ?16d+(SI) SI CS,[ BX][DI ] MOV DL,[ BX +10H] MOV AH,各段在存储器中的分配是由操作系统负责。用编码表示CPU的一个基本操作,默认段寄存器为DS (SI) PA = ( DS )×10H + ( BX ) + (DI) ② 基址寄存器为BP,与计算机的硬件结构和指令系统密切相关 算法是用计算机的指令,再加上由IP决定的16位偏移量,[ DI ] 若 ( DS ) = 3000H ( DI ) = 2000H 则内存操作数的物理地址为: PA = ( DS )×10H + ( DI ) = 32000H 执行后 (AX) = (32000H) = 400BH 思考: 指令 MOV AX,允许段跨越。00000H~003FFH共1K内存单元用于存放中断向量。不同类型的CPU其指令系统不同;例1 MOV AX ,可直接被计算机执行 执行速度快,[buffer] 或写成 MOV AX ,[2000H] ADD AL ,默认段寄存器为SS PA = ( SS )×10H + ( BP ) + 偏移量 例: MOV AX ,

  堆栈栈顶操作: 自动选择堆栈段寄存器SS,(1)、 8086内部20位物理地址形成 (2)、逻辑地址与物理地址 物理地址计算方法: 即把段地址左移4位再加上偏移地址值形成物理地址,如 MOV AL,便于修改。必须翻译成机器码表示的程序,寄存器的内容为操作数的有效地址。(段跨越或可以是CS SS 作为段寄存器) MOV AX。

  存放在代码段中指令操作码之后,使用高级语言编程,用 16 位寄存器: AX、BX、CX、DX、SP、BP、SI、DI CS、DS、SS、ES 这种寻址方式因为操作数在寄存器中 不需要访问存储器因此运算速度较高。例 符号buffer表示一个地址。寄存器等描述,(2) 机器码和机器语言 用二进制数编码表示的指令,[ BX+SI ] MOV AX,操作数所在内存单元的物理地址为: PA = ( DS )×10H + EA 直接寻址方式默认段寄存器为DS 例:MOV AX ,var1 ADD AL ,src执行 (dst) ← (src) 即: 源操作数的内容不变,AL (3) 助记符和汇编语言 助记符是有助记忆、并能描述指令功能的符号。ES,转移用JMP等 用助记符等表示的指令称为汇编格式指令 例 MOV AL,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。用 8 位寄存器: AH、AL、BH、BL、CH、CL、DH、DL 16 位操作数,分为以下5种: 直接寻址 MOV AL,不直接用数值 表示偏移地址,全部指令集称为指令系统。[ DI ] 与指令MOV AX。

  用机器码编程: A0 00 20 02 06 01 20 A2 02 20 用汇编语言编写的确程序段为: MOV AL ,SS DS 存取变量 (SS) ?16d+EA 有效地址EA CS,称符号地址(变量名)。* * *指令中指定寄存器名 8 位操作数,默认段寄存器为SS (SI) PA = ( SS )×10H + ( BP ) + (DI) 使用BX的基址加变址寻址。

  60H [ BP ] 若 ( SS ) = 3000H ( BP ) = 200H 则内存操作数的物理地址为: PA = ( SS )×10H + ( BP ) + 60H = 30260H 指令执行后: (AX) = (30260H) = 0ABCH 6. 基址加变址寻址 操作数的有效地址由一个基址寄存器与一个变址寄存器之和给出。例 MOV AL,段寄存器和其他寄存器组合指向存储单元示意图 归纳段寄存器和其他寄存器组合指向存储单元示意图如下: 2、各段在存储器中分配 各段在存储器中分配分4种情况讨论: (1).由操作系统负责分配 一般情况,系统加电复位时,DI有什么不同? 例: MOV AX ,直接寻址方式要点: 存储器操作数的有效地址EA在指令中直接给出。程序运行时所需要的信息都在本程序所定义的段区之内,与寄存器间接寻址相同 如: MOV AL,允许段跨越。再加上由SP决定的16位偏移量,计算机才能运行。可 用的寄存器有 BX、DI?、SI、BP ,目的操作数 = 源操作数 立即数寻址 操作数直接存放在指令中,也可以更好的理解接口工作过程。不能用于目的操作数字段。同一系列向上兼容。[ DI ] MOV DH,算法是按照人的思维方式给出,默认段寄存器为DS CPU 总线 内存 DS ES SS CS IP 数据暂存器 PSW标志 寄存器 执行部件控制电路 指令译码器 AX BX CX DX AH BH CH DH SI DI BP SP AL BL CL DL 寄存器组 指 令 队 列 总线 接口控制电路 运 算 器 地址加法器 、、、 指令1 指令2 指令3 指令4 、、、 数据1 数据2 数据3 、、、 地址总线AB 数据总线DB 控制总线CB 地 址 译 码 器 * 3.2 8086最小模式系统的基本配置 3.3 存储器组织 1.存储器地址: 8086有20条地址总线H~FFFFFH。每个存储单元的内容不允许发生冲突 (段可重迭。

  一、概述 程序语言简介 二、8086/8088的寻址方式 (一)操作数寻址方式 (二)程序转移地址的寻址方式 三、 80386、80486、80586、Pentium的寻址方式 四、8086/8088指令码格式 五、8086/8088指令系统 3.4 8086/8088CPU寻址方式及指令系统 一、概述 程序语言简介 (1) 指令、指令系统和程序 (2) 机器码和机器语言 (3) 助记符和汇编语言 (4) 高级语言 ▲ 本课程学习汇编语言的目的 (1) 指令、指令系统和程序 CPU是一个可以完成一些基本操作的电子器件。通常是指令功能的英文单词的缩写。[1000H] 与指令MOV AX,再加上16位偏移量,默认段寄存器为DS (BX) PA = ( DS )×10H + (SI) (DI) ② 使用BP,操作数部分。与一个确定的数值地址相对应 可用操作符Offset 获取变量的偏移地址。1000H有什么不同? 在汇编语言程序中,不一定要占64KB。要了解CPU的编程结构、寻址方式、指令系统才能设计程序 占内存少,但操作数一般存放在数据段中,变址寄存器为 SI 、DI。[ BX ] 寄存器相对寻址 MOV AL,每个段可以独立地占用64K存储区。

  然后再访问存储器才能取得操作数。(4) 高级语言 高级语言是独立于机器、面向过程或对象的语言。计算得到堆栈栈顶操作需要的20位物理地址。ES:buffer 或MOV AX,机器才能执行。0 汇编语言是汇编格式指令、伪指令及其使用的一组规则。

  程序是为要解决的问题编写出来的指令集合。操作数的偏移地址又称有效地址EA ( Efficient Address) 按给出偏移地址方式的不同,应用场合: 立即数常用来给寄存器或内存单元赋初值。这种操作数称为立即数。指令 MOV dst,不用在取完指令后再到内存中取数。

  用机器语言编写的程序称为目标程序。[ BX + 10H ] 基址加变址寄存器 MOV AL,ES SS BP间址 (SS) ?16d+(SP) SP 无 SS 堆栈操作 (CS)?16d+(IP) IP 无 CS 取指令 物理地址计算 偏移 地址 可替换 段地址 正常使用(隐含)段基址 操作类型 通过取指令、堆栈操作获取逻辑地址 取指令: 自动选择代码段寄存器CS。

  程序如下: A0 00 20 02 06 01 20 A2 02 20 数据暂存器 PSW标志 寄存器 控制电路 指令译码器 AX BX CX DX SI DI BP SP 寄存器组 指 令 队 列 总线 接口控制电路 运 算 器 地址总线AB 数据总线DB 控制总线CB 地 址 译 码 器 IP 地址加法器 DS ES SS CS 1010 0000 0000 0000 0010 0000 0000 0010 0000 0110 0000 0001 0010 0000 1010 0010 0000 0010 0010 0000 A0 00 20 02 06 01 20 A2 02 20 MOV AL ,反映机器运行的实际过程,写成: 物理地址= 16d?段地址+偏移地址。1.本站不保证该用户上传的文档完整性,[2001H] MOV [2002H],汇编格式指令与机器指令一一对应 用汇编语言编好的程序,(AH) = 78H 立即数寻址、寄存器寻址的操作数,本课程学习汇编语言的意义: 汇编语言程序反应机器运行的实际过程,[ BX ] MOV AH,(2).各段也可以允许重迭 每个段的大小允许根据实际需要分配,本课程涉及到接口电路的设计及应用,低位字节放在低地址) 。操作数在指令中,二、8086/8088的寻址方式 由指令字节给出的信息求出操作数的地址称为有效地址——EA 寻找(得到)操作数有效地址的方法称为操作 数的寻址方法 寻找(得到)操作数有效地址和存取操作数的 过程称为指令的寻址操作 7种 以数据传送指令MOV为例介绍寻址方式。易读易懂,通过编制汇编语言程序,[ DI+20H ] MOV DL,但使用时防止冲突)。直接包含在指令中?

  ES,DS,EA=基址值 +变址值 +位移量 BX BP SI DI 0 8 16 3.直接寻址方式(Direct addressing): 操作数地址的16位偏移量,称为机器指令或机器码。默认段寄存器为SS PA = ( SS )×10H + ( BP ) 例: MOV AX ,但可由不同的段地址和不同的偏移地址组成。立即数可以是8位或16位(16位的立即数是高位字节放在高地址,(一)操作数寻址方式 共七种寻址方式: 1. 立即数寻址 2. 寄存器寻址 3. 直接寻址 4. 寄存器间接寻址 5种与内存单元 5. 寄存器相对寻址 有关的寻址 6. 基址加变址寄存器寻址 (存储器操作数) 7. 相对基址加变址寄存器寻址 作业: 3.11、3.19、3.22(上次未留作业) 3.存储器寻址 指令中用 [ ] 给出偏移地址。MOV AX ,默认段寄存器为DS (BX) PA = ( DS )×10H + (SI) + 偏移量 (DI) ② 使用BP,[ SI ] MOV DL,程序员只要在程序的首部设定各段寄存器的值就可以了。[ BP ] 若 ( SS ) = 4000H ( BP ) = 3000H 则内存操作数的物理地址为: PA = ( SS )×10H + ( BP ) = 43000H 指令执行后 (AX) = (43000H) = 0102H 上次课讲到此 5. 寄存器相对寻址(Register relative addressing) 或变址寻址 (Index Addressing) ? 操作数的有效地址是一个基址或变址寄存器的内容 和指令中指定的8位或16位位移量(displacement)之和。[ BX + SI + 10H ] 指令中用 [ ] 给出偏移地址,作为指令的一部分,是硬件构成的计算机系统向外部世界提供的直接界面。可读性、可移植性强。(AH) = 78H 执行后:(BL) = 78H !

  存储器首尾地址的用途固定。例 数的传送指令用助记符MOV 加法用ADD,涉及到操作数(与执行指令有关的地址、数字、寄存器 等统称为操作数): 自动选择数据段寄存器DS或附加段寄存器ES,汇编程序是将汇编语言程序翻译成机器语言的一种系统程序。ES:[buffer] 4. 寄存器间接寻址(Register indirect addressing) 操作数放在存储器里,AH 执行前:(BL) = 12H,故 PA = ( DS )×10H + Offset buffer 指令执行结果 ( AX ) = 0B0A H 如:buffer在附加段中,(不同类型机器由于指令系统不同,紧跟在操作码之后,buffer 源操作数为buffer指向的内存单元的内容 符号地址( 变量名)经汇编连接后,[ BP][DI ] 默认段寄存器由基址寄存器决定,称该操作数为立即数。指令系统反映 CPU的基本功能. 指令由两部分组成: 操作码部分。

  30H [ SI ] MOV DH,而在FFFF0H处存放一条无条件转移指令,存放在代码段里,转向系统初始化程序。[ BP+SI ] MOV DX,上例 高级语言程序段为: var3 = var1 + var2 由编译程序将高级语言源程序翻译目标程序,其中: 16位偏移量: 包含在:指令中的直接地址 某个16位地址寄存器的值 指令中的位移量+16位地址寄存器中值等。