东南大学微机13复习课part216周

上传人:re****.1 文档编号:585520743 上传时间:2024-09-02 格式:PPT 页数:61 大小:885.52KB
返回 下载 相关 举报
东南大学微机13复习课part216周_第1页
第1页 / 共61页
东南大学微机13复习课part216周_第2页
第2页 / 共61页
东南大学微机13复习课part216周_第3页
第3页 / 共61页
东南大学微机13复习课part216周_第4页
第4页 / 共61页
东南大学微机13复习课part216周_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《东南大学微机13复习课part216周》由会员分享,可在线阅读,更多相关《东南大学微机13复习课part216周(61页珍藏版)》请在金锄头文库上搜索。

1、1 微机系统与接口微机系统与接口课程总结课程总结基本内容基本内容1微机系统基础微机系统基础(数制、系统、(数制、系统、IA-16/32 P/MPU )2指令和用途指令和用途 系统硬件相关系统硬件相关3汇编语言程序设计(伪指令汇编语言程序设计(伪指令-数据数据-程序流)程序流)4半导体存储器(概念、半导体存储器(概念、MPU接口电路)接口电路)5接口技术接口技术数字量接口数字量接口 6.模拟量接口及应用编程模拟量接口及应用编程7 7IA-32IA-32原理概念原理概念 2 微机系统与接口微机系统与接口考试考试1. 基本概念(选择题与填空题)基本概念(选择题与填空题)30%2. 汇编程序部分(程序

2、阅读理解和编写)汇编程序部分(程序阅读理解和编写) 3道道中题中题 35%3.存储器与接口电路(连线、计算、编程)存储器与接口电路(连线、计算、编程) 1道道大题大题多个小问多个小问 35%(存储器、中断、定时计数器、(存储器、中断、定时计数器、并口、并口、A/D与与D/A)内容范围:参见考试大纲课程辅导、课程小结:课程辅导、课程小结:http:/ 08年试卷年试卷http:/ 3第一章、微机系统基础第一章、微机系统基础 IA-16微处理器架构微处理器架构808616位微处理器:位微处理器:AD0AD15,A16A198088准准16位微处理器:位微处理器:AD0AD7,A8A19Intel

3、8087 FPU协处理器协处理器IA-32微处理器架构微处理器架构Intel 803864第一章、微机系统基础第一章、微机系统基础 1. 数制、数制、补码的概念与运算补码的概念与运算也决定通用寄存器的位数也决定通用寄存器的位数5(1)(1) 数制、数制、补码的概念与运算补码的概念与运算p带符号数的表示,带符号数的表示,第一位:符号位(第一位:符号位(0=正数;正数;1=负数)负数) 补码补码计算机擅长做加法!计算机擅长做加法!A-B=A+(-B)p原码、反码、补码原码、反码、补码在特定字长内(在特定字长内(n=8/16/32)表示范)表示范围,相互转换围,相互转换p十进制数的二进制编码表示十进

4、制数的二进制编码表示 压缩压缩/非压缩非压缩BCD码码输入输出符合习惯输入输出符合习惯!在微机系统中,数值以补码表示和存储在微机系统中,数值以补码表示和存储例:例: -4 八位八位100H-4=0FCH,16位位10000H-4=0FFFCH例:例:汇编指令汇编指令 MOV AX, -4 操作数操作数=? 溢出:溢出: 运算结果超出范围运算结果超出范围 CF/OF (AX)=A000H, ADD AX,7000H ADD AX,-7000H6(1)(1) 数制、数制、补码的概念与运算补码的概念与运算数据定义伪指令数据定义伪指令人工输入形式人工输入形式-物理存储物理存储(二进制数二进制数)DB

5、-20H(100H-20H=E0H), 1(0FFH),-20(ECH),81H(-127)MYDATA DW 200,-200,0FFF0H,1, -200H, 200HMAX=? Min=? 根据实际物理存储内容判别根据实际物理存储内容判别p非数值(字母与符号)的二进制编码表示非数值(字母与符号)的二进制编码表示ASCII码码: 00-7FH 字符字符(美国标准信息交换代码美国标准信息交换代码 )0DH CR 回车回车0AH LF 换行换行字符:字符:0-930-39H;A41H, a61H7(2 2)8086/8088 CPU8086/8088 CPU硬件结构硬件结构 CPU基本构成:基

6、本构成:p执行单元执行单元EU:执行指令,含:执行指令,含ALU和通用寄存器;和通用寄存器;p总线接口单元总线接口单元BIU:与存储器或:与存储器或I/O端口之间进行数据传送,端口之间进行数据传送,并能形成物理地址,含段寄存器和指令指针寄存器;并能形成物理地址,含段寄存器和指令指针寄存器;并行:预取并行:预取-指令队列指令队列-执行,执行, 流水线流水线冯冯诺依曼结构诺依曼结构:是一种将是一种将程序指令存储器程序指令存储器和和数数据存储器据存储器合并在一起的存储器合并在一起的存储器结构。程序指令存储地址和数结构。程序指令存储地址和数据存储地址指向同一个存储器据存储地址指向同一个存储器的不同物理

7、位置。的不同物理位置。Intel 8086/8088 8Intel 8086/8088 微处理器基本结构微处理器基本结构地址总线地址总线20位位AH ALBH BLCH CLDH DLSPBPDISI通通 用用 寄寄 存存 器器AXBXCXDXALU数据总线(数据总线(16位)位)运算寄存器运算寄存器ALU标志寄存器标志寄存器EU 控控制系统制系统执行单元执行单元EUCSDSSSESIP内部暂存器内部暂存器1 2 3 4 5 6数据总线数据总线8088:8位位8086:16位位总线控总线控制逻辑制逻辑指令队列指令队列80888086Q总线总线(8位)位)指令指针指令指针段寄存器段寄存器外部外部

8、总线总线总线接口总线接口单元单元BIU图图1.9 功能结构功能结构9(2 2)8086/8088 CPU8086/8088 CPU硬件结构硬件结构 p寄存器及用途:寄存器及用途:通用寄存器、段寄存器通用寄存器、段寄存器CS/DS/ES/SS(用于(用于存放段起始地址)、存放段起始地址)、BP/SP、变址、变址SI/DI、控制:、控制:IP/FLAGS14个个16位寄存器位寄存器10(2 2)8086/8088 CPU8086/8088 CPU硬件结构硬件结构 pFLAGS各位定义各位定义IF,TF,(,(CF,DF,ZF,OF/SF,AF)CLI/STI;CLD/STD;单步运行(中断);单步

9、运行(中断)pCPU重要引脚信号:重要引脚信号:DEN,ALE,/WR,/RD,/IOR/W,AEN(信号有效性)(信号有效性)奇奇偶偶位位1偶偶借借进进位位半半进进位位溢溢出出标标志志跟跟踪踪符符号号位位方方向向p最小最小/最大模式最大模式 单单/多处理器多处理器(标准总线标准总线)1111(3)8086/8088存储器组织存储器组织* 1.字长和寻址空间字长和寻址空间1M(00000FFFFFH)8086:AD0AD15,A16A198088:AD0 AD7,A8A192.分段结构分段结构(4个活动的存储个活动的存储段段)16位寄存器位寄存器20位物理地址位物理地址将将1MB的地址空间分为

10、段的地址空间分为段,然后用段基地址和段内偏移然后用段基地址和段内偏移地址来访问物理存储器,一地址来访问物理存储器,一个段个段最多最多64K字节的连续空字节的连续空间间CSDSESSS12(3)8086/8088存储器组织存储器组织*p逻辑地址逻辑地址=段基址段基址S(16位)和偏移地址位)和偏移地址EA(16位)位)程序使用程序使用p物理地址物理地址=S*16+EA (得到得到20位物理地址位物理地址A19-A0 )呈现在数据总线上呈现在数据总线上段基地址段基地址偏移地址偏移地址015015段基地址段基地址 000003419物理地址物理地址019段基地址段基地址默认默认段寄存器段寄存器代码段

