微型计算机原理及应用知识点总结_第1页
微型计算机原理及应用知识点总结_第2页
微型计算机原理及应用知识点总结_第3页
微型计算机原理及应用知识点总结_第4页
微型计算机原理及应用知识点总结_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章运算机基础学问一、微机系统的基本组成1. 微型运算机系统由硬件和软件两个部分组成;(1) 硬件 :冯诺依曼运算机体系结构的五个组成部分:运算器,掌握器,储备器,输入设备,输入设备;其特点是以运算器为中心;现代主流的微机是由冯诺依曼型改进的,以储备器为中心;冯诺依曼运算机基本特点:核心思想:储备程序;基本部件:五大部件; 信息储备方式:二进制;命令方式:操作码(功能)+地址码(地址) ,统称机器指令;工作方式:按地址次序自动执行指令;(2) 软件 :系统软件:操作系统、数据库、编译软件应用软件:文字处理、信息治理(mis)、掌握软件二、微型运算机的系统结构大部分微机系统总线可分为3 类:数

2、据总线dbdata bus ,地址总线abaddress bus ,掌握总线 cbcontrol bus;总线特点:连接或扩展特别敏捷,有更大的敏捷性和更好的可扩展性;三、工作过程微机的工作过程就是程序的执行过程, 即不断地从储备器中取出指令, 然后执行指令的过程;例:让运算机实现以下任务:运算运算 7+10=?程序: mov al,7add al,10 hlt指令的机器码:10110000 ( op )0000011100000100 ( op)0000101011110100 ( op )基本概念:1. 微处理器、微型运算机、微型运算机系统2. 常用的名词术语和二进制编码(1) 位、字节、

3、字及字长(2)数字编码(3) 字符编码(4) 汉字编码3. 指令、程序和指令系统习题:1.1 , 1.2 , 1.3 , 1.4 , 1.5其次章8086 8088 微处理器一、 8086 8088 微处理器8086 微处理器的内部结构:从功能上讲,由两个独立规律单元组成,即执行单元eu和总线接口单元biu;执行单元 eu包括: 4 个通用寄存器( ax, bx, cx, dx,每个都是 16 位,又可拆位,拆成 2 个 8 位)、4 个 16 位指针与变址寄存器( bp,sp, si , di )、16 位标志寄存器 flag(6 个状态标志和 3 个掌握标志) 、 16 位算术规律单元 a

4、lu 、数据暂存寄存器;eu功能:从biu 取指令并执行指令;运算偏移量;总线接口单元biu 包括:4 个 16 位段寄存器 (cs代码段寄存器 、ds数据段寄存器 、ss堆栈段寄存器 和 es附加段寄存器 )、16 位指令指针寄存器ip (程序计数器) 、 20 位地址加法器和总线掌握电路、6 字节( 8088 位 4 字节)的指令缓冲队列;biu 功能:形成20 位物理地址;从储备器中取指令和数据并暂存到指令队列寄存器中;3、执行部件eu和总线接口部件biu 的总体功能: 提高了 cpu的执行速度; 降低对储备器的存取速度的要求;4、地址加法器和段寄存器由 ip 供应或由 eu按寻址方式运

5、算出寻址单元的16 位偏移地址 又称为规律地址或简称为偏移量 ,将它与左移4 位后的段寄存器的内容同时送到地址加法器进行相加,最终形成一个20 位的实际地址 又称为物理地址 ,以对应储备单元寻址;要形成某指令码的物理地址(即实际地址) ,就将 ip 的值与代码段寄存器cs(code segment)左移 4 位后的内容相加;【例假设cs 4000h, ip 0300h,就指令的物理地址pa4000h×10h 0300h 40300h;规律地址 =4000h: 0300h ;“段加偏移”的寻址机制:物理地址=段基地址 (又称段起始地址=段地址× 10h) +偏移地址规律地址:

6、其表达形式为“段地址:段内偏移地址”;二、 8086/8088cpu 基本执行环境指令指针( ip )寄存器包含下一条要执行的指令在当前码段中的偏移;80868088 的 16 位标志寄存器f 只用了其中的9 位作标志位,即6 个状态标志位,3个掌握标志位;6 个状态标志位:cf( carry flag)进位标志:进位或借位时,就cf为 1;否就为0;pf( parity flag)奇偶性标志:含有偶数个“1”时,就pf 为 1;否就为0; afauxiliary carry flag帮助进位标志:zfzero flag零标志:运算结果为零,zf 为 1;否就为0;sfsign flag符号标

