微机原理与汇编语言复习

更新时间:2024-04-12 13:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

指令 助记格式 符 功能 备注 传地送址 指LEA LEA DES,(Dest) ← 偏移量(Src) Src Dest为16位Reg,SrcMem 为令 输 IN 入 输 出 OUT IN Ac,Ac← (Port) Port IN Ac,DX OUT (Port) ←Ac Ac←((DX)) Port,Ac ((DX))←Ac OUT DX,Ac 算 加 ADD ADD EST ,(Dest)←(Src)+(Dest) 术 法 运 算 减法 乘法 逻 辑 运 OR AND AND Dest,Src OR Dest,(Dest)←(Dest)∨(Src) INC Src INC Dest (Dest) ← (Dest) +1 (Dest)-(Src) 加一 结果不回送,后边跟JXX (AX) ← (AL) *(Src);(DX,Src为乘数 AX)← (AX) *(Src) (Dest)←(Dest)∧(Src) 使Dest的某些位强迫清0 使Dest的某些位不带进位值加法 CMP CMP DES,Src MUL MUL Src 算 NOT Src NOT Dest XOR XOR Dest,Src TEST TEST Dest,Src (Dest)∧(Src) (Dest)←(Dest异或 Src) (Dest)←(Dest取反) 强迫置1 不允许使用Imm 使某些位变反,某些位不变 测试某位是否为0 移位 指令 SAR SAR 空出位补0,SAR时空出位不Cnt是移位数 Cnt>1,其值要Dest,Cnt 变 SHR SHR SAR用于有符号数,SHR用于先送到CL Dest,Cnt 无符号数 控 制 转 移 指 令 LOOP LOOP Dest JE/JZ Dest JNE/JNZ Dest JA/JNBE CF=0 AND Z F=0则转移 Dest JAE/JNB CF=0 OR ZF=1则转移 Dest JB/JNAE CF=1 AND ZF=0则转移 无符号数AB ZF=1则转移 相等/等于零 CX-1≠0,则循环 段内直接短转移 Dest JBE/JNA CF=1 OR ZF=1则转移 Dest JG/JNLE SF=OF AND ZF=0则转移 Dest JGE/JNL SF=OF OR ZF=1则转移 Dest JL/JNGE SF≠OF AND ZF=0则转移 Dest JLE/JNG SF≠OF OR ZF=1则转移 Dest 8086指令系统表

题目类型 单选题:每题2分,共30分 填空题:每空1分,共30分 判断题:每题1分,共10分 简答题:每题5分,共20分 编程题:两题共10分

第一章

1 二进制,十进制,十六进制之间的转换 问:二、十六进制数转换成十进制数的规则?

01110001B转换成十进制数等于?

有符号数A≤B 有符号数AB 无符号数A≤B 101= B= H。 2 补码及补码的加法运算

问:正真值补码求法:转为2进制数,最高位取0;负真值补码的求法:对正真值的补码作求补运算:取反加1;如对负真值补码作求补运算,同样可得正真值的补码。[Y]补=01010101B,则[-Y]补= 。

补码加减法的规则:

注意:运算要用补码作,加减法就按通常的加减法,不要转换,最后的结果和对标志位的影响一定是对的。

如已知[X]补=01000001B,[Y]补=11101011B,则[X+Y]补=( )B。

如以8位二进制数为例,X=-67,Y=21,[-X+Y]补=? 又如:MOV AL,10H

ADD AL,20H

执行上述指令后,AL的值?进位标志、全零标志、符号标志、

溢出标志等于多少(溢出的定义:运算结果超出了目标寄存器或目标单元所能表示的范围;加法溢出判断:加数和被加

X+Y=【X+Y】补=[X]补+[Y]补 X-Y=【X-Y】补=[X]补 - [Y]补

数符号位相同,和结果符号位不同)?

3 BCD码和ASCII码

压缩BCD码:每一位十进制数采用4位二进制数表示:如

47=(0100 0111)BCD

ASCII码:

将以下16个字符的ASCII码记下: 字符’0’~’9’,ASCII码为 30h(0+30h)~39h(9+30h) 字符’A’~’F’,ASCII码为 41h(Ah+37h)~46h(Fh+37h)

第二章 微机概述

1 冯诺依曼硬件结构与微机硬件组成

冯诺依曼硬件结构:运算器、控制器、内存、输入设备、输出设

微机硬件组成:由以上5部分+接口+总线,运算器控制器合成CPU,是微机核心。

微型计算机的性能通常取决于微处理器。

总线根据传送内容不同分为数据总线、控制总线、地址总线,

要知道8086地址线20根、地址总线是单向的,由谁发出?

要知道接口的作用

外设必须通过接口和微机相连。 2 微机系统的主要性能指标