11、的段基代码段的段基CS 堆栈段的段基堆栈段的段基SS 数据段的段基数据段的段基DS附加段的段基附加段的段基ES 偏移地址偏移地址约定约定寄存器寄存器-寻址方式寻址方式13(3)8086/8088存储器组织存储器组织*寻址方式寻址方式不光是不光是MOV,要理解操作本质,要理解操作本质段基地址段基地址偏移地址偏移地址015015段基地址段基地址 000003419物理地址物理地址019通过总线访问存储器:通过总线访问存储器:直接直接MOV AX,200H寄存器间址寄存器间址MOV AX, BXMOV AX,BP基址基址MOV AX, BP+TABMOV AX, TABBP变址变址MOV AX, S

12、I+TABMOV AX, TABSI基基+变址变址MOV AX,TABBX+SI无须访问总线:无须访问总线:立即寻址立即寻址MOV AX, 100寄存器寄存器MOV AX,BX14(3)8086/8088存储器组织存储器组织*存储单元存储单元/ /堆栈堆栈/ /中断矢量表中断矢量表p 存储器存储器:高字节高地址,低字节低地址。:高字节高地址,低字节低地址。p 堆栈段:堆栈段:SS表示堆栈段的段基,表示堆栈段的段基,SP指向栈顶指向栈顶PUSH AX ;(SP)(SP-2);(SP+1)(AH);(SP)ALPOP AX;(AL)(SP); (AH)(SP+1); (SP)(SP+2)POP并不

13、改变堆栈里单元内容;堆栈以字为单位操作,并不改变堆栈里单元内容;堆栈以字为单位操作,SP值总是偶数,先进后出(值总是偶数,先进后出(FILO)。)。p 中断矢量表中断矢量表:中断类型号:中断类型号n=0255,256个中断源个中断源*4字节字节=1K (00000-003FFH),连续存放;,连续存放;一个中断矢量一个中断矢量类型为类型为n的中断对应的的中断对应的中断服务程序入口地址。中断服务程序入口地址。低字低字IP高字高字CS0:4*n152012年考题年考题161.8086/8088段寄存器的功能是_,某一时刻程序最多可以指定访问_个存储段。A1.用于计算有效地址B1.用于存放段起始地址