7、志: ofoverflow flag溢出标志:3 个掌握标志位(程序设置(1),清除( 0) : dfdirection flag方向标志ifinterrupt enable flag中断答应标志tftrap flag跟踪 陷阱 标志储备器组织:1m字节储备器以 64k 为范畴分为如干段;在寻址一个详细物理单元时,必需要由 一个基地址再加上由 sp或 ip 或 bp 或 si 或 di 等可由 cpu处理的 16 位偏移量来形成实际的 20 位物理地址 ;三、总线周期1、时钟周期:时钟脉冲信号的一个循环时间叫一个时钟周期,又称为一个“t”状态,是微处理器工作的最小时间单位2、总线周期(机器时间

8、):完成一次对储备器或i/o 端口的操作所需要的时间;3、指令周期:执行一条指令所需要的时间;1 个最基本的总线周期由4 个时钟周期组成,4 个时钟周期又称为4 个状态 , ;四、 8086/8088引脚地址数据总线ad15 ad0:分时复用地址 / 状态总线: a19/s6a16/s3 : 掌握总线:bhe/s7: 表示高 8 位数据有效, t1 输出;rd:储备器或i/o 口读信号,输出,低电平有效,t2t3 有效; ready:预备就绪信号,输入,高电平有效;ready1 时,表示cpu拜访的储备器或i/o端口已预备好传送数据,立刻可以进行读写操作;test:测试信号,输入,低电平有效;

9、 intr:可屏蔽中断恳求信号,输入,电平触发,高电平有效;cpu 每执行完一条指令, 即检查 intr, 为“ 1”表示有中断清求,为“0”,就没有;是否响应受标志寄存器中if 的掌握nmi:不行屏蔽中断恳求信号,输入,上升沿触发;reset:复位信号,输入,高电平有效;cpu复位后,从ffff0h单元开头读取指令;电源线和地线:vcc, gnd五、 8086 系统的最小 / 最大工作方式最小工作方式: inta: 中断响应信号,输出,低电平有效; ale: 地址锁存答应信号,输出,高电平有效; den: 数据答应信号,三态输出,低电平有效; dt/r :数据发送 / 接收掌握信号,三态输出

10、; m/io:储备器或i/o 端口挑选信号, 三态输出; m/io 1,表示当前cpu正在拜访储备器; m/io 0,表示当前cpu正在拜访i/o 端口; wr:写信号,三态、输出;当wr 0 低电平有效时,表示当前cpu正在对储备器或i/o端口进行写操作; hold:总线保持恳求信号,输入,高电平有效; hlda:总线恳求响应信号,输出,高电平有效;最大工作方式:在最大方式系统中,外加有8288 总线掌握器,一般包含2 个或多个处理器;8282: 地址锁存器,8286: 数据收发器第三章 8086 指令系统一、运算机语言1. 机器语言:面对机器,0 和 1 表示机器是否可接受并执行指令; 2

11、汇编语言:面对人,符号表示,必需翻译才能执行;汇编语言指令的格式:一般格式:操作码操作数详细格式: 标号: 操作码 (空格分隔符) 目的操作数 (存放结果) ,(逗号分隔符) 源操作数;注释一条指令可以无操作数,必需有操作码,不同的机器,操作数个数不同;3. 高级语言二、指令查找操作数的寻址方式操作数通常储存在: ( 1)指令中( 2) cpu 内部寄存器中()内存单元中()端口中;8086/8088cpu 与数据有关寻址方式:1.立刻寻址2.寄存器寻址3. 直接寻址 4. 寄存器间接寻址5. 变址寻址6. 基址寻址7. 基址加变址寻址9. 相对基址变址寻址10. i/o端口寻址11.数据串寻

12、址例:设 ds1200h,bx 05a6h, ss 5000h, bp 40a0h,si 2000h, di 3000h,位移量disp1618h,试判定以下指令的寻址方式,并求出在各种寻址方式下,这些寄存器与位移量所产生的有效地址ea和实际地址(物理地址)pa;说明指令执行的结果; mov ax, 0618h这是一条直接寻址方式的指令;ea 0618hpa 12000h+0618h12618h该指令执行的结果是将数据段的实际地址为12618h 和 12619h 两单元中的内容取出送ax; mov ax, bx这是一条以数据段基址寄存器bx间接寻址的指令; ea 05a6hpa 12000h+

13、05a6h125a6h该指令执行的结果是将数据段的125a6h和 125a7h两单元的字内容取出送ax; mov ax, bp这是一条以堆栈段基址寄存器bp间接寻址的指令;由于寻址时用上了bp寄存器, 就操作数所默认的段寄存器就是ss;ea 40a0hpa 50000h+40a0h540a0h该指令执行的结果是将堆栈段的540a0h 和 540a1h 两单元的字内容取出送ax; mov ax, di 这是一条变址寻址的指令;ea 3000hpa 12000h+3000h15000h该指令执行的结果是将数据段的15000h 和 15001h 两单元的字内容取出送ax; mov ax, bx+di

14、这是一条基址加变址寻址的指令; ea 05a6h+3000h 35a6h pa 12000h+35a6h155a6h该指令执行的结果是将数据段的155a6h和 155a7h两单元的字内容取出送ax; mov ax, bp+si+disp这是一条带位移量的基址加变址寻址的指令,又叫相对基址加变址寻址的指令,且操作数的默认段为ss;ea 40a0h+2000h+1618h 76b8hpa 50000h+76b8h576b8h该指令执行的结果是将堆栈段的576b8h和 576b9h两单元的字内容取出送ax;三、指令的寻址=>cs:ip (不用表示,固定的)转移寻址: 用于掌握转移类指令;实质:

15、掌握转移类指令通过转变ip 和 cs值,从新位置开头执行指令;转移寻址分成2 种类型:段内转移和段间转移;条件转移指令只答应实现段内转移, 而且是段内短转移, 由指令中直接给出 8 位地址位移量无条件转移和调用指令又可分为段内短转移、 段内直接转移、 段内间接转移、 段间直接转移和段间间接转移等 5 种不同的寻址方式;段间转移 =远转移;四、指令分类8086/8088 的指令按功能可分为6 类:数据传送、算术运算、规律运算、串操作、程序掌握和 cpu掌握;1. 数据传送类指令数据传送类指令可完成寄存器与寄存器之间、寄存器与储备器之间、寄存器与i/o 端口之间的字节或字传送,共同特点是不影响标志

16、寄存器的内容,分成4 种类型;(1 通用数据传送指令(1) mov d, s ;ds,即将由源s 指定的源操作数送到目标d源操作数( s)可以是 8/16 位寄存器、储备器的某个字节/ 字或者是8/16 位立刻数; 目标操作数( d)不答应为立刻数;两者不能同时为储备器操作数;基本传送指令mov d, s 的类型有以下7 种; mov mem/reg1, mem/reg2由 mem/reg2 所指定的储备单元或寄存器中的8 位数据或16 位数据传送到由mem/reg1 所指定的储备单元或寄存器中,但不答应从储备器传送到储备器; mov mem/reg,data将 8 位或 16 位立刻数 da

17、ta 传送到由mem/reg 所指定的储备单元或寄存器中; mov reg,data将 8 位或 16 位立刻数 data 传送到由reg 所指定的寄存器中; mov ac,mem将储备单元中的8 位或 16 位数据传送到累加器ac 中; mov mem,ac将累加器al( 8 位)或 ax( 16 位)中的数据传送到由mem所指定的储备单元中;使用 mov指令时要留意的问题:cs不能做目的操作数不能直接从储备器到储备器之间数据传送2 条伪指令:word ptr表示字数据类型 byte ptr表示字节数据类型(2) push 和 poppush s :将源操作数(16 位)压入堆栈pop d

18、:将堆栈中当前栈顶两相邻单元的数据字弹出到d压栈指令push ax:将 ax( 16 位)中的数据压入栈,ax 是源操作数,栈顶是目的操作数,由( ss:sp)指向;出栈指令pop ax:将栈顶信息弹出到ax 中,ax是目的操作数, 栈顶是源操作数, 由(ss:sp)指向;设当前cs 1000h, ip 0020h, ss 1600h, sp 004ch,就该指令执行时,将当前栈顶两相邻单元1604ch与 1604dh中的数据字弹出并传送到cx中,同时修改堆栈指针,sp+2sp,使之指向新栈顶1604eh;堆栈是内存中开创的一个段,存放需要爱护的信息(数据、地址);堆栈操作时应遵循的5点原就:

19、堆栈的存取操作每次必需是一个字(即2 个字节);执行压栈指令时,总是从高位地址向低位地址存放数据,而不象内存中的其他段,总是从低地址向高地址存放;执行出栈指令时,从堆栈中弹出数据就正好相反;堆栈段在内存中的物理地址由ss和 sp 或 ss 和 bp 打算,其中,ss是堆栈段寄存器,它是栈区的最低地址,称为堆栈的段地址;sp 是进栈或出栈指令隐含的堆栈地址指针,它的起始值是堆栈应达到的最大偏移量,即指向栈顶地址;堆栈段的范畴是ss×16 至 ss×16+sp的起始值;每执行一次压栈指令,就sp-2 ,推入堆栈的数据放在栈顶;而每执行一次弹出 指令时, 就 sp+2;bp 寄存

20、器用于对堆栈中的数据块进行随机存取,例如, movax,bpsi指令执行后,将把偏移量为bp+si 的储备单元的内容装入ax;堆栈指令中的操作数只能是寄存器或储备器操作数,而不能是立刻数;对 cs段寄存器可以使用压栈指令push cx,但却不能使用pop cs这种无效指令; 3xchg d, s该指令功能是将源操作数与目标操作数 字节或字 相互对应交换位置; 交换可以在通用寄存器与累加器之间、 通用寄存器之间、 通用寄存器与储备器之间进行; 但不能在两个储备单元之间交换,段寄存器与 ip 也不能作为一个源或目的操作数;4xlat这是一条用于实现字节翻译功能的指令,又称为代码转换指令;详细地说,

21、它可以将al 寄存器中设定的一个字节数值变换为内存一段连续表格中的另一个相应的代码,以实现编码制的转换;2)目标地址传送指令专用于传送地址码的指令,可传送储备器的规律地址(即储备器操作数的段地址或偏移地址)至指定寄存器中,共包含3 条指令: lea、 lds和 les;(1) lea d, s取有效地址指令; 功能: 把用于指定源操作数 它必需是储备器操作数 的 16 位偏移地址 即有效地址 传送到一个指定的16 位通用寄存器中;(2) lds d, s取某变量的32 位地址指针指令;功能:从由指令的源s 所指定的储备单元开头,由4 个连续储备单元中取出某变量的地址指针 共 4 个字节 ,将其

22、前两个字节 即变量的偏移地址 传送到由指令的目标d 所指定的某16 位通用寄存器, 后两字节 即变量的段地址 传送到 ds段寄存器中;(3) les d, s这条指令与ldsd,s 指令的操作基本相同, 其区分仅在于将把由源所指定的某变量的地址指针中后 2 个字节 段地址 传送到 es段寄存器,而不是ds段寄存器; 3)标志位传送指令用于传送标志位,共有4 条;(1) lahf指令功能:将标志寄存器f 的低字节 共包含 5 个状态标志位 传送到 ah寄存器中,双操作数,固定寻址,所以被隐匿;(2) sahf 指令功能:将ah寄存器内容传送到标志寄存器f 的低字节;(3) pushf 指令功能:

23、将16 位标志寄存器f 内容入栈爱护;其操作过程与前述的push指令 类似;(4) popf 指令功能:将当前栈顶和次栈顶中的数据字弹出送回到标志寄存器f 中;4) i/o 数据传送指令(1) in累加器,端口号端口号可以用8 位立刻数直接给出;也可以将端口号事先支配在dx寄存器中,间接寻址16位长端口号 可寻址的端口号为0 65535 ;in指令是将指定端口中的内容输入到累加器al/ax 中;(2) out 端口号,累加器与 in 指令相同 , 端口号可以由8 位立刻数给出,也可由dx寄存器间接给出;out指令是将累加器 al/ax 中的内容输出到指定的端口;out port, al ;端口

24、 port al,即将 al 中的字节内容输出到由port直接指定的端口; port:符号地址,表示端口直接地址;out dx ,ax;端口 dx ax,即将 ax中的字内容输出到由dx所指定的端口;i/o指令只能用累加器作为执行i/o数据传送的机构,直接寻址范畴为0 255,寻址大于255 的端口地址时, 必需用间接寻址的i/o 指令;例如 , 在 ibm pc/xt 微机系统中 , 既用了 0255 范畴的端口地址,也用了255 65535 范畴的端口地址;2. 算术运算指令 1)加法指令1 add d , s ; dd+s指令功能:将源操作数与目标操作数相加,结果保留在目标中;并依据结果