字长取决于寄存器和数据总线的位数,故8086CPU的字长

为16位;主频指时钟脉冲发生器所产生的时钟信号的频率,值越高,当然CPU的速度就越快,8086主频10MHz,求时钟周期?

3 微机新技术

8086的流水线技术:?取指?和?指令译码和执行?两个操

作分离,分别由总线接口部件(BIU)和执行部件(EU)完成,时间上可重叠。

4 8086微处理器内部结构

指令队列缓冲器?先进先出?的方式工作,注意与堆栈区分。 数据寄存器:AX,BX,CX,DX。

段寄存器:CS,DS,SS,ES,知道CS和DS名称。 IP:指令指针寄存器,存放下一条要取的指令的地址,与CS

配合构成指令的物理地址。

SI,DI,BX和DS配合构成内存数据的物理地址。

物理地址由地址加法器求得(具体看pp.26和pp.29),如

段基址1111H,偏移地址1111H,物理地址.

标志寄存器:6个状态标志中进位标志要熟练,存放加减法

的进借位值;加法的溢出会判断;ZF和SF;控制标志中的IF:中断允许标志位,如为零则禁止CPU响应可屏蔽中断。

5 处理器的引脚

8086引脚图

引脚电平的有效形式,如RD=0低电平有效,表示正在对存储器或I/O端口读操作。 6 微处理器总线周期

总线操作:经外部总线对存储器或I/O端口进行一次输入输出过程。

指令周期、总线周期、时钟周期的关系:指令周期由几个总

线周期构成,总线周期至少由4个时钟周期构成。

8086的AD0~AD15是地址/数据复用总线,在总线周期的T1时钟周期传递地址信息,在其他时钟周期传输数据。需要的地址信息在T1时钟周期利用ALE引脚锁存,达到地址信息和数据信息分时传输的目的。理解怎么分时传输的?

第三章 8086寻址方式与指令系统 1 指令格式

指令一般由两部分组成:操作码和操作数。 计算机只能识别由二进制代码构成的机器语言。 2 寻址方式

立即寻址 MOV AL,78H(操作数在指令里,即代码段里) 寄存器寻址 MOV AX,BX(操作数在寄存器里)

存储器寻址:包括直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等(操作数在内存数据段,其中要熟练掌握间接寻址)

端口寻址(IN和OUT指令,操作数在接口的端口里) 注:间接寻址。MOV AX,[SI] 此时SI存放的是操作数的偏移地址,段基址在哪?详见pp.56例题。段约定:如指令中指定的寄存器是SI,DI,BX,则段基址在DS;如指定的寄存器是BP,则操作数在堆栈段,段基址在SS,编程时尽量用段约定。

数据的存取规则:低字节存放低地址中,高字节存放高低之中;

反之亦然。

讲解pp.89的习题1。 3 堆栈操作

工作方式:先进后出 指令:PUSH入栈,POP出栈 例题3.17执行结果。 4 端口操作指令

(1) 直接寻址的输入/输出指令(注:PORT为8位端口地址) 输入指令:

IN AL,PORT;PORT端口内容输入到AL

IN AX,PORT;PORT和PORT+1端口内容输入到AX 输出指令:

OUT PORT,AL;AL内容输出到PORT端口

OUT PORT,AX;AX内容输出到PORT和PORT+1两端口 当端口地址为一字节时,可以采用此寻址方式,最多可访问256个端口(00H-FFH)

IN

AL , 42H

OUT 43H , AL IN AX , 60H

2) DX间址的输入/输出指令 输入指令:

IN AL,DX;从DX指向的端口中读一字节到AL

IN AX,DX;从DX和DX+1指向的2个端口读一个字到AX 输出指令:

OUT DX,AL ;将AL内容输出到DX指向的端口 OUT DX,AX ;将AL内容输出到DX指向的端口 将AH内容输出到DX+1指向的端口

端口地址为两个字节时,用此寻址方式,最多可寻址64K个端口(0000H-FFFFH)

MOV DX , 3FDH

IN

AL , DX

MOV AL , ‘A’ MOV DX , 3F8H OUT DX , AL

5)其他指令(pp.65- ) LEA 地址传送指令,例3.23 ADD加法,INC 加1指令

CMP OPR1,OPR2 比较指令,执行减法操作

MUL SRC无符号数乘法指令,如SRC是字节,则与AL相乘,结果送入AX;如SRC是字,则与AX乘,结果—> (DX,AX)

AND AL,0FH 与0与,清零;与1与不变;则本题使AL高4位清零。作用是屏蔽某些位

TEST 测试指令,同逻辑与运算,但不改变源操作数值