14、及计算物理地址C1.分段兼容8080/8085指令D1.方便分段执行各种数据传送操作A2.3B2.4C2.6D2.64KE2.初始化时程序指定3.8086/8088系统中通常堆栈以_为单位进行操作A.半字节B.字节C.字D.双字7.8088/8086CPU访问存储器时,在地址总线上送出的地址信号称为_地址。A.逻辑B.偏移量C有效D.物理28086/8088系统中复位信号RESET的作用是使_A.处理器总线休眠B.处理器总线清零C.处理器和协处理器工作同步D.MPU恢复到机器的起始状态并重新启动历年考题(历年考题(01、02、03、06)17(4 4)微机微机系统组成及各部分之间关系系统组成及

15、各部分之间关系存存储储器器I/O接接口口输输入入设设备备I/O接接口口数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB输输出出设设备备CPUEU|BIUp总线:地址总线:地址,数据数据,控制控制根据传送相关内容区分根据传送相关内容区分pI/O编址方式概念,编址方式概念,区分区分8086访问存储器和访问存储器和/IO:A19A0 220=1M存储空间;存储空间;A15-A0 216=I/O空间空间100H以上需用以上需用DX间址间址: MOV DX,2F8H IN AL,DX OUT DX,AL18(5)8086/8088工作过程工作过程pCPU收到收到RESET信号后:信号后

16、:各各 寄寄 存存 器器 的的 状状 态态 =0000H, CS=0FFFFH 启启 动动 地地 址址FFFF0H(CS:IP=FFFFH:0H)p 理解指令与硬件对应关系:理解指令与硬件对应关系:基本时钟基本时钟T=系统时钟,最小的单位;系统时钟,最小的单位;机器周期:取指、运算、机器周期:取指、运算、存储器读写、存储器读写、 I/O读写读写、中断响应、中断响应、等待等待Tw、空闲周期;、空闲周期;指令周期:指令从取出到执行完毕时间;指令周期:指令从取出到执行完毕时间;p 含总线操作的机器周期含总线操作的机器周期总线周期总线周期BIU完成总线接口操作,完成总线接口操作,理解总线时序图理解总线

17、时序图与指令相关与指令相关P238图图5.3图图5.619MOV DS, AX;不访问总线周期;不访问总线周期MOV AX,SI ;DS为默认段寄存器为默认段寄存器 CPU产生产生/RD信号,总线读操作信号,总线读操作MOV BX+20,BX ;总线写;总线写SUB BX,AL;总线读,总线写,两次总线周期;总线读,总线写,两次总线周期ADD AL, BX;一次总线读周期一次总线读周期OUT DX,AL ;DX间址,产生间址,产生/IOWR,总线,总线I/O写操作写操作CPU20(续)(续)p 含总线操作的机器周期含总线操作的机器周期总线周期总线周期BIU完成总线接口操作,完成总线接口操作,理

18、解总线时序图理解总线时序图与指令相关与指令相关CALL FAR PTR CS:8000H;1次存储器总线读(次存储器总线读(CS和和IP)、再)、再1次存储器总线写(次存储器总线写(CS和和IP)POP DS;1次存储器总线读次存储器总线读INT 21H;?;?21中断响应过程中断响应过程*CPU步骤:步骤:获取获取中断类型号;中断类型号;将标志寄存器将标志寄存器FLAGS的值入栈;的值入栈;将中断允许标志将中断允许标志IF和单步标志和单步标志TF清清0屏蔽外部其它屏蔽外部其它中断请求,避免中断请求,避免CPU以单步方式执行中断处理程序;以单步方式执行中断处理程序;保护断点保护断点将当前下一条

19、指令的将当前下一条指令的CS和和IP的值入栈;的值入栈;根据中断类型号到中断向量表中找到根据中断类型号到中断向量表中找到中断向量中断向量,转入,转入相应中断服务子程序相应中断服务子程序(6)中断处理程序结束后,中断处理程序结束后,IRET从堆栈中从堆栈中依次弹出依次弹出IP、CS和和FLAGS,然后返回主程序断点处,继续执行原来的,然后返回主程序断点处,继续执行原来的程序程序(0:4*n取中断向量取中断向量CS:IP)INT 21H 先先1次总线写(次总线写(FLAGS、CS、IP),再),再1次总线读(中断向量次总线读(中断向量4字节),字节),再一次总线读(再一次总线读(IP、CS、FLA

20、GS)223.8086/8088系统中堆栈操作指令PUSHDS将完成_总线操作。(A)0次存储器读(B)0次存储器写(C)1次存储器读(D)1次存储器写4.下列指令中,目标操作数在数据段寄存器DS指定存储段中的是_,源操作数的寻址方式为直接寻址的指令是_。(A)MOVBX,0FFFH(B)INAL,40H(C)SUBAX,CS:BP(D)INCWORDPTRBP(E)JMPNEARPTRSI+3000(F)JMP2000:3000H12年考题年考题88086/8088处理系统中,常用程序方法、中断和DMA实现输入输出,其中采用输入输出指令对硬件进行操作主要通过_周期实现。AI/O读或I/O写总

21、线B存储器读或写总线C中断响应D总线响应233.在默认情况下,ADDDI+100,DI指令中目标操作数存放在_寄存器指定的存储段中,指令执行时将完成_个总线操作周期。A1.CSB1.DSC1.ESD1.SSA2.0B2.1C2.2D2.37.微机系统中,通常数据总线信号由_提供,地址总线信号由_提供。A.存储器B.I/O设备C.处理器D.以上三部分之一01年考题年考题06年考题年考题14.通常指令SUBAX,1与DECAX执行速度相比_。A.要快B.要慢C.快慢说不清D.与指令地址有关01年考题年考题24第二章、指令系统第二章、指令系统重点:重点:1 1、寻址方式、寻址方式2 2、掌握重要指令

22、、掌握重要指令/ /伪指令伪指令转移控制(转移指令、过程调用、中断)转移控制(转移指令、过程调用、中断)3 3、结合指令结合指令/ /伪指令,分析内存伪指令,分析内存/ /堆栈内容变化、堆栈内容变化、指针变化(程序阅读题)指针变化(程序阅读题)指令指令实现微机算术、逻辑运算和控制功能实现微机算术、逻辑运算和控制功能25寻址方式寻址方式p 寻寻址址方方式式(寻寻找找操操作作数数地地址址的的方方式式),立立即即数数/直直接接/寄寄存存器器/寄寄存存器器间间址址/变变址址/基基+变变址址,掌掌握握默默认认寄寄存存器器,段超越段超越ES:CS:DS: 指令前缀指令前缀p指令指令= =操作码操作码+ +

23、目标,源操作数目标,源操作数CMP AX, BP ;源操作数在堆栈段中;源操作数在堆栈段中ADD AX, WORD PTR BX+SI;源源操操作作数数在在数数据据段中段中MOV BP, ES:BP ADD WORD PTR CS:SI+200,100 26基本指令集基本指令集p掌握伪指令掌握伪指令*DB, DW, DD; ORG, OFFSET/ SEG, $,(WORD/BYTE/FAR/NEAR)PTRp 掌握基本指令掌握基本指令*MOV, LEA, PUSH, POP, ADD, SUB, INC, DEC, CMP, MULAND, OR, TEST, XORSHL, ROL(等)(

24、等)JMP, JZ, JNZ, JC, JNC, LOOPCALL, RET, INT n, IRETCLD, STD, STI, CLIREP MOVSB(W)IN, OUT27常见错误指令常见错误指令寻址寻址1)基基址址与与基基址址(或或变变址址与与变变址址)不不能能组组合合在在一一起起寻址。寻址。MOV BX,BP+SI(正)(正)MOV AX,BXBP(错)(错)2) 出现出现AX、CX、DX、SP (都错)(都错) MOV IP, AX (错)(错) MOV AX, IP (错)(错)283) 存储器间不能存储器间不能直接直接进行操作。进行操作。(MOV 2000H,BX;CMP B

25、X,SI)4)段段寄寄存存器器不不能能直直接接进进行行立立即即数数赋赋值值(MOV DS,0100H),段段寄寄存存器器之之间间不不能能直直接接进进行行操操作作(MOV CS,DS),段段寄寄存存器器不不能能进进行行加加减减法法操操作作(ADD DS,AX),另另外外CS不不能能作作为为目目标标操操作数作数。(PUSH CS(正),(正),POP CS(错)(错)) 5)PUSH ES、POP DS 操作数为字型操作数为字型6)操操作作数数类类型型要要明明确确,MUL BX(错错) MOV AX,BL(错)(错)295.下列8086/8088指令中语法错误的是_。(A)ADDBX,30H(B)