25、置标志位;源操作数可以是8/16 位通用寄存器、 储备器操作数或立刻数;目标操作数不答应是立刻数,其他同源操作数;且不答应两者同时为储备器操作数;(2) adc d, s ;dd+s+cf带进位加法 ( adc)指令的操作过程与add指令基本相同, 惟一的不同是进位标志位cf的原状态也将一起参与加法运算,待运算终止,cf 将重新依据结果置成新的状态; adc指令一般用于16 位以上的多字节数字相加的软件中;3inc d;d d+1指令功能:将目标操作数当作无符号数,完成加1 操作后,结果仍保留在目标中;目标操作数可以是8/16 位通用寄存器或储备器操作数,但不答应是立刻数;2 减法指令(1)

26、sub d ,s ; d d-s指令功能:将目标操作数减去源操作数,其结果送回目标,并依据运算结果置标志位;(2) sbb d ,s ; d d-s-cf本指令与sub指令的功能、 执行过程基本相同,唯独不同的是完成减法运算时仍要再减去进位标志 cf的原状态;运算终止时,cf将被置成新状态;(3) dec d ; d d-1减 1 指令功能:将目标操作数的内容减1 后送回目标;目标操作数可以是8/16 位通用寄存器和储备器操作数,但不答应是立刻数;(4) neg d ; d d+1neg是求补码的指令,简称求补指令;指令功能:将目标操作数取负后送回目标;5cmp d ,s ; d-s, 只置标