OR BL,0F0H 与0或,不变;与1或,置1;则本题使BL的高4位置1。 NOT 逻辑非

XOR DST,SRC 异或指令,与0异或,不变;与1异或,则取反。 【例】 使AL寄存器中的第1、3、5、7位求反,第0、2、4、6位保持不变,可将AL和10101010B(即OAAH)?异或?。 MOV AL,0FH ;AL=0FH

XOR AL,10101010B ;AL=10100l01B(0A5H) MOV CL,3

SAR AL,CL (算数右移,符号位保持不变) MOV CL,3

SHR AL,CL (逻辑右移,最高位补零)

右移即除法,右移3位即除以8;只是逻辑右移用于无符号数,算数右移用于有符号数。

若AL=11011001B,则在分别执行指令SHR AL,1和指令SAR AL,1后,结果为 B和 B。 6 LOOP指令和条件转移指令(pp82-84)

LOOP NEXT 循环次数初值置于CX寄存器,每执行LOOP一次,则CX的值减1,直到CX=0,转向NEXT标号处;也就是说

从NEXT标号处语句要循环执行CX次。

条件转移指令参照书上好好理解,附录也有。

Pp89的4,5,6作业要再做一遍,题7:补全程序,清除偏移地址1000H~0000H字存储单元内容。

第四章 汇编语言程序设计 1 变量的定义(pp.94)

DATA1 DB 12H,34 ;DATA1占两个字节 DATA2 DB 56H,78H ;DATA2占两个字节

DATA3 DW 9ABCH,1EF0H,12H ;DATA3占6个字节,要清楚,从低地址到高地址单元分别是0BCH,9AH,0F0H,1EH,12H,00H;

多字节操作数的存放规则:高字节存入高地址单元。

假如DATA3变量的偏移地址是0004H,则0008H单元的内容?0009H单元内容? 2 伪指令(pp.101)

伪指令又称伪操作,不是由计算机执行,是在汇编期间指示如何汇编,不产生指令码。如1中的变量定义伪指令。

子程序定义伪指令PROC/ENDP,调用用CALL指令。 3 DOS功能调用(pp.112-113)

要求看得懂功能号01和02,如想显示3,补全程序:

MOV AH,02H ;屏幕输出,DL等于输出字符 INT 21H 用到ASCII的知识: 如:

键入?1?,实际写入键盘存储区的是31h 即0011 0001b

键入?A?, 实际写入键盘存储区的是41h 即0100 0001b

又如:欲显示?0?,应把30h→显示存储区 欲显示?F ?,应把46h →显示存储区

将以下16个字符的ASCII码记下: 字符’0’~’9’,ASCII码为 30h(0+30h)~39h(9+30h) 字符’A’~’F’,ASCII码为 41h(Ah+37h)~46h(Fh+37h)

4 具体的编程实例(pp.119)

记住程序的结构,显示结果不要求,但其他语句都要会:包括

段约定语句ASSUME CS:CODE,DS:DATA ; 给数据段寄存器赋值;求和,存放结果。 DATA SEGMENT

AD1 DB 4CH AD2 DB 25H SUM DB ?

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START :MOV AX,DATA

MOV DS,AX ;数据段段基址->DS MOV AL,AD1

ADD AL,AD2 ;两数相加

MOV SUM,AL ;结果存入SUM单元 CODE ENDS END START

第五章 存储器

1 存储器的作用及分类

存储器是记忆部件,存放计算机工作时所需信息:程序和数据。 RAM的定义、特点:随机读写存储器,存储的信息一旦掉电就会丢失。

静态随机存储器SRAM(static RAM)采用稳态电路,不需要

刷新;动态随机存储器DRAM(dynamic RAM)的电荷电容随时间的推移会放电,必须定时刷新。

ROM的定义、特点:正常工作电压下只能读出不能写入,故断电时信息不会丢失。 2 存储芯片的容量

要熟练掌握片内地址线条数和芯片容量间的关系

ROM芯片2764有13根地址线,8根数据线,如要构成一个存储容量为16KB的系统,需几片2764?

ROM芯片容量为8KB,需多少根地址线才能完全寻址对应存储单元?

3 实例pp.156题11。

求出RAM和EPROM的存储容量?地址分配范围?本题采用的是什么译码方式?(3-8译码器控制端有效时,输入二进制CBA=n,则输出Yn有效)

RAM:容量2KB,地址范围 000H~ FFFH EPROM:容量4KB,地址范围 000H~ FFFH 译码方式:全译码法

第六章 输入输出与中断系统

1 接口电路的定义和作用(pp.158)

接口电路:CPU与外设之间的一种电路,是CPU与外设间信息交换的中转站