26、PUSHCS(C)MOVAX,CS:8000H(D)ADDBL,BX+DI10H(E)INT265(F)CALLFARPTRCS:8000H12年考题年考题7.指出下列指令或伪指令中所有正确者:_。 (A) POP DS (B) MOV AX,BXBP (C) MOV BP, CS:BP (D) DW -222,20,0100000B (E) OUT 288H,AL (F) ADDC WORD PTR BX+100,006年考题年考题30存储器访问方式字节存储器访问方式字节/ /字字/ /双字双字p掌握掌握BYTE/WORD(NEAR)/DWORD(FAR)PTRDEC BYTE/WORD P

27、TR SI; MOV WORD/BYTE PTR 2000, 20; CMP BYTE PTRSI, 100p转移类指令,跳转地址转移类指令,跳转地址段内直接短段内直接短 JMP SHORT xxxx;8位偏移位偏移段内直接近段内直接近 JMP NEAR PTR xxxx;16位偏移位偏移段内间接段内间接 JMP BX, JMP WORD PTRBX+20H;用寄存器用寄存器/存储器存储器段间直接段间直接 JMP 2000:8000H ;20位物理地址空间位物理地址空间 段间间接段间间接 JMP FAR PTRBX JMP DWORD PTR SI ;用存储器用存储器JMP ES:3000H