27、志位指令功能:将目标操作数与源操作数相减但不送回结果,只依据运算结果置标志位;不答应两个操作数同时为储备器操作数,也不答应做段寄存器比较;3)乘法指令乘法指令用来实现两个二进制操作数的相乘运算,包括两条指令:无符号数乘法指令mul和有符号数乘法指令imul;(1) mul smuls 是无符号乘法指令, 被乘数(目的操作数)隐含在累加器al/ax 中; 由 s 指定的源操作数作乘数 , 相乘所得双倍位长的积, 分别存放到dx与 ax 中;(2) imul s有符号乘法指令4 除法指令除数、商: 8 位,被除数可以是16 位,目的操作数被隐含;(1) div sdiv s被除数隐含在累加器ax字

28、节除 或 dx、ax字除 中;指令中由s 给出的源操作数作除数;字节除法,商存于al,余数存于ah;字除法,商存于ax,余数存于dx;(2) idiv s该指令完成将两个带符号的二进制数相除的功能;(3) cbw 和 cwd 5)十进制调整指令(1) daadaa是加法的十进制调整指令,它必需跟在add或 adc指令之后使用;功能 : 将存于 al(目的操作数)寄存器中的2 位 bcd码加法运算的结果调整为2 位压缩型十进制数,仍保留在al 中;al 寄存器中的运算结果在显现非法码1010b 1111b 或本位向高位 指 bcd码 有进位 由af=1 或 cf=1表示低位向高位或高位向更高位有

29、进位 时,由 daa自动进行加6 调整; af 标志寄存器可知进位;(2) das减法的十进制调整指令,减6 调整(3) aaa加法的 ascii 码调整指令(4) aas减法的 ascii 码调整指令(5) aam 乘法的 ascii 码调整指令(6) aad 除法的 ascii 码调整指令;3. 规律运算和移位循环类指令:分为3 种类型:规律运算;移位;循环1)规律运算指令(1) and d , s ; d d s ,按位“与”操作,有一个是0,结果是0;(2) or d, s ; d d s ,按位“或”操作,有一个是1,结果是1;(3) xord,s ;d d s ,按位“异或” 操作

30、,不同,相同0;(4) not d ; d d,按位取反操作;(5) testd, s;d s ,按位“与”操作, 不送回结果,测试指令,影响标志位;2) 移位指令与循环移位指令移位指令分为算术移位和规律移位;循环移位分为不带进位位(小循环)与带进位位循环移位(大循环)4. 串操作类指令(1)指令使用规章: :串操作类指令是惟一地在储备器内的源与目标之间进行操作的指令,即源操作数与目标操作数都可以是储备器操作数;(2)源操作数地址:ds(段寄存器) 、is (源变址寄存器)(3)目标操作数地址:es(段寄存器) 、di (目标变址寄存器)(4)串长度存放在cs寄存器中(5)采纳隐含寻址方式;(

31、6)地址变化方向方向标志位df, df=0,用指令cld实现,地址指针增1 或 2; df=1,用指令 std实现,地址指针减1 或 2;(7)串指令功能:执行指令规定操作,然后si 和 di 自动修改 +-1 (字符串)或 +-2 (字);(8)重复指令功能:添加重复前缀rep等,指令实现自动循环,自动修改循环计数计功能, 并判定 0(9)循环计数计使用cx5 种基本的串操作指令:1) movs目标串,源串2) cmps目标串,源串3) scas目标串4) lods源串5) stos目标串5. 程序(转移)掌握指令 1)无条件转移指令(1) jmp目标标号依据目标地址的位置与寻址方式的不同,

