微机原理与接口技术—西安电子科技大学

绪论

微型计算机系统组成

  1. 硬件子系统与软件
  2. 早期计算机硬件组成–ALU-----控制器控制ALU运算–ALU运算的数据
  3. 存储器中的数据被控制器控制器送到ALU
  4. 输入设备(IO)-----控制器控制输入设备
  5. 信息------数据信息、控制信息、地址信息
  6. 总线-----用来传送信息的通道
  7. 数据总线(DB)、地址总线(AB)、控制总线(CB)
  8. 现代微型计算机硬件组成
  9. 引脚------复用引脚–分时复用
  10. 指令-----一种二进制代码(机器码)
  11. 存储器按字节组织的-------寻址-----地址总线条数的多少----数据总线----可管理的数据的大小

计算机中的数制和码制

  1. 十进制 <-----> 二进制 (字长n=8)
  2. 逼近法-----位置加权法
  3. 十进制 <-----> 十六进制
  4. 在程序设计当中,都会遇到把十进制转换成二进制
  5. 二进制 <-----> 十进制 (除10取余法)
  6. 比较法

二进制数的运算

  1. 算数运算 ±*/

    • 字长n 8–字节,16—字,
  2. 8位寄存器----暂存数据
    • AX(16) BX CX DX------AH AL
  3. 助记符 目的操作数 源操作数
  4. 数字0打头
  5. 结果溢出
  6. 处理器状态字寄存器PSW----标志寄存器----运算才可能影响PSW

  1. 逻辑运算

    • 与 AND DST,SRC 应用场合:位清零AND0,有些位置不变
    • 或 OR DST,SRC 应用场合:位置1Or1,某些位置不变
    • 异或 XOR DST,SRC 应用场合:取反XOR1,某些位置不变
    • 非 NOT DST(不影响状态标志位)
      (无符号数)
  2. 8位数据范围:0~255; 16位数据范围: 0~65535

有符号数的表示方法以及溢出问题

  1. D0-D6–数值,D7----符号(机器码)
  2. 原码-----[X]原
  3. 补码-----X>=0,本身;X<0,2^n+X;
    • 负数的原码----符号位不变–取反+1
  4. 在计算机中,有符号数均用补码表示

  1. 补码的运算
  2. n=8,-128~+127; n=16,-32768~+32767
  3. [X+Y]补 = [X]补+[Y]补
  4. 加法是前两位要进都进,减法是要借都借
  5. [X-Y]补 = [X]补-[Y]补
  6. 补码运算结果还是补码,再次求补就是原码
  7. 变补/求负----[Y]补----[-Y]补

  1. BCD码
  2. 组合BCD数—一个字节
  3. 分离BCD数—两个字节
  4. BCD运算—后四位超过9+6调整

  1. 计算机上的字符用ASCII码表示
  2. 可显字符—‘0’----‘9’ ‘a’----‘f’ ‘A’----‘F’
  3. 字符---->数字 -30H || AND 0FH
  4. 大写---->数字 -37H ||
  5. 大写---->小写 20H || 逻辑运算 AND 0DFH||ADN 5FH
    • 0100~0101------> 0110~0111
  6. 小写----> 大写 OR 20H

CPU的结构与功能(第二章)

微型处理器的外部结构

  1. 表现为数量有限的输入输出引脚
  2. 输入输出引脚构成了微处理器总线
  3. 数据总线、地址总线、控制总线
  4. 8086(16-16)/8088(16-8)共40个引脚
  5. A19-A16,A15-A0-----给外部存储器提供地址,2^20=1M
  6. A15-A0-----同时给外部IO提供地址—M/^IO
  7. 一个IO端口至少占用一个IO地址----IO端口地址
  8. 统一编址—缺点:浪费了存储器的空间;优点:IO驱动程序灵活
  9. 独立编制—优点:节约存储器的空间;缺点:,指令记忆复杂,IO编程不灵活