28、;错,操作数大小(字节)非法错,操作数大小(字节)非法JMP WORD PTR ES:3000H ;对对31转移类指令转移类指令p CALL/RET改变程序流改变程序流CALL near_proc;(sp)(sp)-2, (SP)+1):SP) (IP);(IP)(IP)+dispCALL far_proc;(sp)(sp)-2, (SP)+1):SP) (CS);(CS)SEG far_proc;(sp)(sp)-2, (SP)+1):SP) (IP);(IP)OFFSET far_procCALL reg16/mem16 ;例如例如CALL AX, ;CALL WORD PTRBXCALL

29、 mem32;例如例如CALL DWORD PTR BXRET ;近、远近、远 隐含弹出隐含弹出RET pop_value;弹出后,再弹出后,再(SP)(SP)+pop_value, pop_value为偶数为偶数32中断指令中断指令中断指令中断指令 INT n; n中断类型号中断类型号v8086/8088 存储区存储区0000:000003FFH保存了若干中保存了若干中断向量,一个中断向量的内容是相应中断服务程序的断向量,一个中断向量的内容是相应中断服务程序的入口地址入口地址(CS:IP),占用占用4字节字节vn号中断的中断向量存储在地址为号中断的中断向量存储在地址为的单元里的单元里0000

30、:4*n0000:4*n+3INT n ;中断指令中断指令 (SP)(SP)-2, (SP)+1,(SP)(FLAGS); (IF)0 (TF)0 (SP)(SP)-2, (SP)+1,(SP)(CS); 新新(CS)0:n*4+2 (SP)(SP)-2, (SP)+1,(SP)(IP); 新新(IP)0:n*433转移规模转移规模低字低字IP高字高字CS堆栈段堆栈段FLAGS段段内内调调用用段段间间调调用用中中断断调调用用346.在下列指令中,使堆栈指针变化8字节的指令是_.A.PUSHAB.CALL4000:0008HC.RET8D.SUBSP,87设在DS指定的数据段中,8100H=26

31、50H,8102H=126BH,8104H=3590H,8106H=56FEH,当TABLE=-2,寄存器CS=7200H,DS=1340H,SI=8104H时执行指令JMPSI后,CS=_,IP=_;执行JMPDWORDPTRTABLESI后CS=_,IP=_。06年考题年考题03年考题年考题*35(2) (7分)8086/8088系统的XCHGAX,BX指令可实现AX和BX寄存器内容的交换。请分别用其他指令序列实现该功能,请分别写出利用其他寄存器、内存变量单元和堆栈实现该功能的指令序列;1)利用寄存器:2)利用内存变量单元,假设内存变量单元_:3)利用堆栈:12年考题年考题MOV CX,A

32、X ;(CX 为中间寄存器)MOV AX,BXMOV BX,CX VTEMP DW 0MOV VTEMP,AXMOV AX,BXMOV BX,VTEMPPUSH BXMOV BX,AXPOP AX36理解操作数理解操作数, 注意区分变量注意区分变量/表达式表达式*常量常量寄存器寄存器存储器操作数存储器操作数: 具有段属性、偏移量属性和类属性。具有段属性、偏移量属性和类属性。标号标号:在代码段中。在代码段中。变量变量:存放数据的存储单元的名字,在数据段或堆栈段中。存放数据的存储单元的名字,在数据段或堆栈段中。表达式表达式: (由运算符和被操作数组成由运算符和被操作数组成)汇编时获得。汇编时获得。

33、数值表达式数值表达式:常量和运算符组成,汇编时产生立即数。常量和运算符组成,汇编时产生立即数。地址表达式地址表达式:由常量、变量、标号、寄存器、由常量、变量、标号、寄存器、运算符运算符组成,组成,表示存储器的段内偏移地址。表示存储器的段内偏移地址。运算符运算符算术算术(+,-)逻辑逻辑(AND,OR)关系关系(EQ,LT)分析分析(OFFSET, SIZE)合成合成(PTR),优先级,优先级*. .汇编语言程序设计汇编语言程序设计37. .汇编语言程序设计汇编语言程序设计伪指令伪指令(1)符号定义符号定义 EQU:定义的是定义的是符号名符号名,不能重新定义,常用于定义端口。,不能重新定义,常用