32、jmp指令有 4 种基本格式; 段内直接转移操作数:目标地址的偏移量,偏移量是8 位(短转移)或16 位(近转移)的带符号数;目标标号偏移地址=ip+ 指令中位移量有条件转移只能用短转移;段内短转移:位移量1 个字节段内近转移:位移量2 个字节段内间接转移操作数:目标地址的偏移地址,寄存器间接寻址目标标号偏移地址=操作数 -ip目标段 =源段 =csshort段内短转移niar 段内近转移段间直接转移新的段地址: cs,新的偏移地址:ip ,操作数:目标地址的规律地址;目标地址的段地址和偏移地址存放于储备器的4 个连续地址中低字位: ip ,高字位: cs,操作数是双字的储备器地址用dword

33、 pt表r 示;(2) call过程名无条件调用过程指令;“过程”即“子程序”;子程序名即子程序入口地址,子程序段第一条指令的地址,用符号表示;call指令将迫使cpu暂停执行调用程序(或称为主程序)后续的下一条指令 即断点,用堆栈储存 , 转去执行指定的过程;待过程执行完毕, 再用返回指令ret将程序返回到断点处连续执行;ret:识别程序终点;call指令 4 种不同的寻址方式和4 种基本格式: call n_procn_proc是一个近过程名,采纳段内直接寻址方式;call bx 段内间接寻址的调用过程指令call f_procf_proc是一个远过程名,它可以采纳段间直接和段间间接两种寻

34、址方式来实现调用过程;ret 弹出值:从过程返回ret 指令应支配在过程的出口,即过程的最终一条指令处; 2)条件转移指令条件转移指令共有18 条,标志寄存器的标志位(9 个,用 6 个状态)作为转移的条件; 全部的条件转移指令都是短转移,目标地址(8 位)的字节距离在-128 +127 范畴以内;一个标志位的状态或几个标志的状态组合作为测试的条件;另外的一种替换形式,功能等效;3) 循环掌握指令:cx 中存放着循环次数,短转移(1) loop目标标号(2) loope/loopz目标标号(3) loopne/loopn目z 标标号(4) jcxz 目标标号6. 中断指令,中断指令只有3 条;

35、1int中断类型, 8086/8088 系统中答应有256 种中断类型 0 255 2into3iret7. 处理器掌握类指令,处理器掌握指令只完成对cpu的简洁掌握功能;1) 对标志位操作指令1 clc 、stc、cmc指令用来对进位标志cf清“ 0”、置“1”和取反操作;2) 同步掌握指令:多处理器系统(1) esc外部操作码,源操作数(2) wait(3) lock 3)其他掌握指令(1) hlt暂停指令,当cpu发生复位或来自外部的中断时,cpu脱离暂停状态;(2) nop空操作指令,占用3 个时钟周期的时间( ip+1 ),常用来作延时;五、 8086 编程基础汇编语言是用指令的助记

36、符、符号地址、标号等书写程序的语言, 简称符号语言;1. 汇编语言格式(1)指令分类汇编语言有3 种基本语句:指令语句、伪指令语句、宏指令语句;指令语句是一种执行性语句, 它在汇编时 , 汇编程序将为之产生一一对应的机器目标代码;伪指令语句是一种说明性语句,它在汇编时只为汇编程序供应进行汇编所需要的有关信息, 如定义符号,安排储备单元,初始化储备器等,而本身并不代表生成目标代码;不执行,翻 译时用;宏指令语句是以某个宏名字定义的一段指令序列;宏指令可以有多段,子程序有一段;(2)语句格式1)指令语句格式 标号: 前缀 指令助记符 操作数表 ;注释 2 伪指令语句的格式名字伪指令参数表 ; 注释

37、(3)汇编语言的语法段定义伪指令指示汇编程序应如何按段来组织程序和使用储备器;汇编程序3 种设计结构:次序结构、分支结构、循环结构;2. 汇编语言编程运行环境第五章储备器一、储备器的结构1. 基本概念 位 bit:信息量单位,每一个0 或 1 就叫做 1 位信息; 字节 byte:储备量单位,8 位二进制代码作为一个字节; 字 word: 2 个字节组成一个字,标识16 位数据的长度; 字长:运算机一次处理数据的位数(储备器, 寄存器);字长是随运算机进展变化的( 8086型字长 =16 位);地址:每个单元的编号,各储备单元的地址与该地址中存放的内容完全不同;物理地址( 20 位, 220=

38、1024k=1m) =段地址 *10h+偏移地址规律地址( 16 位, 216=64k)=段地址( 16 位):偏移地址( 16 位) 储备单元:每个单元储备8 位二进制信息,即字长为8 位;字地址:低地址单元的地址作为低地址,偶数;段:分段方法:段起始地址(段基址),段长简化问题;2.8086 储备器治理方式1)储备器信息分类治理:程序信息,数据信息,爱护(堆栈)信息;2)储备器空间分段使用:将内存空间分成如干个规律段使用,每个规律段存放一种信息, 每个段称规律段,当前正在使用的规律段称作当前段;规律信息依据存放信息的类别分为:代码(程序)段,堆栈段,数据段,附加段;规律段:规律段长度=后起