微处理器的内部结构(一般)–效率较低

  1. ALU–算数逻辑运算
  2. 工作寄存器—数据寄存器只可以提供数据–地址寄存器可以提供地址也可以提供数据—
  3. 控制器—中央指挥机关—取指令–指令寄存器(指令队列)—译码
  4. IO控制逻辑电路

  1. 外部存储器

  1. 控制器

    • 程序计数器(PC)–16
    • 指令寄存器(IR)–8
    • 指令译码器(ID)–
    • 控制逻辑部件

  1. 堆栈-----先进后出原则组织的一段存储器区域----在外部存储器
  2. 8086:堆栈必须按字操作
  3. SP—堆栈指针寄存器(16)----栈底+1的地址----SP—>SP-2;一个字单元的数据压入
  4. SP----指向的地址是栈顶
  5. 堆栈溢出就出现死机状态
  6. pop---->取出数据;SP+2

8086/8088CPU的内部结构—8086/8088***

  1. 虚线分为两大部分—BIU 和 EU
  2. BIU
    • CS\SS\ES\DS\IP(相当于PC)
  3. 为了16位的地址可以寻找1M的空间,内存分为段管理
  4. 内部只提供16位地址,寻址16,把外部分为多个64K段地址,段地址(16)+偏移—>地址产生—>20

  1. 指令队列 REG(IR)----6个字节----效率提高—8088(4个字节)
  2. BIU—主要职责:从外部存储器取指令,并将取回的指令放到指令队列中,直至6个字节
  3. EU----主要负责从指令队列获取指令—遵循先进先出原则—并译码分析并指令
  4. 图–时序周期–EU如果使用总线执行命令,BIU暂停取指令

8086CPU的寄存器组织

  1. 共有14个16位的寄存器
  2. 通用寄存器–8个

    数据寄存器(4个16位)

    • AX—累加器(特殊功能)| AH AL
    • BX—基址寄存器(特)—段内的–DS段的
    • CX—计数器
    • DX—数据寄存器(IO)

    地址指针寄存器 (2)与变址寄存器(2)-----16位

    • SP—堆栈指针寄存器(段内–偏移)
    • BP—地址指针寄存器—类似于BX做基址寄存器
      在段内讲偏移地址–64K—逻辑段
      MOV BX,0002H—DS
      MOV BP,0002H—SS
      MOV DS:[BP],AL//段超越前缀,存储到不属于自己的逻辑段内
    • SI—源变址寄存器
    • DI—目的变址寄存器—SI、DI对字符串的操作体现变\自动变
    • BX,SI,DI—DS段
    • 字符串操作指令—源在DS–SI提供---->目的必须在ES段–DI提供首地址
    • MOVSB

  1. 段寄存器(4个)

    • CS—代码段寄存器----与外部存储器的段联系,段地址–初始化由系统完成
    • DS—数据段寄存器----可以人为初始化
    • ES—附加数据段寄存器—可以人为
    • SS—
  2. 控制寄存器(2个)
    • IP—指令指针寄存器(16)—与CS配合
    • PSW—处理器状态寄存器(16)—有用的只有9—3.8标志位操作指令(CF\DF\IF)
      状态标志(ZF、CF、PF、OF、AF、SF)–运算才影响----反应的是ALU运算后、结果的状态
      控制标志-----用来控制CPU的运行状态

      • DF(方向控制)—CLD;DF=0----STD;DF=1
      • IF(中断允许)—外部可屏蔽----
      • TF(陷阱、单步标志)–DEBUG

存储器和IO组织