34、于定义端口。EQU可以写在程序的任何位置可以写在程序的任何位置。 (2)数据定义数据定义 DB,DW,DD:定义的是变量,定义字时要遵循低位低地址,高位高地址定义的是变量,定义字时要遵循低位低地址,高位高地址的原则。的原则。DB/DW/DD只能定义在只能定义在DATA段中。段中。(3)段定义段定义SEGMENT/ENDS ASSUME AT(4)过程定义过程定义 PROG/ENDP(5)模块定义模块定义 (6)宏处理宏处理386.在汇编语言程序中,对END语句的叙述正确的是_。(A)END语句是一可执行语句(B)END语句执行与HALT指令相同的功能(C)END语句表示源程序到此结束(D)EN

35、D语句在汇编后要产生机器码39. .汇编语言程序设计汇编语言程序设计 - 数据数据-定义定义DATASAMPL SEGEMNT AT A800H (段基地址段基地址) ORG 1000H ;起始偏移量地址起始偏移量地址变量:变量:DB ABC ;存放在存放在1000H 41H,42H,43H DW 34, 56; 1003H=DW 3334H, 3635H ;存放存放:34H,33H,36H,35HBUFFER1 DB -20 ;A800:1007H DW -120H 存储变量存储变量:FEE0HBUFFER2 DB 33,22,;A800:100AHBUFFER3 DB 55H;A800:1

36、00CHLENGTH1 EQU(=)BUFFER2-BUFFER1 =?40. .汇编语言程序设计汇编语言程序设计 ORG 2000H ;存放在;存放在A800:2000H开始开始NPT1 DW BUFFER1;07,10H A800:2000H.NPT2 DW BUFFER2 ;0AH,10H, A800: 2002HNPT3 DW BUFFER3 ; A800:2004HFPT1 DD BUFFER1 ;2006HFPT2 DD BUFFER2;200AHNPTPT1 DW NPT1,NPT2,NPT3.; ;00,20H,02,20H,04,20H.FPTPT2 DW FPT1,FPT2

37、,FPT3,.; ;(2006H,A800H, 2008H,A800H实际存储实际存储:06H,20H,00H,A8H,08H,20H,00,A8H,41. .汇编语言程序设计汇编语言程序设计 $:当前地址当前地址 ( 可移动可移动)NEXT: JMP $ ;死循环;死循环LENGTH1 EQU $-NEXT;变量长度;变量长度ARRAYDB d1,d2,d3,dnCOUNTDB $-ARRAY用变量用变量/过程名来定义新的变量过程名来定义新的变量指针变量指针变量(近地址指针近地址指针2字节字节/远地址指针远地址指针4字节字节)4242课程中的例题课程中的例题DP1 DD PRC1,PRC2C

38、ODE SEGMENT ;设;设CS为为8B00H PRC1 PROC FAR ;8B00:1000:PRC1 ENDPPRC2 PROC FAR ;8B00:2C20:PRC2 ENDP 00,10,00,8B,20,2C,00,8B;DP1开始的内容开始的内容=?00H10H00H8BH20H2CH00H8BHDP18A00:0034H(PRC1)8B00:1000HMYDATA ENDS;设设DP1的段基的段基8A00H,DP1的的偏移量偏移量0034H4343课程中的例题课程中的例题JMP DWORD PTR DP1 ;反汇编反汇编JMP FAR 0034HJMP FAR PTR DP

39、1 ;反汇编反汇编JMP DS:0034HJMP FAR PTR DP1+4 ;反汇编反汇编JMP DS:0038H目标地址目标地址= 8B00H:1000H00H10H00H8BH20H2CH00H8BHDP18A00:0034H(PRC1)8B00:1000H441阅读分析程序,按要求填空回答问题(共15分)(1)(8分)汇编程序中,一数据段段基地址为(DS)=9000H,偏移量地址5600H,需要定义变量VSX(X=1,2,3),使它们均顺序存放相同的数据:00H,11H,22H,33H,44H,55H,66H,77H,88H,99H,AAH,BBH。1)按汇编语言格式要求,分别补充写出

40、按字变量和双字变量定义变量VS2和VS3的伪指令:ORG5600HVS1DB00H,11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBHVS2DW_VS3DD_2)执行指令MOVAX,VS2+4后,AX=_3)当前(CS)=1000H,执行MOVBX,OFFSETVS2+2JMPBX指令后(CS)=_,(IP)=_4)当前(CS)=1000H,执行MOVBX,OFFSETVS2+2JMPWORDPTRBX+2指令后(CS)=_,(IP)=_5)JMPDWORDPTRVS2后(CS)=_,(IP)=_2012年考题年考题45. .汇编语言程序设计汇编语言程序

41、设计 考点:考点:数据块操作:字符查找、比较、最大最小值数据块操作:字符查找、比较、最大最小值结构:结构:分枝(比较分枝(比较-散转)散转)/循环(条件)循环(条件)要求:要求:流程框图流程框图 、必要注释、模块化、过程调用、必要注释、模块化、过程调用忠实理解题意忠实理解题意-要求要求-建模分析建模分析46(1 1)条件判断)条件判断p条件转移条件转移-程序流的控制程序流的控制;CMP AX, BXJcc short-label程序段程序段1程序段程序段2条件条件?NY CMP AL,100 JZ NEXT1 MOV CX, 2000 JMP N100NEXT1: MOV CX, 3000N1

