第一概念与基本知识讲课内容:计算机系统的组成和各部分的作用;数字计算机中的信息表示;*微机系统的结构特点;*8086/88CPU内部结构;*8086/88CPU外部信号;8086/88系统组成和总线时序。
习题:1. 计算机系统的根本功能是什么?完成相应功能的实质是什么?2. 试述微型计算机系统与一般计算机系统的联系和差别。
3. 微型计算机系统有哪些特点?具有这些特点的根本原因是什么?4. 微型计算机系统有哪些功能部件组成?它们各自具有什么结构?采用什么样的结构?5. 试说明程序存储及程序控制的概念。
6. 请说明微型计算机系统的工作过程。
7.试说明微处理器字长的意义。
8. 什么是微处理器?什么是微型计算机?什么是微机系统?它们之间的关系如何?9. 在8088/8086中,逻辑地址FFFF∶0001, 00A2∶37F和B800∶173F的物理地址分别是多少?10. 在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH, D761H 和007BH,请问物理地址388H, 389H, 38AH, 38BH, 38CH和38DH 6个中分别是什么数据?11. PC/XT机中的各种系统支持芯片的功能在815EP为处理器支持核心的PC机中分别由什么部件完成?12. 在基于微处理器的通用微型计算机中,其内部含有哪些部件?13. 微处理器是微型计算机的核心,虽有不同的型号,但它们都具有相同的6个功能,这6个功能是什么?14. 微处理器的内部结构中由哪些功能部件组成?15. 累加器是一个很重要的寄存器,试分析累加器在指令执行过程中的作用是什么?16. 微型计算机是面向总线结构的,系统总线中的地址总线、数据总线和控制总线各有什么用途?17. 以微型机为主体组成的微型计算机系统中,除了微型机以外,还需要配置哪些软件和外部设备?18. 8086/8088 CPU的内部结构有什么特点?19. 从程序员和使用者的角度来划分,8086/8088内部均有两个独立:BIU和EU,请分析它们各有哪些功能?20. 8086/8088内部有哪些通用寄存器?21. 8086/8088 内部有几个段寄存器,阐述各段寄存器的用途?22. 8086/8088 内部标志寄存器中,哪几位属于状态标志,哪几位属于控制标志?其含义分别的什么?23. 8086/8088 CPU 有40条引脚,请按功能对它们进行分类?24. 8086/8088 有两种工作方式,它们是通过什么方法来实现?在最大方式下其控制信号怎样产生?25. MPU与存储器之间的控制信号有哪些,各起什么作用?26. MPU与I/O之间的控制信号有哪些,各起什么作用?27. 存储器的逻辑地址由哪几部分组成?28. 存储器的物理地址是怎样形成的?一个具有20位地址线的CPU,其最大物理地址为多少?29. 分析8086/8088 CPU 最大方式下的读操作时序。
30. 8086/8088 I/O 的读/写周期时序与M 读/写周期的主要差异是什么?31. 8086/8088 CPU 在响应外界中断请求后,需要进入中断响应周期,分析该周期有什么特点?32. 在8088最大方式系统中,20位地址用74LS373锁存器锁存,8位数据线用74LS245总线收发器缓冲,再配上总线控制器8288,画出系统配置图。
※第二8086/88系统指令与汇编程序设计讲课内容:8086 指令系统(4个学时)。
主要讲解8086的基本数据类型、寻址方式和指令系统,重点掌握8086指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。
汇编语言程序设计(6个学时)主要讲解汇编语言程序的设计技巧和编程原理,重点掌握算术运算程序、字符串处理程序、码制转换程序、子程序设计程序、常用DOS和BIOS功能调用程序、汇编语言常用伪指令以及汇编语言和高级语言间的接口。
实验内容:熟悉汇编语言程序设计全过程;用汇编语言进行程序设计;熟悉BIOS与DOS 功能调用方法。
习题:1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量V AL的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?其物理地址是多少?(1)MOV AX,0ABH (2)MOV AX,[100H](3)MOV AX,V AL (4)MOV BX,[SI](5)MOV AL,V AL[BX] (6)MOV CL,[BX][SI](7)MOV VAL[SI],BX (8)MOV [BP][SI],1002.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。
(标出存储的地址)3.设有关寄存器及存储的内容如下:DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20100H]=12H,[20101H]=34H,[20102H]=56H,[20103]=78H,[21200]=2AH,[21201H]=4CH,[21202H]=0B7H,[21203H]=65H。
试说明下列各条指令单独执行后相关寄存器或存储的内容。
(1)MOV AX,1800H (2)MOV AX,BX(3)MOV BX,[1200H] (4)MOV DX,1100[BX](5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI]4.写出实现下列计算的指令序列。
(假定X、Y、Z、W、R都为字变量)(1)Z=W+(Z+X)(2)Z=W-(X+6)-(R+9)5.若在数据段中从字节变量TABLE相应的开始存放了0~15的平方值,试写出包含有XLAT 指令的指令序列查找N(0~15)中的某个数的平方。
(设N的值存放在CL中)6.写出实现下列计算的指令序列。
(假定X、Y、Z、W、R都为字变量)(1)Z=(W*X)/(R+6)(2)Z=((W-X)/5*Y)*27.假定DX=1100100110111001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。
(1)SHR DX,1 (2)SHL DL,1(3)SAL DH,1 (4)SAR DX,CL(5)ROR DX,CL (6)ROL DL,CL(7)RCR DL,1 (8)RCL DX,CL8.试分析下列程序完成什么功能?MOV CL,4SHL DX,CLMOV BL,AHSHL BL,CLSHR BL,CLOR DL,BL9.已知程序段如下:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXINT 20H试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF 及ZF的值分别是什么?(3)程序运行结束时,AX及DX寄存器的值为多少?10.试分析下列程序段:ADD AX,BXJNC L2SUB AX,BXJNC L3JMP SHORTL5如果AX、BX的内容给定如下:AX BX(1)14C6H 80DCH(2)B568H 54B7H问该程序在上述情况下执行后,程序转向何处?11.编写一段程序,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串,则执行NEW_LESS,否则顺序执行。
12.下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。
V AR1 DB 10,2V AR2 DW 5DUP(?),0V AR3 DB ‘HOW ARE YOU?',‘$'V AR4 DD -1,1,013.假定V AR1和V AR2为字变量,LAB为标号,试指出下列指令的错误之处。
(1)ADD V AR1,V AR2 (2)SUB AL,V AR1(3)JMP LAB[SI] (4)JNZ V AR114.对于下面的符号定义,指出下列指令的错误。
A1 DB ?A2 DB 10K1 EQU 1024(1)MOV K1,AX (2)MOV A1,AX(3)CMP A1,A2 (4)K1 EQU 204815.数据定义语句如下所示:FIRST DB 90H,5FH,6EH,69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 5 DUP(?)自FIRST开始存放的是一个四字节的十六进制数(低位字节在前),要求:(1)编一段程序将这个数左移两位、右移两位后存放到自SECOND开始的(注意保留移出部分。
(2)编一段程序将这个数求补以后存放到自FORTH开始的。
16.试编程序将内存从40000H到4BFFFH的每个中均写入55H,并再逐个读出比较,看写入的与读出的是否一致。
若全对,则将AL置7EH;只要有错,则将AL置81H。
17.在当前数据段4000H开始的128个中存放一组数据,试编程序将它们顺序搬移到A000H 开始的顺序128个中,并将两个数据块逐个进行此较;若有错将BL置00H;全对则将BL置FFH,试编程序。
18.设变量A、B、C存放有三个数,若三个数都不为零,则求三个数的和,存放在D中;若有一个为零,则将其余两个也清零,试编写程序。
19.有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束;否则,按顺序将此元素插入表中适当的位置,并修改表长。
20.内存中以FIRST和SECOND开始的中分别存放着两个16位组合的十进制(BCD码)数,低位在前。
编程序求这两个数的组合的十进制和,并存到以THIRD开始的。
21.编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。
加密表为:输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1,3,6,8,0,2,4 22.试编程序,统计由40000H开始的16K个中所存放的字符“A“的个数,并将结果存放在DX中。
23.在当前数据段(DS),偏移地址为DA TAB开始的顺序80个中,存放着某班80个同学某门考试成绩。
按要求编写程序:①编写程序统计≥90分;80分~89分;70分~79分;60分~69分,<60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序中。
②试编程序,求该班这门课的平均成绩为多少,并放在该数据段的A VER中。
24.编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。
25.利用上题的予程序,对80000H开始的256个的数据加上偶校验,试编程序。