存储器地址空间与数据存放格式

  1. 地址空间

    • A19-A16,A15-A10,A9-A0
    • 给外部变址20-1M,IO:16-64k
    • 在pc机中,给IO分配A9-A0–10–1K—前512(主板上的IO)(000H-1FFH)–后512(给插件板上)(200H-3FFH)
  2. 数据存放格式
    • 字节型、字型、双字型
    • 字节型数据:一个地址单元,定义在存储器中的DS段,DB(字节型定义伪指令)—如何编译
    • 字型数据:DW------对准(高低同时写/读)与未对准(在各个时序中通过)–时间周期是2倍
    • [BX BP SI DI]----所存的地址;BX BP SI DI—它本身
  3. 存储器的分段与物理地址的形成
    • 为什么要分段----20根地址线—16位地址寄存器
    • 如何分—每个逻辑段最大64K,每个逻辑段的起始地址必须可以被16整除
    • 物理地址—实际存在的地址----0000 0–0001 0----0段、1段、2段、。。。65535段
    • 段的段首单元的地址----段基址:偏移地址(段内偏移地址、相对于段基址偏移)----0 0000:0000H
    • 由于段相互有叠加,所以一个单元的逻辑地址可能不同,但是物理地址一定
    • 程序、调试都是逻辑地址
    • 物理地址(PA)的形成----> 物理地址=段基址X16(左移加个0)+段内偏移地址(段内有效地址)

  1. 取指令操作

    • CS(段基地址)X16+IP(段内偏移地址)------>取指令所存储的PA----无条件转移
    • 堆栈操作(SS:SP+2) 和 数据操作(DS+IP)
  2. 各类指令的地址信息
  3. 实际上汇编后在存储器内不会重叠----当前段

8086指令系统

汇编语言指令

  1. 名词解释
  • 指令—一种二进制代码(机器码)
  • 指令系统–CPU能识别的所以指令集合
  • 机器语言–指令代码语言
  • 机器语言程序–
  • 汇编语言–符号化语言 如:B0 12—MOV AL,12
  • 汇编语言源程序
  • 汇编–将汇编语言翻译机器语言的过程–masm.exe
  • 反汇编–将机器语言翻译成汇编语言
  • .ASM—.OBJ–(连接)----.exe
  1. 8086汇编语言程序中语句的种类
  • 指令语句—CPU可以执行的语句(汇编后可以汇编成二进制)
  • 伪指令语句–CPU不可以执行的语句(不会成二进制)
  • 宏指令语句–本身是8086指令系统没有的指令,是用户用宏定义伪指令的指令语句–类似于函数
  1. 汇编语言中语句的组成
  • 变量名(标号名:) 助记符 操作数 ;注释
  • 地址符号化 DATA1—变量名
  1. 汇编语言中的常数及表达式
  • 十进制常数、十六进制常数、字符常数、字符串常数、?(随机数)
  • 表达式–操作符—算数操作符、逻辑操作符、关系操作符、属性操作符、其他操作符
  1. 标号、变量及伪指令
  • NEXT:----标号–一定定义了,就具有3个属性—段地址属性(SEG)—段内偏移地址属性(OFFSET)—类型属性(TYPE)
  • MOV BX,OFFSET NEXT //属性表达式的值是十六位的常表达式
  • TYPE:NEAR—近程(段内转)-- -1;FAR–远程(段间)-- -2;
  • 变量:DB–定义字节型—1;DW—字型----2;DD—双字型—4;
  • 变量一定定义就有五个属性:段地址属性、段内偏移地址属性(OFFSET)、类型属性、长度属性(LENGTH)、大小属性(SIZE)
  • 在MASM.EXE中有一个$位置计数器,汇编过程中指向存储的位置,16位
  • DATA6 DW DATA3—DATA的OFFSET;–DD—OFFSET+SEG
  • DATA8 DB 4 DUP(?);DUP操作符:重复操作符,允许嵌套
  • 长度属性: 在变量名定义语句中,所定义的变量的个数,8086规定如果有GUP操作,长度就是DUP的前的数值;其他的变量定义就是1
  • 大小属性:所有变量所占的总的字节数,变量数字节数(TYPELENGTH)
  • 其他操作符就是PTR操作符----MOV AL,DATA1+2;类型不一致,汇编会出错–类型要强制转换,属性临时修改操作符
  • MOV [BX] 10H;错误----MOV TYPE PTR [BX] 10H

  1. 指令的分类(课本P31)
  2. 数据与转移地址的寻址方式
  • 寻址方式:求操作数所在地(寄存器、立即数)或所在存储器单元地址的方法
  • 求得的操作数当作成数据 或 用作转移地址用(IP:段内、IP+CS:段间)
  • 寻找数据的寻址方式(取操作数—源操作数,存数据–目的操作数)
    1. 立即数寻址–常数形式;MOV AX,1234H;立即数–只能做源操作数
    1. 寄存器寻址—MOV AX,BX—数据在BX寄存器中; MOV AX,CL;类型不一致,错误—寄存器寻址类型要一致
      MOV [0200H],56H;错误,没有明确给出存储单元的类型—MOV WORD PTR [0200H],56H;
      MOV DS,1500H;错误----==当DS\ES\SS做DST时,SRC不能为立即数,立即数寻址;==MOV AX,1500H;MOV DS AX;
      MOV CS;CS\IP不能做DST;人为无法改变;程序自动改变;但是可以做SRT
    1. 存储器寻址—书上的3-7;要寻找的OPR在存储器某单元中;要知道这个单元的地址,存储操作数的单元的EA(有效地址),可以由以下5种寻址方式求得
 > 1. 直接寻址> 2. 寄存器(REG)间接寻址  [BX\SI\DI]:操作数> 3. REG相对寻址 [BX\BP\SI\DI]+8\16位DISP(相对位移量)> 4. 基址、变址选址  --两部分组成---[BS\BP][SI\DI]> 5. 基址、变址且相对寻址--三部分组成--[BS\BP][SI\DI]+8\16位DISP> 1. 直接寻址:操作数所在存储单元的有效地址(EA)指令中直接给出> 1. MOV AL,[2000H];把DS:2000H存储单元的操作数直接给AL,一般会把操作数所在的存储单元符号化---也就是变量---变量具有5个属性> 1. ==两个存储器单元之间不能直接操作,传送、算数都不可以;需要通用寄存器作为桥梁过渡==> 1. PTR临时改变属性操作,会影响相邻存储单元,MOV WORD PTR DATA1(DB) AX;> 2. 寄存器间接寻址:EA = 地址寄存器间接给[BX\SI\DI]----默认在DS段内> 2. MOV BX,OFFSET DATA1;----(BX)<---DATA1的有效地址> 2. MOV AL,[BX];REG间接寻址> 3. REG相对寻址:EA = [BX\BP\SI\DI]+8\16位DISP(相对位移量);DISP为常数时[BX\SI\DI]默认DS;[BP]默认SS;> 3. EA = [BX]+3;[BX+3];3[BX];> 3. MOV BX,0;MOV AL,00H;MOV DATA1[BX] AL;  DS:(OFFSET DATA1(16位) + (BX))就是EA> 3. BP的相对寻址默认在SS段可以在堆栈中读取数据,而不破环SP> 4. 基址、变址寻址:EA = [BX\BP][SI\DI];数据默认看[BS\BP]> 4. MOV [BX][SI],AL;> 5. 基址、变址且相对寻址:EA = [BX\BP][SI\DI]+8\16位DISP;DISP为常量,以[BX\BP]为准;DISP为变量时,OFFSET DATA 16位;以变量位置为准
    1. 隐含寻址:PUSH AX;(SP)-2---->SP;(SS:(SP))<----(AX);
    1. 变量不可以在指令中运算