作用:模/数、数/模转换; 并/串、串/并转换;数据缓冲和锁存;电平转换;地址译码;传递联络信号和控制信号等(至少说出三条,用简要语言)

2 接口的编址方式(pp.159)

两种:统一编址和独立编址

独立编址的优点:采用I/O指令区分端口和存储器,程序更清晰;不占用有限的内存空间

3 CPU和外设间数据传输方式(pp.160)

说明无条件传输,查询传输和中断传输的特点

无条件传输:适用于对简单外设操作,如开关量和发光二极管,总是假设外设准备好,直接用IN、OUT指令。

查询传输:外设不一定准备好,故传输数据之前要不停查询外设的状态,效率低。

中断传输:外设有需要会主动发中断请求,CPU利用效率高。 5 中断处理过程

中断请求,中断响应,中断处理,中断返回。

有些中断请求不可屏蔽,有些请求可以被屏蔽,可屏蔽中断用8259A管理。

断点是响应中断时,主程序 正在执行指令的下一条指令的 地址,保护断点就要将地址送

入堆栈暂存。右图中的断点是 什么?(pp.166)

除断点外,如有其它现场信息 需要保护,一般也送入堆栈暂存。

(pp.166-167)中断向量表:8086/8088CPU可以处理256个中断类型(类型码0~255);每个中断类型都有中断服务程序,入口地址就是中断向量,即256个。中断向量存放在内存从地址00000H开始的1024个单元;要求根据中断类型码写出存放中断向量的内存单元地址.

写中断向量的步骤

n型中断服务程序的偏移地址? 数据段段基址为零,偏移地址为4n开始的两个单元。

n型中断服务程序的段地址? 数据段段基址为零,偏移地址为4n+2开始的两个单元。

注意事项:此处有服务程序的段基址和偏移地址,还有要写入单元的段基址和偏移地址,要注意区分。

如中断类型码为20H,中断服务程序名为INT 20H,则INT20H的偏移地址和段基址在中断向量表中的存放地址分别是多少?

答:偏移地址放入地址为80H开始的两个内存单元 段基址放入82H开始的两个内存单元 6 8259A内部寄存器

8259A内部比较重要的寄存器有中断请求寄存器、中断服务寄存器和中断屏蔽寄存器:中断请求寄存器存放外部的中断请求信号;中断服务寄存器存放正在处理的中断请求,记录为哪个引脚的中断服务,中断屏蔽寄存器可以屏蔽某些引脚的中断请求。

中断结束时,需清除对应的中断服务寄存器ISR的值,这样有新的请求时才能被响应。(pp.172)

第八章 并行接口

1并行通信和串行通行特点:

并行通信:多根数据线同时传输数据。 串行通信:单根。 2 并行接口芯片8255A

8255A有三个传输口:端口A、端口B和端口C,都是8位。 8255A有三种工作方式0,1,2,方式0:基本型输入输出,无条件传输方式,即总假设外设已准备好数据,直接用IN、OUT指令完成。要求掌握工作于方式0下的初始化编程和应用化编程。 工作在方式0的初始化编程:方式选择命令字→控制口 初始化之后,各个端口即可工作。

3 实验1复习:掌握IN、OUT指令的使用方法。 实验一 I/O 端口实验 一、实验目的

1、 熟悉74LS273,74LS244的应用接口方法。

2、掌握用锁存器、三态门扩展简单并行输入、输出口方法。 二、实验设备

MUT—Ⅲ型实验箱、8086CPU模块。 三、实验内容

用常用输入输出芯片244扩展输入,273扩展输出控制开关输入、发光二极指示灯显示输出结果。

1、设计出244、273与8086接口对应硬件电路,并完成连接 2、调试对应244、273、开关硬件接口电路及相应接口软件 3、用开关接输入部分,当拨动开关对应发光二极管亮 4、写出习题部分要求的程序 四、实验原理介绍

实验中两部分电路:开关量输入输出电路,I/O口扩展电路。 assume cs:code code

segment

dx,04a0h ;74LS244地址

start: mov

in al,dx ;读输入开关量 mov

dx,04b0h ;74LS273地址

out dx,al ;输出至LED jmp start code ends end start

如果此题用一片8255替代74LS244输入缓冲器和74LS273输出锁存器?

09机自4班作业未全名单 吴东东 王小龙

09机自4班实验报告未全名单

实验1:马腾,倪粼舸,王庚,吴东东,吴俊,张俊涛,王小龙 实验2:吴俊,张超亮,章小康,鲁苗苗,潘幸鑫

实验3:马腾,唐启航,吴东东,叶福超,张俊涛,王小龙,谢声灯 实验4:张俊涛,王小龙

我的短号:570976 办公室:14-2408

本文来源:https://www.bwwdw.com/article/pfzp.html

Top