




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2009-9-2基本内容如下:1、 基础知识2、 微处理器3、 指令系统4、 汇编语言5、 半导体存储器6、 输入输出7、 接口电路8、 ADC/DAC考核方案:1、 作业(含出勤)2、 期中考试3、 期末考试第一章 基础知识计算机:电子数字计算机冯.诺依曼体系结构计算机:1、由五部分组成2、存储程序原理3、二进制:电路表达方便;运算规则简单;表达逻辑值方便微机基本结构:1、 CPU :运算器和控制器集成在微处理器中2、 存储器3、 IO接口4、 总线 :一组 传输信息的 公用的 线路按传输信息不同分成:地址 数据 控制我的联系方式: 84709157,门科技园 105室大黑楼 A730推荐参考书1、 钱晓捷 机械工业 微机原理、接口电路、汇编语言2、 微机原理 各类书籍补码数是一种表示有符号数的方法正数:符号位0,数值负数:符号位1,反码+1X补码=模+X 注解:模 运算装置的容量 字节:28=256 -128+127字:216=65536 -32768+32767加减法时,用补码数表达,不需要考虑符号位运算结果可能出现溢出(运算装置不能容纳)计算机中采用双高位判别法判断人工判断?计算结果超出容量范围十六进制数 0D2H (D2)16 字节:由8位二进制数组成K、M、G、T0D2H=13*16+2=210179 = 0B3H (应该熟练转换)照片大小:1024*7682009-9-18 练习:1234H+5678H 运算的结果?运算后8086微处理器中状态标志如何?测试:90H + 54H 运算结果?状态标志OF=0,CF=0,AF=0,PF=1,SF=1,ZF=0运算结果:0E4H 11100100DBEUG的使用开始-运行-CMD 进入MSDOS命令行窗口,DEBUG 进入DEBUG环境,提示符是1、退出 Q2、帮助 ?3、汇编 A4、执行 G5、显示修改寄存器 R6、跟踪 T7、单步执行 P8、修改 E9、显示 D用DEBUG写一个显示HELLO!并响铃的程序。10、反汇编 U-U100 10A1367:0100 B409 MOV AH,091367:0102 BA2001 MOV DX,01201367:0105 CD21 INT 211367:0107 B8004C MOV AX,4C001367:010A CD21 INT 21-d120 1291367:0120 48 45 4C 4C 4F 21 07 0D-0A 24保存成一个可执行文件重定向输入输出In.txt2009-9-4数制转换N10进制,按公式展开10N进制,整数和小数分别转换整数:每次除以基数 保留余数小数:每次乘以基数 截取整数作业:20078 50.20 = ( )2截断误差 C语言中 浮点数 用四个字节存储用23位表达尾数 223 = 106.9用8位表达阶码 2128=1038用1位表达符号考虑:1000000+0.01有符号的整数:2个字节 -32768+32767X = 30000;Y = 30000;X += Y; X = -5536X = 60000 ?用二进制表达数据:(字节)1、 无符号数 0-2552、 有符号数(补码)-128+1273、 BCD码a) 分离格式的BCD码 09b) 组合BCD码 00994、 浮点数 有效数字、大小范围二进制表示信息:1、ASCII码 128编码 09 30H39H, A 41H,a 61H回车 0DH 换行 0AH响铃 7 (用1个字节表示)2、GB 2312-80 (用2个字节表示)3、CJK 大字符集常用硬件电路1、 三态门:单向导通开关、功率放大2、 锁存器:锁存数据,也可以起到开关作用a) 电平控制b) 边沿控制区分电平信号和边沿信号总线:时分复用CATV:频分复用第二章 微处理器按指令工作:取指令、指令译码、指令执行8位微处理器 顺序执行16位微处理器 并行操作(BIU、EU)8086典型的16位微处理器(标准的16位)8088准16位微处理器(内部数据总线16位、外部数据总线8位)队列:先进先出堆栈:后进先出实际物理地址逻辑地址(段地址:偏移量)状态标志:CAZSOP控制标志:IDT时序:(基本)时钟周期T:最小时间单位4.77MHz T=210ns2.5GHz T=0.4ns指令周期、总线周期一个基本的总线周期由4个T组成(T1,T2,T3,T4)在T3前沿检测READY,没准备好,自动插入Tw(相当于一个新的T3)。时钟发生器8284ACLK: PC机 4.77MHz, 占空比1/3READY: 信号调理后送总线RESET: 微处理器接收到RESET信号后:1、 CS=0FFFFH2、 IP和其它寄存器清零3、 指令队列清空复位后,CPU从0FFFF0H处取出指令执行。通常此处使用ROM,存放一条跳转指令(也在ROM区域)。AMOV AH, 9MOV DX, 10CINT 21MOV AX, 4C00INT 21E10C HELLO!, 7, 0D, 0A, $RBX0RCX16NHELLO2.COMWQ作业:显示 姓名 学号 源程序 (in.txt)和可执行文件 学号.com Email到Y邮件标题: 计算机原理作业01-学号-姓名 国庆前上交。寻址方式:数据:1、 立即寻址2、 寄存器寻址 MOV AX, 33、 直接寻址MOV AX, 100H4、 间接寻址MOV AX, BX5、 相对寻址MOV AX, BX+100H6、 基址变址寻址 MOV AX, BX+SI7、 相对的基址变址寻址MOV AX, BX+SI+100隐含寻址AAA 隐含使用AL端口的直接寻址IN AL, 21 OUT 21, AL端口的间接寻址 IN AL, DX OUT DX, AL程序:、 段内直接、 段内间接、 段间直接、 段间间接短跳转:条件转移、循环指令等都使用的是段内直接寻址中的短跳转。(用个字节的补码数表示偏移位置)指令系统传送、运算、逻辑、转移、串操作、控制ADDADCINC AAADAA减法:SUBSBBDECNEG : 求补CMP 目的操作数源操作数,不保存结果,仅影响状态标志。程序1:已知的码是 30H39H请编程转换的的数据为值MOV AL, 5ADD AL, 30H / OR AL, 30H程序: 码F 41H46HMOV AL, 0BHADD AL, 30HCMP AL, 39HJNA NextADD AL, 7Next:画出流程图MOV AL, 0BHCMP AL, 9JA Next1ADD AL, 30HJMP Next2Next1:ADD AL, 37HNext2:乘法:被乘数只能是累加器(默认),结果存在AX或DX, AX中MOV AL, 7MOV BL, 8MUL BL ;结果存在AX=0038H有符号数乘法 IMUL乘法指令对状态标志的定义:CF=OF= 字节*字节结果不能存放在字节 或 字*字 字除法:DIV 和 IDIVDIV BL ;被除数AX, 商AL, 余数AHDIV CX ;被除数 DX AX,商AX,余数DX对状态标志无定义,还可能引发除法溢出中断,退出程序。扩展:字节字;字双字无符号数 MOV AH, 0 (AX高8位置0) MOV DX, 0 (DX,AX双字的高16位置0)有符号数 CBW CWDAAA,DAA,AAS,DAS,AAM,AAD三、逻辑指令逻辑运算:与、或、非、异或与运算一般用于屏蔽掉某些内容AND AL, 0FH或运算一般用于对某些位进行置位操作OR AL, 00000100B非 按位取反 NOT AL异或 XOR AL, AL XOR AL, 0FFH测试 TEST AL, 80H进行与运算,但仅影响状态标志逻辑移位:SHL 逻辑左移 SHL AL, 1 SHL AL, CL *执行完成后CL内容不改变SHR 逻辑右移移出去的位,进入CF标志寄存器,空出的位填充0。循环移位 ROL ROR移出去的位,进入CF标志的同时,补充到空出的位置上。带进位的循环移位 RCL RCRCF参与循环。算数(有符号数)移位 SAL SARSAL等同于SHLSAR移位时用符号位填充空出位置。例题:从键盘输入一个十进制数码,请转换出它的值。Mov ah, 1Int 21hAnd al, 0fh四、转移指令无条件转移 JMP条件转移:无符号数比较大小: A 大, B 小, Z或E 等于JA, JB, JAE, JBE, JE, JNE有符号数比较大小: G大, L小, Z或E等于。JCXZ JC, JNC, JZ, JNZ, JS, JNS例题:编程1+2+。+10循环指令 LOOP, CX-1, =0?, !=0转移MOV CX, 10MOV DX, 0L1: ADD DX, CXLOOP L1MOV CX, 0L1: LOOP L1 ;执行65536次MOV CX, 0MOV DX, 0L1: ADD DX, CXLOOP L1请问 执行完后 CX=? DX=?CX=0, DX=32768(1+65536)*65536 /2 = 32768 + 65536*32768 =32768子程序调用 CALL 返回 RET中断调用 INT n ; INT21H中断返回 IRETINTO 根据OF状态决定是否中断2009-10-9六、控制1、对标志寄存器操作CF: STC CLC CMCIF: STI CLIDF: STD CLD2、对微处理器操作NOP (机器码90H)空操作WAIT 等待 遇到TEST引脚低电平ESC 交权LOCK 总线锁定HLT 停机 遇到中断退出五、串操作串:字符串、数据串、数据块、数组例:把1000H开始的10个字节,复制到1100H开始处。1、串传送指令 MOVSCX计数, SI源地址,DI目的地址,CLD 、 STD 设置增长方向REP 重复前缀 MOVSB或MOVSWREP的两个变化形式 REPZ 、 REPNZ2、串比较 CMPS特殊之处:源操作数 目的操作数CMP AX, BX 问题:两个串进行比较,指令完成后,如何判断是否相等?A) CX=0B) ZF=1C) CX=0 且 ZF=1例:判断两个串是否相同,从1300H和1400H开始的10个字节。REPZ CMPSB3、串扫描 SCAS 比较的是 串 和 累加器DI 指示串位置例:在字符串中查找A第一次出现的位置。4、LODS 装入到累加器5、STOS 存储到存储器特别注意:目的操作数 指针用ES、DI 源操作数 指针用DS、SI例题:存储器自检操作前,应该处理DF标志对于此处应该用 CLD 对数据段中偏移量1000H2000H自检,先写入55H,判断读出是否正确;再写入0AAH,判断读出是否正确。MOV DI, 1000HMOV CX, 1001HMOV AL, 55HREP STOSBMOV DI, 1000HMOV CX, 1001HMOV AL, 55HREPZ SCASBJNZ ERRORMOV DI, 1000HMOV CX, 1001HMOV AL, 0AAHREP STOSBMOV DI, 1000HMOV CX, 1001HMOV AL, 0AAHREPZ SCASBJNZ ERROR子程序:优点:代码出现一次,可以多次重复调用缺点:程序出现转移宏:用宏指令替代一个指令序列,编译时会宏展开优点:不需要程序转移,执行效率高缺点:代码体积增加作业:将上述例题程序改造完成(用子程序调用形式)。周三上课前,以班级为单位交纸质作品。2009-10-14汇编语言程序设计小汇编、符号汇编、宏汇编Debug 重点 不讲 写汇编语言程序的步骤:1、编辑 源程序 .asm2、汇编 成 目标代码 文件 .obj3、连接 成 可执行 文件 .exe4、运行 用文件名5、调试 用调试软件 DEBUG等两种 段定义方式 标准的 简化的 伪指令数据定义的伪指令:、 DB 以字节为单位分配、 DW 2、 DD 4、 DQ 8、 DT 10例: DB 10H, 20H, 30H, 40H X DW 10H, 20H, 30H A DW 1234H, ?, X重复表达式 3 DUP (?, 1, 2, 2 DUP( 3 )?:分配单元不赋初值$ : 当前位置 A2 DW $ - XORG : 表示从哪里开始 ORG 100HEQU或 = :定义数据,但不分配存储空间简化的段定义伪指令:例程:.Model Small.CodeStart: MOV AH, 2 MOV DL, 7 INT 21H MOV AX, 4C00H INT 21H End Start例题:将十个有符号字节数求和。.Stack 200H .Model Small.DataNum DB 1, -2, 3, 4, 5, -6, 7 DB 8, 9, -10Sum DB 0PUSH DSMOVAX,PUSHAX.CodeStart: MOV AX, Data MOV DS, AX MOV CX, 10 MOV BX, 0 Loop1: MOV AL, NumBX CBW ADD Sum, AXINC BX LOOP Loop1RET MOV AX, 4C00H INT 21H End Start程序在装入内存时,不会自动给DS、ES赋值,需要引用变量,应给相应段寄存器赋值;CS、IP、SS、SP会自动被赋值。INT 21H的4CH号子功能是返回操作系统功能号用AH寄存器表示,其它的入口参数会使用不同的寄存器或存储器。编译器和连接器 流行的有两类MASM + LINKTASM + TLINK.EXE 装入内存时,各段重新定位.COM 内存映像,装入时不需重定位(大小不超过64KB)常用的DOS功能调用 INT 21H1、4CH 返回操作系统MOV AX, 4C00HINT 21H2、01H 从键盘输入字符MOV AH, 1INT 21H 输入字符的ASCII码 从AL中返回3、07H 类似01H, 但不回显字符4、02H 显示字符MOV AH, 2MOV DL, A ;显示字符的ASCII码存入DLINT 21H5、09H 显示字符串 MOV AH, 9 MOV DX, OFFSET String INT 21H 字符串的开始用DS:DX指示位置 字符串的结束用$表示问题:字符串中有$要显示如何处理?试验其它伪指令:SEG 析取段地址 OFFSET 析取偏移量 TYPE 析取类型用MASM和LINK生成的文件是.EXE文件;如需生成.COM文件,编程时特殊处理,连接时特殊处理。标准的段定义Data Segment X DB 1, 2, 3Data EndSStack Segment StackDW 256 dup(0)Stack EndSCode Segment Main PROC FarAssume DS:Data, CS:Code, SS:MyStackPUSH DSMOV AX, 0PUSH AX MOV AX, DataMOV DS, AXRETMain EndPCode EndSEND Main程序设计实例:LT1:从键盘输入一个小写字符,转换成大写字符输出。.Model Small.Stack 200H.Code Start: MOV AH, 1 INT 21H MOV AH, 2 MOV DL, AL SUB DL, a-A INT 21H MOV AX, 4C00H INT 21H End StartLT2:完善LT1,(1) 显示提示字符串 a) 输入提示b) 输出提示c) 输入错误提示(2) 做输入合法性检查a) = ab) 0,0,=0的数据的个数。LT4:冒泡法排序将10个无符号的字数据按从大到小的顺序排序。DEBUG:URT2D xxxG yyyD xxxQTD:Tasm /zi lt4Tlink /v lt4Td lt4见各项菜单LT5:以十进制形式显示内存中一个无符号字节数。算法:1、每次除以10,保留余数到堆栈;商是0的时候开始显示。2、设置一个计数(位数),显示时转换成ASCII码,用INT 21H的02号子功能。LT5:显示一个无符号字数据(十进制)LT5”:显示一个有符号的字数据(十进制)作业:以十六进制形式显示一个无符号字节数。、 显示时?、 除法?逻辑运算?下周三上课前交。LT6:把一个字数据,以十六进制形式显示LT7:根据外设的开关状态决定是否执行某道工序。(端口地址假设是300H)D7 D010000000MOV DX, 300HIN AL, DXMOV CX, 8MOV BL, 80HLoop1:TEST AL, BLJZ Next;查跳转表获取子程序入口地址,转入子程序Next:SHR BL, 1 ;用逻辑右移LOOP Loop1在数据段中构造一个入口地址表TA DW S1, S2, S3, S4, S5, S6, S7, S8TA 是变量名, 地址表Sn 是标号名或子程序名, 子程序入口地址访问表MOV BX, 0 ;循环之前ADD BX,2 ;在每次LOOP指令之前CALL TABX ;调用子程序MOV BX, OFFSET TA ;循环之前ADD BX,2 ;在每次LOOP指令之前CALL BX ;调用子程序比较 CALL BX 和 CALL BX的区别LT8:十进制形式显示双字数据(100101010101)2?((0*2+1)*2+0)*2+0)*2+1每次进行的操作是X+X+1或0 可以用 ADC AL, AL来实现双字数据转换成十进制格式10个数码表示305419896作业:显示转换结果。下周三上课前交。LT9:对存储器中的两个字节无符号数 A 和 B 按以下规则进行处理:规则 1、如果其中一个是奇数、另一个是偶数,则奇数放在 A 、偶数放在 B 。规则 2、如果其中两个都是奇数,则分别加1 。规则 3、如果其中两个都是偶数,则不做处理 。分析:1、奇偶判断,判断最低位 TEST AL, 1;ZF=1偶数,=0奇数提示:逻辑关系分析清楚,可能会有简化。LT10:子程序参数传递例: MOV AH, 2 ;寄存器传递参数 MOV DL, A INT 21HMOV AH, 2 MOV DL, XBCDBX ;全局变量传递参数ADD DL, 30H INT 21H利用堆栈来传递参数在主程序中: MOV AX, 78HPUSH AX MOV BX, 96H PUSH BX CALL ADDS在子程序中访问参数: PUSH BP MOV BP, SP MOV CX, BP+6 ; 78H MOV DX, BP+4 ; 96H ADD CX, DX POP BP RET 4LT11:在数据段中data1和data2是有符号字数据,将其中较大数找出来存放于result中。data segment data1 dw 3000 data2 dw -500 result dw ?data ends mov ax, data1 push axmov ax, data2 push axcall max ;pop cx ;pop cx mov result, axLT12:拷贝字符串分析:源串和目的串不重叠,直接MOVSB;重叠需要特殊处理。MOV AX, DataMOV DS, AX MOV ES, AXMOV CX, 10; 重复次数 CLD ;方向 正向 LEA SI, Str1 ;取源字符串地址 LEA DI, Str2 ;取目的字符串地址 REP MOVSB;重复传送字符串内容复习:、 汇编语言源程序的结构、 常用的指令、 寻址方式、 基础知识(结构、补码数、三态门、锁存器、信息的表示)、 微处理器(内部结构、外部引脚、时序)第五章 半导体存储器按载体:磁盘、磁带、光盘、优盘、半导体存储器 外部存储器内存:RAM和ROM在内存和总线之间,设置高速缓存在CPU和总线之间,也设置高速缓存存储单元Byte(字节)编排地址每字节含有8个bit(二进制位)存储器的基本结构:、 地址译码:线性译码、复合译码、 读写控制、 存储矩阵、 数据缓冲随机访问存储器 RAM静态RAM(SRAM):利用锁存器来存储信息、不掉电信息不丢失,稳定,读写快,相对造价高。动态RAM(DRAM):利用极间电容存储信息、需要动态刷新,读写慢,相对造价低廉。刷新按行进行,在引脚的设计上只有:行/列选择信号线、一组行(列)信号。访问DRAM的方式有不断的改进:FPDRAM(快速页面模式)5-3-3-3EDODRAM(扩展数据输出)5-2-2-2SDRAM(与时钟同步)5-1-1-1-1-1-1DDR SDRAM(双倍的时钟同步)DDR II, DDR III只读(随机访问)的存储器ROM掩模ROM、PROM、EPROM、E2PROM、Flash ROMPC机中:内存 - DRAM (SDRAM、DDR)CACHE - SRAMU盘 - Flash ROMBIOS程序的载体 - Flash ROMCMOS 时钟电路里的存储器 - SRAM硬盘 - 外存存储器的扩展和连接:、 位扩展(每个地址单元中容量的扩展)、 字扩展(地址单元数量上的扩展)、 与16位(32位)总线连接的扩展问题:、 存储器的容量如何表示?、 存储器的性能有哪些技术指标?1Kx1位、1MB、64Mbit存取速度:PC100 支持100MHz时钟的SDRAM每次读写时间是10ns集成度、耗电量等。期中考试日期11月15日,具体时间地点另行通知。存储器芯片 总线SRAM 中的一个系列:62xxx,61xxx62256 32K*8位6264、62010、6232EPROM中的一个系列:27xxx27256 32K*8位三八译码器8088系统总线:A19A0、D7D0、MEMR、MEMW存储器芯片:AxA0、D7D0、CS、OE、WE地址译码的方式:、 全译码、 部分译码、 线译码或不译码用来产生存储器片选按信号时,常用全译码产生接口电路的片选信号时,常用部分译码例题:有一片62256,设计全译码电路,使它对应到内存A0000H开始的区域,并写出地址覆盖范围。分析:62256 SRAM 32K*8位 A14A0需要使用A19A155条高位地址线产生片选信号。A0000H=1010 0B地址覆盖范围是:A00000HA7FFFH如何画连接图?8086系统总线,存储器扩展连接的问题:16位数据总线和8位的存储器芯片连接把存储器分成“偶地址”和“奇地址”两组,可同时被选中,由A0和BHE决定是否访问其中的单元。考虑32位数据总线该如何连接?简单回顾:8259:中断优先级管理器ICW14 OCW13MOV AL, 13HOUT 20H, ALMOV AL, 8OUT 21H, ALMOV AL, 9OUT 21H, ALIN AL, 21HOR AL, 2OUT 21H, AL设置中断屏蔽寄存器IMRMOV AL, 1OUT 21H, AL发送EOI命令MOV AL, 20HOUT 20H, AL8259级联 主IR0IR1IR2(从IR0IR7) IR3IR78255:可编程并行接口电路并行、串行无条件传输、查询式传输、中断方式传输8253:可编程的定时计数器输出波形、启动方式编程:先向控制端口写控制字,再向数据端口写(读)计数值。例:PC.8253.0#.CLK=1.1931816MHzMOV AL, 00110110BOUT 43H, ALMOV AL, 0OUT 40H, AL ;低8位OUT 40H, AL ;高8位计数值送的是0, 相当于65536.OUT = 1.19M/65536=18.2Hz方式3,输出方波。T= 1 / 18.2 = 55ms8253.OUT0 8259.IR0 中断类型码8最后三位填写IRn的二进制值(8259.ICW2=00001000B)定时器1,动态RAM刷新。程序要求:主程序:、 保存原中断向量、 安装新中断向量 /允许扬声器发声、 检查时间是否到5.5s,未到等待、 恢复原中断向量 关闭扬声器发声中断服务程序:、 保护现场; PUSH AX PUSH DXPUSH DS 、 开中断 ;STI、 中断处理、 发送EOI ; MOV AL, 20H OUT 20H, AL、 关中断 ;CLI、 恢复现场 ; POP DS POP DXPOP AX、 中断返回; IRET=程序片段:保存原来的中断向量MOV AX, 0MOV ES, AXMOV AX, DataMOV DS, AXPUSH ES:8*4PUSH ES:8*4+2安装新的中断向量MOV AX, OFFSET INT8SVRMOV ES:8*4, AXMOV AX, SEG INT8SVRMOV ES:8*4+2, AX恢复原中断向量 (与安装类似,自行完成)判断是否到5.5秒Loop1: CMP CLKS, 100 JNA Loop1数据段中的定义CLKS DW 0 Hz 1000中断服务程序中的中断处理部分 MOV AL, 10110110BOUT 43H, AL ;设置2号计数器MOV AX, 12H MOV DX, 3480HDIV Hz OUT 42H, ALMOV AL, AH OUT 42H, AL ADD Hz, 50INC CLKS 允许扬声器发声,需要设置8255.PB10=11BMOV AL, 3OUT 61H, AL关闭扬声器发声MOV AL, 0OUT 61H, AL串行通讯拓扑形式:、 点对点、 一点对多点a) 总线型 终端电阻b) 环型c) 星型串并行转换波特率:每秒钟可以/传输的二进制位数,单位是bps。帧格式:封装起来的一组信息的格式MODEM 调制解调器发送和接收双方要约定好波特率和帧格式,才能进行通讯。串行通讯:、 异步的串行通讯:以字符为单位传送、 同步的串行通讯:以数据块为单位传送线路的传输方式:单工全双工半双工校验:奇偶校验、循环冗余校验RS-232C标准是数据终端设备(DTE)和数据通讯设备(DCE)之间异步串行通讯标准。RS-232标准不超过50英尺(15m)RS-422、423 ,RS-485标准MODEM 33.6Kbps,理想情况下,用异步串行通讯,最快传输的速率是Byte/Sec.33.6K * 8 / (1+8+1+2) / 8 =2.8Kbyte/SecADC和DAC数字量(开关量):通过调理电路转换成数字信号,经并行接口电路连接到总线脉冲量:使用计数器模拟量:ADC , DAC逐次比较式、双斜式和总线的连接分析电路:1、读160H端口,读取转换状态,在DB0,IN AL, DX 读取到AL.D0可用TEST AL, 1 判断状态 JNZ Loop1 没准备好跳转 2、读161H端口,读取转换结果,清除状态信号3、写161H端口,启动转换,清除状态信号;转换结束后,状态信号有效。可以采用查询状态、固定延时、中断等方式读取转换结果。考试题型:可能有:、 简答题、填空、选择、 问答题a) 中断处理过程i. 中断请求(软、硬、)ii. 中断响应1. 确认是否处理2. 获取中断类型码,INTR3. 标志寄存器进栈,IF、TF清零,CS和IP进栈4. 查中断向量表,获取中断服务程序入口地址,转入中断服务程序iii. 中断处理程序1. 保护现场2. 开中断3. 具体处理4. 关中断5. 发送EOI命令(针对INTR的请求)6. 恢复现场7. 中断返回 IRETiv. 中断返回恢复断点、恢复标志寄存器b) 基本的输入输出方式i. 无条件:CPU主动,不考虑外设状态ii. 查询方式:CPU主动,根据外设状态进行操作iii. 中断方式:外设主动发出请求,CPU被动处理iv. 直接存储器存取(DMA方式):外设向DMAC发出请求,CPU不参与具体的传送操作。c) 存储器操作数的寻址方式有哪些?举例说明(以源操作数为例)i. 直接寻址 MOV AX, 100Hii. 间接寻址 MOV AX, BXBX、BP、SI、DI iii. 相对寻址 MOV AX, BX+100Hiv. 基址变址寻址 MOV AX, BX+SIv. 相对的基址变址寻址 MOV AX, BX+SI+100Hvi. d) 已知PC机中IRQ3对应的是异步串行通讯,对应的中断类型码?(0BH)中断向量存放在的位置?(0:2CH2FH)如果中断向量是12H、34H、56H、78H四个字节,中断服务程序入口地址是?(7856H:3412H)、 程序设计a) 数据定义伪指令,分析数据在内存中的分布、数值等b) 指令的用法c) 汇编语言源程序i. 分析运行结果、或补充关键语句ii. 写完整程序iii. 写程序片段:1. 初始化接口电路8253、8259a) 设置计数值、计数方式b) 初始化、操作IMR、发EOI命令2. 查询方式访问ADC、打印机3. 无条件输出或输入数码管、开关、 存储器扩展连接a) 掌握一些基本概念:SRAM、DRAM、FlashROM、EPROMb) 8088和8086的存储器扩展、覆盖地址分析、 接口电路分析和设计a) 查询方式的输入和输出、中断请求管理等电路,分析端口地址和工作原理b) 给出端口地址设计译码电路c) 给出功能要求,设计或连接接口电路d) 编写复杂的程序或若干简单的片段以上,供参考1月12日上午1、2节期末考试。我的Email:http:/8086study版面大黑楼 B705 卢伟讲师A714 李卓函讲师A720 仲崇权教授 A730 于海晨副教授 王宏伟副教授、林恺博士汇编语言程序:、 DOS提供的一些功能调用a) INT 21H的9号子功能 MOV AX, Data MOV DS, AX MOV DX, Offset Str1 MOV AH, 9 INT 21H ;字符串以 $ 为结束符b) 2号 显示字符 MOV DL, AMOV AH, 2INT 21H c) 1号 输入字符 MOV AH, 1 INT 21H ;输入的字符ASCII码放在AL,同时在屏幕上回显 d) 7号 输入字符,不回显e) 3号 断点中断 DEBUGf) 4CH 号 返回操作系统 MOV AH, 4CH ;MOV AX, 4C00H INT 21H、 类型a) 码制转换、显示数据b) 排序c) 统计、求和d) 运算(算术、逻辑)码制转换:数字ASCII码1) 09 30H39H ADD DL, 30H2) 09,AF 30H39H, 41H46H,并显示 ADD DL, 30H ; ADD DL, 0- 0 CMP DL, 9 JBE Next ADD DL, 7 Next: MOV AH, 2 INT 21H3) 以十进制形式显示一个无符号字节数.Model Small.Stack 200H.DataX DB 123X10 DB 3 dup(0) .Code Start: MOV AX, Data MOV DX, AX MOV CX, 3 MOV SI, 0 MOV AL, X Loop1:MOV AH, 0 MOV BL, 10 DIV BL ;商在AL,余数AH MOV X10SI, AH INC SI LOOP Loop1;-MOV CX, 3MOV SI, 2Loop2:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CRRA 2301-2024国有企业废旧物资交易平台服务流程管理规范
- 高中孙子吴起列传课件
- 高一课件教学课件
- 电力行业2025年投资策略分析报告:火电、绿电储能
- 高一化学必修二课件
- 《婚姻解除财产分割协议书:婚前婚后财产清晰划分》
- 猪场租赁与养殖废弃物处理技术支持合同
- 夫妻财产分割离婚后子女抚养及赡养费支付合同
- 广告投放效果优化代理合同
- 骨髓穿刺课件
- 2023年江苏省盐城公证处招聘公证人员5人笔试参考题库(共500题)答案详解版
- 保密室及保密要害部位搬迁发案
- 恐龙灭绝介绍课件
- 《人力资源管理全套课件》
- 核赔经典疑难案例解析
- 尿道损伤的分类与治疗
- 眼科常见疾病诊疗指南
- 厂级岗前安全培训教材
- 征兵宣传主题PPT
- 《机电设备组装与调试》课程标准
- 电力市场交易体系规则培训PPT
评论
0/150
提交评论