本篇截止于第三章数据与指令的寻址方式

微机原理与接口技术--西安电子科技大学-笔记一相关推荐

  1. 《微机原理与接口技术》期末复习笔记

    微机原理与接口技术 第01章 微机原理概述 基本知识 CPU:中央处理单元(Central Processor Unit),处理器,能够分析和执行指令的部件,能分析和执行指令的芯片就是CPU MPU: ...

  2. 华中科大微型计算机接口技术课后答案,2018考研华中科技大学811微机原理及接口技术考试大纲...

    华中科技大学研究生考试大纲为广大想报考华中科技大学的考生划出了大致的考试范围以及试卷的结构和题型,是广大考研学生的重要参考文件之一.下面是研招网小编为大家整理的最新2018考研华中科技大学811微机原 ...

  3. 微型计算机原理daa,西安交通大学18年3月课程考试《微机原理与接口技术》作业考核试...

    西安交通大学18年3月课程考试<微机原理与接口技术>作业考核试题 试卷总分:100    得分:0 一. 单选题 (共 30 道试题,共 60 分) 1.在8086系统中中断号为0AH,则 ...

  4. 微型计算机接口技术425页,微机原理与接口技术(修订版高等院校电工电子技术类课程十二五规划教材)...

    导语 内容提要 谢四连.董辉.许岳兵主编的<微机原理与接口技术(修订版)>内容分为两部分:第一部分全面系统地介绍了Intel系列微处理器的工作原理.指令系统以及汇编语言程序设计方法:第二部 ...

  5. 北京工业大学微型计算机接口技术考试,汇编语言微机原理及接口技术期末试卷含答案.doc...

    汇编语言微机原理及接口技术期末试卷含答案.doc 1 北京大学 北京 综合 100 95.80 100 100 2 清华大学 北京 理工 94.72 100 85.10 92.17 3 复旦大学 上海 ...

  6. 南航计算机硬件实验,南航80X86微机原理及接口技术实验指导书.pdf

    80X86 微机原理及接口技术实验 指导书 卓然 编著 2015-3-1 序 错误!未定义书签. 第一章 TD-PIT++实验系统简介 3 1. 概述 3 2. 系统总线电路单元 5 3. 接口实验单 ...

  7. 微型计算机原理与接口电子教案,《微型计算机原理与接口技术》电子教案研讨.ppt...

    <微型计算机原理与接口技术>电子教案研讨 微机原理及接口技术 8.3.4 8259A的中断管理方式 1.中断嵌套方式 普通全嵌套方式 特殊全嵌套方式 固定优先级方式 自动循环优先级方式 特 ...

  8. 微型计算机接口技术论文,(微机原理与接口技术课程论文.doc

    (微机原理与接口技术课程论文 <微机原理与接口技术> 论 文 学院: 班级: 姓名: 学号: 微机原理与接口技术论文 内容摘要: 微型计算机原理与接口技术是计算机科学与技术专业重要的专业基 ...

  9. 微型计算机期末考试a卷,微机原理与接口技术期末试卷A

    微机原理与接口技术(电子.通信类)2011-2012 学年第二学期期末考试卷(A 卷) 一.单项选择题(共 16 分,每题 2 分) 1.字符 A 的 ASCII 码为 41H ,字符 h 的 ASC ...

最新文章

  1. 微软网站打不开_强烈建议收藏,微软出了自家「协作白板」应用
  2. 阿丽塔大脑是机器人哪_阿丽塔——和机器人结合的未来离我们有多远?
  3. va_start、va_end、va_list的使用
  4. Ant Design 3.15.0 发布,企业级 UI 设计语言和 React 实现
  5. php 7 class 初始化 销毁_在 PHP 中使用和管理 Session
  6. MSP430 MSP430单片机软件开发集成环境CCS
  7. Scan Context 学习记录
  8. cad lisp 画梯形_Lisp自动画梯形_CAD lisp 求助一段代码实现自动画弧!
  9. 邮箱服务器 拦截策略,企业邮箱服务器的安全管理策略
  10. matlab求解常微分方程的实验,实验五 - - 用matlab求解常微分方程
  11. 网站pv和uv比例多少合适?
  12. 1083 Cantor表
  13. 如何做好区块链社区?得社区者得天下
  14. C语言中的复制函数(strcpy和memcpy)
  15. uedit使用技巧2
  16. 详解HDR的三个标准——HLG/HDR10/Dolby Vision
  17. c++用Beep发出声音
  18. Android开源项目分类整理
  19. MD5码加密(盐值加密)
  20. 2020年每月工作日表_2020年工作场所技能再培训的诫命

热门文章

  1. 【linux教程(一)】Linux shell入门
  2. Django框架学习
  3. JS基础实战--day07
  4. 计算机桌面图片唐诗,唐诗高清壁纸
  5. Java网络编程:TCP,UDP,sock编程
  6. CSDN日报20170407 ——《嘿,程序猿,你该学点经济学了!》
  7. 小优机器人系统恢复_解决一键还原ghost
  8. 【mysql知识点整理】 --- 准确理解 in 和 exists
  9. 提供凭证不足 无法访问这台计算机,xp系统纯净版连接win7打印机显示“提供的凭证不足”怎么办...
  10. 人类高质量代码解约瑟夫环问题