39、始地址 - 前起始地址,一类信息可以使用1 个至多个规律段;地址指针:程序指针:cs:ip ,堆栈指针:ss:sp,数据指针:ds或 es:ea(有效地址)段地址来源于4 个段寄存器,偏移地址来源于ip 、sp、ea(由 bp、si 、di 运算); 段地址默认时,偏移地址称作规律地址;3.8086 储备器堆栈技术1. 堆栈的定义:在储备器设置专用区(堆栈段),暂时存放需要爱护的信息;2. 堆栈原就: 按字堆栈, 后进先出; 从底(高地址) 向顶(低地址) 堆放堆栈指针ss:sp(栈 顶);3)堆栈设置:ss 赋值:定段位置;sp 赋值:定段长度;sp-2 (内部自动, sp值不变);物理地址

40、 =段地址( ss) *10h+偏移地址( sp) 4)堆栈使用自动或用指令使用堆栈;sp-2,进栈; sp+2,出栈;自动实现,程序里不写;二、运算机储备系统概述1 运算机的储备系统1)主存和辅存2)储备系统2. 内存(半导体储备器)的概述1)主存功能:存放当前运行的程序和数据,供cpu直接拜访;存放多机共享的数据,兼顾实现多机通信;2)主存连接:主存< >系统总线 < >cpu系统总线: ab:地址来自cpu的 ar寄存器; cb:包括 io/m 、we/rd、ready 等引脚; db:数据通过 cpu的 dr寄存器中转;3)主存分类ram:易失性储备器,如u 盘

41、; rom:非易失性储备器; mos ram分静态( static)和动态( dynamic) ram两种;双极性 ram的特点:存取速度快;静态 mos ram的特点:价格廉价,功耗低;内存:mos 4)内存(半导体储备器)组成和结构地址译码方式:单译码方式、双译码方式二、运算机的内存1. 静态 ram简称 sram,基本储备电路:rs触发器;intel 6116:双列直插式,24 引脚,储备容量2k*8 位2. 动态 ram简称 dramintel2116:16k*1位,由于受封装引线的限制,只有7 条地址输入线,1 条数据线;采纳地址线分时复用的技术;掌握信号:cas列, ras行;工作

42、方式: 写操作: 电容充电; 读操作: 破坏性读出, 重写刷新; 定时刷新: 保持电容电平;特点:定时刷新、分时复用;3. eprom芯片intel 2716容量为 2k× 8 位,采纳nmos工艺和双列直插式封装三、储备器的扩充和与cpu连接1、储备器的扩充位数的扩充:用固定容量、位数肯定的芯片扩充成固定容量、位数较多的储备器;如:需要2kx8位的储备器: 2kx1需 8 片;需要 2kx8 位的储备器:2kx4需 2 片;需要 2kx16位的储备器:2kx1 需 16 片;需要 2kx16位的储备器:2kx4需 4 片;字扩展(地址扩展) :用肯定容量、位数固定的储备芯片扩充成较