42、00: MOV COUNT, CX47(2 2)检测、判断)检测、判断 TEST AL,80H;或者或者ANDJZNEXT;AL的最高位的最高位=0时满足条件时满足条件常用常用JZ/JE等于,等于,JNZ/JNE不等,不等,JC小于小于(无符号无符号),JNC大于大于(无符号无符号) AL=D7 D6 D5 D4 D3 D2 D1 D0 & 1 0 000000- 0 0 000000 (ZF=1)OR AL,80H;强制把强制把AL最高位置最高位置1AND AL, 0FH;只取只取AL的低的低4位,而高位,而高4位清零位清零48(3 3)循环)循环 p循环循环LOOP计数循环(计数循环(CX

43、次)次)条件循环(计数)条件循环(计数)JCXZ,LOOPE/Z循环之前:循环之前:指针初始化指针初始化MOV BX, OFFSET CMPDAT设置计数器初值设置计数器初值MOV CX, n循环内部:循环内部:寻址寻址MOV AX, BX;寄存器间寄存器间指针加减指针加减DEC /INCINC BX或者:或者:MOV SI, 0MOV AX, CMPDATSI;变址寻址变址寻址INC SI(字节(字节,字,字,双字,双字)49(4) 最大值最大值w .code MOV BX, OFFSET CMPDAT MOV CX, COUNT MOV AX, BX INC BX INC BXCHECK0

44、: CMP AX, BX JNC CHECK1 MOV AX, BX;总是把较大数存入总是把较大数存入AXCHECK1:INC BX INC BX LOOP CHECK0EXIT: .dataCMPDAT DW 1,2,3,7,6,5COUNT EQU ($-CMPDAT)/2;个数个数50(5 5)查找字符、统计)查找字符、统计例例1 1从从数数据据段段首首地地址址为为CKSBUF的的数数据据区区中中,查查找找最最前前面面的的一一个字符串,满足:以个字符串,满足:以00H结尾,长度为结尾,长度为20字节字节CKSBUFCKSBUF 32H,33H,35H,41H,41H,55H,42H,41

45、H,., 45H, 00HSI(1) 初始化指针初始化指针 MOV SI, 0(2) 循环循环MOV CX, maxNEXT: MOV AH, CKSBUFSICMP AH, 00HJZ SAVE INC SILOOP NEXTJMP EXITSAVE: CMP SI, 20;上例上例SI=22JC FINDNEXT;不符合,找下一个不符合,找下一个SUB SI, 20;从从CKSBUFSI开始共开始共20个字节为找到的字符串个字节为找到的字符串20个个0,1,2,.,2151(5 5)查找字符、统计)查找字符、统计例例2 2从从数数据据段段以以DAT为为首首地地址址的的字字符符串串中中寻寻找

46、找A字字符符 ( A=41H, 该该 字字 符符 串串 以以 $结结 尾尾 ,$=24H),并并将将它它们们的的偏偏移移地地址址依依次次存存放放于于ADDR为为首首的的字字型型存存储储区区内内,并并以以0结结束束。要要求求写写出出程程序序主主要要片片断断(不不必必用用伪伪指指令令定定义义变变量量,可可直直接接用用指指令性语句编写令性语句编写)。DATDATADDRADDR 12H,33H,55H,41H,41H,55H,42H,41H,.$0003,0004H,0007H,0000SIDI52MOV SI,0MOV DI,OFFSET ADDRMYLOOP: MOV AL,SIDATCMP A

47、L,A;或或CMP AL,41HJNZ NEXT;非非A字符字符MOV DI,SI;是是A字符字符,保存偏移地址保存偏移地址,字字INC DI;修改当前偏移地址存储表指针修改当前偏移地址存储表指针INC DI;占两个字节占两个字节INC SI;修改数据偏移指针修改数据偏移指针,指向下一字符指向下一字符JMP MYLOOPNEXT: CMP AL,$JZ FINISH;遇到串结束符遇到串结束符$INC SIJMP MYLOOP;继续处理继续处理FINISH:XOR AX,AX MOV DI,AX ;00结束结束(5 5)查找字符、统计)查找字符、统计例例2 253变变化化: : 如如果果要要求求

48、在在规规定定的的字字串串长长度度范范围围内内( (如如不不超超过过10001000个个),),找到结束符找到结束符$ $, , 将单元将单元FLAGFLAG清零清零, ,否则写入否则写入0FFH; 0FFH; 加条件循环语句加条件循环语句 MOV SI,OFFSET DATMOV DI,OFFSET ADDRMOV CX,1000;循环初值循环初值MYLOOP: MOV AL,SI CMP AL,A;或或CMP AL,41HJNZ NEXT;非非A字符字符MOV DI,SI ;是是A字符字符,保存偏移量地址保存偏移量地址INC DI;修改当前偏移量地址存储表指针修改当前偏移量地址存储表指针 I

49、NC DI;占两个字节占两个字节JMP NEXT1;继续循环继续循环NEXT: CMP AL,$JZ FINISH;遇到串结束符遇到串结束符$(5 5)查找字符、统计)查找字符、统计例例2 254加条件循环语句加条件循环语句NEXT1: INC SI;修改数据指针修改数据指针,偏移指向下一数据偏移指向下一数据LOOP MYLOOP;1000个数未到个数未到, 继续处理继续处理 MOV AL,0FFH;未遇到未遇到A, 错误标志错误标志JMP PEXIT;出口出口FINISH: XOR AL,AL ;或者或者MOV AL,0MOV DI,AL ;0结束结束,接着将接着将00写入写入FLAG单元单

50、元PNEXT: MOV FLAG,AL;程序出口程序出口,写写FLAG标志标志(5 5)查找字符、统计)查找字符、统计例例2 2552(20分分)设已知缓冲区bDATA存放着不超过Nmax(定义为300)个字节的非空8位数,以0FFH结束。现要求编写一预处理程序,将其中所有连续两个字节数值等于回车/换行字符(即0DH,0AH或0AH,0DH)的偏移量地址指针顺序存放在以pDATANP为首的内存字单元中,其总数存入字单元wNPSUM;如果在Nmax字节中未发现结束符0FFH,则将0FFH写入字节单元bFULL,否则将该单元清零。写出程序片断,并加必要的注释,要求用伪指令定义各存储单元和常数。20

51、06年考题年考题程序编制程序编制例子例子找关键字找关键字562006年考题年考题思路思路pDATApDATANP 12H,0DH,0AH,11H,21H,35H,0AH, 0DH,.0FFH0001,0006HSIDI个数个数Nmax,用,用CX存放存放wNPSUM,保存统计个数,保存统计个数 bFULL= 0FFH,找到结束符则赋,找到结束符则赋00H57Nmax EQU 300CRLF1 EQU 0D0AHCRLF2 EQU 0A0DHpDATA db Nmax DUP(?)pDATANP DW 2*Nmax dup(?)wNPSUM DW 0bFULL DW 0FFH MOV CX,Nm

52、axMOV DI,offset pDATANPMOV SI,offset pDATALP1:MOVAX,SICMP AX,CRLF1 JZ FOUNDCMP AX, CRLF2JZ FOUNDCMP SI, 0FFHJZ FINISHINC SILOOP LP1JMP EXITFOUND: MOV DI,SIINC DIINC DIINC SIINC SIDEC CXJZ FINISHINC wNPSUMLOOP LP1FINISH: XOR AL,AL MOV bFULL,AL EXIT:58存储器系统的扩展异步串行通信接口的格式、波特率可编程定时/计数器8253的启动方式(软、硬件启动)D

53、MAC 8237的规格、级联模拟量输入输出通道组成环节(ADC DAC MUX SH)DA转换器电路中的转换精度、分辨率(影响因素)接口部分概念接口部分概念接口部分综合题接口部分综合题8255+简单I/O 键盘 LED8255扩展ADC0809CPU直接控制ADC0809 CH6_part1.ppt P36-P39 591(35分)采用并行接口i8255A每秒钟定时检测微型导线对地短路状态并构成报警系统如图,其中PA口连接8根微型导线,PC口连接声光报警系统。PC0接正常状态指示(绿色,LED)灯,PC1接异常报警指示(红,LED)灯。正常情况下绿灯亮,红灯灭;当发现有导线短路时,则报警指示红

54、灯亮;如连续三次发现相同情况的导线短路,则视为稳定故障情况,这时绿灯才灭。已知8255片选地址CS0为218H,另外有可选的定时器/计数器8253片选CS1地址21CH。2012年考题年考题接口部分综合设计题接口部分综合设计题606080386IA32微处理器架构微处理器架构存储器管理:存储器管理:实地址实地址-8086 (1M) Real Address Mode虚虚地地址址保保护护模模式式Protected Virtual Address Mode 虚拟虚拟8086方式方式Virtual 8086 Mode保护功能保护功能分段分段/分页系统分页系统- MEM按分段组织,多用户多任务按分段组

55、织,多用户多任务特特点点:段段基基地地址址不不像像8086直直接接得得到到,段段寄寄存存器器存存放放16位位段段选选择择字字而而不不是是段段基基地地址址,需需要要一一定定的的转转换换高高13位位INDEX是是描描述述符符的的偏偏移移地地址址值值,从从GDT或或LDT中中找找到到段段描描述述符符描描述述段段的的属属性性(权权、段段基基、段限)段限)61仔细审题:字节、字、仔细审题:字节、字、DB、DW、字符、字符串、字符、字符串列出存储单元图列出存储单元图接口题:写出地址译码分析过程接口题:写出地址译码分析过程编程题代码完整,加注释编程题代码完整,加注释预祝大家考出好成绩!预祝大家考出好成绩!答疑:周日答疑:周日 6.16 教教2-205 全天全天交微机实验报告:答疑交微机实验报告:答疑+考试当天考试当天

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号