43、大容量位数固定的储备器;如:需要64kx8位的储备器:16kx8 需 4 片;需要 64kx8位的储备器:2kx8需 32 片;字、位扩展:用固定容量、固定位数的芯片扩展成较大容量、较大位数的储备器;如:用 16kx4 的储备芯片扩展成64kx8的储备器: 位扩展:需2 片;字扩展:需4 片;共需芯片: 2x4=8 片;2、储备器芯片片选信号cs的处理芯片介绍: intel 74ls138和 61163-8 译码器 74ls138储备芯片intel6116( 2kx8片选信号的处理方法全译码法:片内寻址未用的全部高位地址线都参与译码,译码输出作为片选信号;部分译码:用片内寻址外的高位地址的一部

44、分译码产生片选信号;线选法: 高位地址线不经过译码,直接 (或经反相器) 分别接各储备器芯片的片选端来区分各芯片的地址;例:用 intel6116 芯片组成 8kb ram,设 cpu为 808(6问题:1 、需要几片6116 ?2 、地址线和数据线各为多少根?设地址线为 20 根),译码器采纳74ls138,3 、每一片的地址范畴是多少?如何确定?是否有重叠区?4 、如何连线?(包括地址线、数据线和状态线)全译码分析: 6116 为 2kx8 芯片, 需组成 8kx8的储备器,只需进行字扩展,需 4 片;要求地址范畴是00000h01fffh, 4 片的地址范畴分别为:第一片:00000h

45、007ffh; 其次片: 00800h 00fffh;第三片:01000h 017ffh;第四片: 01800h 01fffh分析结果:a0a10作为芯片片内寻址;a11a13 作为 74ls 的 a、b、c 端;a14a19 组合产生g1、g2a、g2b部分译码线性译码第六章运算机接口技术一、运算机的接口1. 接口的基本结构2. 接口的电路信号接口对外设连接的信号要求1)数据信号(1) 数字量 : 通常为 8 位二进制数或ascii 代码;(2) 模拟量 : 运算机检测、数据采集或掌握的大量的现场信息等(3) 开关量:一些“0”或“ 1”两个状态的量 2)状态信号状态信息是反映外设当前所处工

46、作状态的信息,以作为cpu与外设间牢靠交换数据的条件;3)掌握信号:用于掌握外设的启动或停止;二、数据传输方式1. 无条件的程序传送方式定义:用程序定时用in 或 out指令进行信息的输入或输出;条件:外设随时都处于数据(设备)预备好状态,无须检测器状态;2. 程序查询传送方式 1)查询输入(1)接口电路(2)程序流程(3)程序编码poll:in al,status_port ; 读状态端口的信息test al,80;设“预备就绪”ready信息在 d7 位je poll;未“预备就绪”,就循环再查in al,data_port ;已“预备就绪”ready=1,就读入数据说明:poll:标号;

47、 in:操作码; al:累加器; status_por:t符号地址; test:检测; je poll :条件转移,结果是0 就返回;2)查询输出(1)接口电路(2)程序流程(3)查询部分的程序为:poll:in al , status_por;t从状态端口输入状态信息 testal, 80h;检查 busy位jne poll; busy就循环等待mov al, store;否就,从缓冲区取数据 out data_por,tal;从数据端口输出其中, status_por是t 状态端口的符号地址;data_por是t store是存放数据单元的地址偏移量;数据端口的符号地址;3. 中断传送方式

48、所谓中断是外设或其他中断源中止cpu 当前正在执行的程序, 而转向为该外设服务 如完成它与 cpu之间传送一个数据)的程序, 一旦服务终止,又返回原程序连续工作;中断传送方式的好处是:大大提高了cpu的工作效率;4、dma传送方式( direct memory access)方式第七章可编程接口芯片技术一、可编程并行接口芯片8255a8255a 是 intel公司生产的可编程并行i/o 接口芯片,有3 个 8 位并行 i/o 口,共24 位,其各端口工作方式由软件编程设定;8255a 是应用最广泛的可编程并行接口芯片,使用便利,通用性强;1. 8255a 的内部结构及引脚功能8255a 是 4

49、0 个引脚双列直播插式芯片,有三个可存取数据的端口,分别是 a 口、b 口、c 口,可以通过编程来设置其工作方式;有一个掌握端口,可以通掌握端口设置8255a 数据端口的工作方式;2. 8255a 的工作方式a 口可工作于方式0、方式 1、方式 2 b 口可工作于方式0、方式 1c口只能工作于方式01) 方式 0基本输入输出在方式 0 下,每一个端口都作为基本的输入或输出口,端口 c 口的高 4 位和低 4 位以及端口 a 口、端口 b 都可独立地设置为输入口或输出口;2) 方式 1单向选通输入输出三个数据端口分为 a、b 两组,分别称为 a 组掌握和 b 组掌握;端口 a 和端口 b 仍作为数据的输入或输出口,端口 c 作为联络掌握信号,被分成两部分,一部分作为端口 a 和端口 b 的联络信号,另一部分仍可作为基本的输入输出口;3) 方式 2双向选通输入输出端口 a 的方式 2 可使 8255a 与外设进行双向通信,既能发送数据,又能接收数据;可采纳查询方式和中断方式进行传输;3.8255a 的编程1.8255a的掌握字1 )方式挑选掌握字2 端口 c置位 / 复位掌握字【例】设 8255a 的 a 口和 b 口工作在方式 0,a 口作为输入端口,接有 8 个开关; b 口为输出端口,接有 8 个发光二极管;系统硬件电路如下列图,不

温馨提示

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

评论

0/150

提交评论