微机作业
微机原理作业2--答案
作业二的答案
1.8086存储器为什么要采用分段结构,每段的容量有什么要求,为什么?
答:8086CPU拥有20位的地址总线,可访问的最大存储容量为1MB,其物理地址的范围为:00000H~FFFFFH;而8086CPU的内部的寄存器只有16位,能访问最大存储空间为64KB,物理地址范围为:0000H~FFFFH。采用分段管理的办法可扩大对存储器的寻址范围,以适应超过16位的存储器物理结构。
于是将1MB存储器空间分成许多逻辑段,并规定逻辑段不超过64KB,只能从低4位为0000B的地址开始。这样每个存储单元就可以用“段地址:偏移地址”的逻辑地址来表示其准确的物理位置,而且段地址和偏移地址就都可以用16位寄存器表达。
2.8086系统中,段寄存器CS=1200H,指令指针寄存器IP=FF00H,试写出指令的逻辑地
址和物理地址,指向这物理地址的CS值和IP值是唯一的吗?
答:逻辑地址1200H:FF00H
物理地址1200H×16 + FF00H =12000H + FF00H =21F00H
指向这个物理地址的CS值和IP值不是唯一的。例如:CS=2100H,IP=0F00H。
3.8086的1MB分成两个512KB存储体的好处是什么?8088的1MB为什么不分?
答:8086的1MB分成两个512KB存储体的好处就是CPU既可以单独对其中的一个存储体读/写8位数据,也可以对两个存储体中相邻的单元读/写16位数据。也就是说8086CPU 既能进行字节操作也能进行字操作。
8088CPU的1MB存储器没有必要划分成两个512KB的存储体,是因为它的数据总线宽度为8位,在一个总线周期里不能进行16位的数据读写。
微机原理作业题
微机原理作业题
微机原理习题
⽬录
第2章微机运算基础 (2)
第3章 8086/8088微处理器及系统 (4)
第4章汇编语⾔程序设计 (9)
第5章存储器系统 (11)
第6章输⼊输出与中断 (13)
第7章可编程接⼝芯⽚ (15)
第2章微机运算基础
2.1 将下列⼗进制数分别转化为⼆进制数、⼗六进制数、压缩BCD 码。(1)147 (2)4095
2.2 将下列⼆进制数分别转换为⼗六进制数。(1)1010 1011B (2)10 1111 0011B (3)1000 0000B (4)1010 0000 0001B
2.3设机器字长为8位,将下列有符号数表⽰成机器数,并求其反码和补码。(1)X = + 63 (2)Y = - 63 (3)Z = + 117(4)W = - 118
2.4. 设机器字长为16位,将下列有符号数表⽰成机器数,并求其反码和补码。(1)X = + 65 (2)Y = - 65 (3)Z = + 127(4)W = - 128
2.5. 已知有符号数的补码表⽰形式如下,分别求出数的原码与真值。(1)[X]补 = 78H ,机器字长8位(2)[Y]补 = 87H ,机器字长8位(3)[Z]补 = 0FFFH ,机器字长12位(4)[W]补 = 800H ,机器字长12位
2.6.设机器字长为8位,⽤补码计算下列运算,并采⽤双进位法判断运算结果是否溢出。(1)(-89)+ 67 (2)89-(-67)(3)(- 89)- 67 (4)(- 89)-(- 67)
2.7.设机器字长为8位,⽐较下列两数X 和Y 的⼤⼩。
微机作业答案
第一章5. 计算机分哪几类?各有什么特点?传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。6. 简述微处理器、微型计算机及微型计算机系统三者之间有什么不同?微处理器一般也称为CPU,它本身具有运算能力和控制功能。微处理器是微处理器的核心。微型计算机是由CPU、存储器、输入/输出接口电路和系统总线构成的裸机系统。微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机又是微型计算机系统的组成部分。7. 80X86微处理器有几代?各代的名称是什么?从体系结构上可分为3代: (1)8080/8085:8位机。 (2)8086/8088/80286:16位机。(3)80386/80486:32位机。8. CPU在内部结构上由那几部分组成?CPU应具备那些主要功能?CPU在内部结构上由算术逻辑部件(ALU);累加器和通用寄存器组;程序计数(指令指针)、指令寄存器和译码器;时序和控制部件几部分组成。不同CPU的性能指标一般不相同,但一般CPU应具有下列功能:可以进行算术和逻辑运算;可保存少量数据;能对指令进行译码并执行规定的动作;能和存储器、外设交换数据;提供整个系统所需要的定时和控制;可以响应其它部件发来的中断请求。9. 累加器和其他通用寄存器相比有何不同?累加器是比较特殊的通用寄存器。它在某些指令执行前,它可以保存一源操作数,还在执行后又用来保存运算结果,另外它一般也用来完成输入/输出指令。而通用寄存器则一般只用来保存参加运算的数据、运算的中间的结果以及用来保存地址。10. 微处理器的控制信号有那两类?微处理器的控制信号分为两类:一类是通过对指令的译码,由CPU内部产生的,这些信号由CPU送到存储器、输入/输出接口电路和其它部件;另一类是微型计算机系统的其它部件送到CPU的,通常用来向CPU发出请求,如中断请求、总线请求等。11. 8088是多少位的微处理器?为什么?8086是16位的微处理器,其内部数据通路为16位,但是数据总线是8位。12. EU与BIU各自的功能是什么?如何协同工作?EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口
微机原理作业参考答案
微机原理作业参考答案
微机原理作业参考答案
微机原理作为计算机科学与技术专业的一门重要课程,涉及到计算机的硬件结
构与工作原理。学习微机原理需要掌握计算机的基本组成部分、数据表示与运算、指令系统、存储器等相关知识。下面将从这几个方面给出微机原理作业的
参考答案。
一、计算机的基本组成部分
计算机的基本组成部分包括中央处理器(CPU)、存储器和输入输出设备。其中,CPU负责执行计算机的指令,存储器用于存储数据和指令,输入输出设备用于
与外部世界进行信息交互。
二、数据表示与运算
数据在计算机中以二进制形式表示。在二进制数系统中,每一位只有0和1两
个取值。数据的运算包括逻辑运算和算术运算。逻辑运算包括与、或、非等运算,算术运算包括加、减、乘、除等运算。
三、指令系统
指令是计算机执行任务的基本单位,指令系统是计算机的操作系统对计算机硬
件的一种规定。指令系统包括指令的格式、指令的执行方式等。常见的指令格
式有三地址指令、二地址指令和一地址指令等。指令的执行方式有累加器型、
栈型和寄存器型等。
四、存储器
存储器是计算机中用于存储数据和指令的部件。根据存取方式的不同,存储器
可以分为随机存取存储器(RAM)和只读存储器(ROM)。随机存取存储器是
计算机中主要的存储器,用于存储正在运行的程序和数据。只读存储器用于存储不可更改的程序和数据。
五、微机原理作业题示例
1. 请解释什么是指令系统。
指令系统是计算机的操作系统对计算机硬件的一种规定,包括指令的格式、指令的执行方式等。它规定了计算机如何执行任务,是计算机硬件与软件之间的桥梁。
微机原理作业答案(第三章)
3-5
(1)源操作数为立即寻址方式;目标操作数为寄存器寻址方式
(2)源操作数为基址寻址方式;目标操作数为寄存器寻址方式
EA=BX+DISP PA=DS×16+BX+DISP
(3)源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方式
EA=SI PA=DS×16+SI
(4)源操作数为基址加变址寻址方式;目标操作数为寄存器寻址方式
EA=BX+SI PA=DS×16+BX+SI
(5)源操作数、目标操作数都为寄存器寻址方式
(6)源操作数为基址寻址方式;目标操作数为寄存器寻址方式
EA=BX+10H PA=DS×16+BX+10H
(7)源操作数为寄存器间接寻址方式;目标操作数为寄存器寻址方式
EA=BX PA=ES×16+BX
(8)源操作数为带位移量基址加变址寻址方式;目标操作数为寄存器寻址方式
EA=BX+SI+20H PA=DS×16+BX+SI+20H
(9)源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方法
EA=BP PA=SS×16+BP
(10)源操作数为寄存器寻址方式
3-6
(1)源操作数为寄存器寻址方式
(2)源操作数为基址加变址寻址方式
(3)源操作数为基址加比例变址寻址方式
(4)源操作数为比例变址寻址方式
3-7
(1)有错。没有两个基址寄存器相加的寻址方式
(2)有错。两个操作数不能同时为存储器
(3)有错。立即数不能直接送到段寄存器
(4)有错。段寄存器CS不能作为目标操作数
(5)有错。目标操作数不能为立即数
(6)正确。
(7)有错。两段寄存器间不能传送数据
(8)有错。不能直接用“3”表示移3位
微机原理作业及参考答案
第一章计算机基础(P32)
1-3写出下列机器数的真值:
(1)01101110 (2)
(3)01011001 (4)
答案:
(1)+110 (2)-13(原码) -114(反码)-115(补码)
(3)+89 (4)-78(原码)-49(反码)-50(补码)
1-4写出下列二进制数的原码、反码和补码(设字长为8位):
(1)+010111 (2)+101011
(3)-101000 (4)-111111
答案:
(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111
(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011
(3)[x]原= [x]反= [x]补=
(4)[x]原= [x]反= [x]补=
1-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?
(1)00001110 表示原码14,反码14,表示补码为14
(2)表示原码-127,反码-0,表示补码为-1
(3)表示原码-0,反码-127,表示补码为-128
(4)表示原码-1,反码-126,表示补码为-127
1-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位)
(1)[x1+y1]补(2)[x1-y2]补
(3)[x2-y2]补(4)[x2+y2]补
(5)[x1+2*y2]补(6)[x2+y2/8]补
答案:
(1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101
微机原理作业及参考答案
微机原理作业及参考答案-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
第一章计算机基础(P32)
1-3写出下列机器数的真值:
(1)01101110 (2)10001101
(3)01011001 (4)11001110
答案:
(1)+110 (2)-13(原码) -114(反码)-115(补码)
(3)+89 (4)-78(原码)-49(反码)-50(补码)
1-4写出下列二进制数的原码、反码和补码(设字长为8位):
(1)+010111 (2)+101011
(3)-101000 (4)-111111
答案:
(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111
(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011
(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000
(4)[x]原=10111111 [x]反= 11000000 [x]补=11000001
1-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?
(1)00001110 表示原码14,反码14,表示补码为14
(2)11111111 表示原码-127,反码-0,表示补码为-1
(3)10000000 表示原码-0,反码-127,表示补码为-128
(4)10000001 表示原码-1,反码-126,表示补码为-127
1-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位)
微机原理作业与答案第三章
8086第三章作业
3-11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址
(1)1000H 10000H-1FFFFH
(2)1234H 12340H-2233FH
(3)E000H E0000H-EFFFFH
(4)AB00H AB000H-BAFFFH
3-12对于下列CS:IP组合,计算出要执行的下条指令存储器地址。
(1)CS=1000H和IP=2000H 答:下条指令存储器地址:12000H
(2)CS=2400H和IP=1A00H 答:下条指令存储器地址:25A00H
(3)CS=1A00H和IP=B000H 答:下条指令存储器地址:25000H
(4)CS=3456H和IP=ABCDH 答:下条指令存储器地址:3F12DH
3-37 指出下列指令源操作数的寻址方式
(1)MOV AX,1200H;立即数寻址
(2)MOV BX,[1200H];直接寻址
(3)MOV BX,[SI];变址寻址
(4)MOV BX,[BX+SI+1200];相对基变址寻址
(5)MOV [BX+SI],AL;寄存器寻址
(6)ADD AX,[BX+DI+20H];相对基变址寻址
(7)MUL BL ;寄存器寻址
(8)JMP BX ;间接寻址
(9)IN AL,DX ;寄存器间接寻址
(10)INC WORD PTR[BP+50H] ;相对基址寻址
小结:虽然对存储器的访问指令、输入/输出指令(IN指令和OUT指令)、跳转指令(JMP指令)都有直接寻址和间接寻址,但是形式是有很大差别的:1.直接寻址:
(1)对于存储器的访问用方括号括起来的二进制数,
微机原理作业与答案
微机原理作业与答案
5.5 设有⼀个具有13位地址和8位字长的存储器,试问:
(1)存储器能存储多少字节的信息?
(2)如果存储器由1K*4位RAM芯⽚组成,共计需要多少⽚?
(3)需要⽤哪⼏位⾼位地址作⽚选译码来产⽣芯⽚选择信号?
答:(1)存储器能存储8K字节的信息。
(2)如果存储器由1K*4位RAM芯⽚组成,共计需要8KB/1K*4=16⽚。
(3-1)对8088来说,2⽚存储器组成1组,共8组,⽚内地址线A0-A9,A10-A12作为3-8译码器的输⼊作⽚选译码,其输出Y0--Y7作为8组存储器的⽚选线。
(3-2) 对8086来说,4⽚存储器组成1组,共4组,⽚内地址线A1-A10,;另外A0,BHE选择⾼低位库,A11-A13作为3-8译码器的输⼊作⽚选译码,其输出Y0—Y3作为4组存储器的⽚选线。
15-16:01C00H-01FFFH
5.6下列RAM各需要多少条地址线进⾏寻址?多少条数据I/O线?RAM芯⽚地址线条数数据I/O线条数(1) 512×4 9 4
(2) 1K×4 10 4
(3) 1K×8 10 8
(4) 2K×1 11 1
(5) 4K×1 12 1
(6) 16K×4 14 4
(7) 64K×1 16 1
(8) 256 K×4 18 4
5.18
7:00000H-007FFH 8:00800H-00FFFH 9:01000H-017FFH 10:01800H-01FFFH 11:02000H-027FFH 12:02800H-02FFFH
13:03000H-037FFH 14:03800H-03FFFH
微机作业
;设置循环初值DS:[SI]指向数据段源缓冲区开始40000H=4000H×16+0
mov ax,4000h mov ds,ax mov si,0
;设置循环初值ES:[DI]指向附加段目的缓冲区开始A0000H=A000H×16+0
mov ax,0a000h mov es,ax mov di,0 again: mov al,[si] ;循环体:实现数据传送 mov es:[di],al ;每次传送一个字节 movsb inc si ; SI和DI指向下一个单元 inc di loop again ;循环条件判定-循环次数减1,不为0转移(循环)
(1) MOV (2 )MOV (3) MOV (4 )MOV
AX, 2000H AX,[2000H] AX,[BX] AX,[BX+1]
(答案: (1)(2)指令寻址方式不同;(2)(4)指令执行后AX同)
2.设指令执行前DS=9AB8H, BX=873CH,AX=2345H, 分别单独执行下列指令后 AX=?
9-作业讲解
1.书237页习题1(内存RAM区改为20000H~9FFFFH) 分析
地址范围20000H~9FFFFH共有 9FFFFH-20000H+1=80000H字节=8×216字节=512K×8位 6264SRAM (13根地址线,8根数据线) 8K×8b
微机原理作业
1.设8255A在微机系统中,A口、B口、C口以及控制口的地址分别为200H, 201H,202H和203H,实现:
(1) A组与B组均设为方式0,A口、B口均为输入,C口为输出,编程初始化。
(2)在上述情况下,设查询信号从B口输入,如何实现查询式输入(输
入信号由A口输入)与查询式输出(输出信号由C口输出)。
2.设8250串行接口芯片外部的时钟频率为1.8432MHz,要求:
(1) 8250工作的波特率为19200 ,计算波特因子的高低8位分别是多少。
(2)设线路控制寄存器高、低8位波特因子寄存器的端口地址分别为
3FBH,3P9H和3F8H,试编写初始化波特因子的程序段。
3.ADC 0809与CPU连接时,其模拟输入通道的地址选择线由CPU提供。为了确保它对输入信号的可靠转换,是否需要在它们之间加上地址锁存器?
4.设DAC 0832工作于单缓冲方式,其口地址为PORT,参考电压Vref=l0V,用下列程序产生一规则波形:
指出此规则波形是什么形式的波性?并计算出该波形的幅值是多少(取3位有效数字)?
微机原理作业及答案
10050
高4位为0,保留4位 10051
10052
取值,逻辑右移4位
0 0
也可以采用PUSH,POP指令
五、六、七、八章 作业
第五章 作业
1、可编程中断控制器8259A级联使用时,从片的中断请求是如何被响应的? 答:8259A级联使用时,主片设置为特殊全嵌套方式,从片设置为完全嵌套 工作方式。 当从片的某一端IRi收到一个或多个中断请求信号,经过该从片判别本片 的优先级后确定为本片的当前最高优先级。从片INT发出一个请求信号给主片 的IRi,再经过主片的判优确定为本片的最高优先级,通过主片的INT发出一个中 断请求信号给CPU,若果IF=1,CPU发出两个INTA信号:主片收到第一个 INTA信号,设置主片ISR相应位为1,表示中断已经被响应,清除IRR相应位为 0。检查ICW3决定中断请求是否来自从片,则将从片级联地址CAS0~CAS3上 输出给所有从片,只有级联地址与CAS0~CAS3上信息一致的从片被选中。 选通从片收到第一个INTA信号后,将其ISR的相应位置1,表示中断已 经被响应,将IRR中断请求相应位清0。 CPU的第二个INTA信号到达后,选中从片相应中断类型号送到系统总 线低8位。
LEA DI, BUFFER CLD MOV CX,100 REP STOSW HLT CODE ENDS END START
微机作业答案(第三版教材)
微机作业答案(第三版教材)
微机作业答案
CH1
P19
2. 运算器、控制器、存储器、输入设备、输出设备
4.
(1) 29.6875 D
(2) 10010011B,93H
(3) 940D
(4) 01100000B or 96D
(5) FFH, -5BH
(6) -0EH, -72H, -71H, 8EH
(7) (a) 45H or 69D ,no overflow
(b) -6EH or -110D ,no overflow
(c) -46H or -70D , no overflow
(d) -76H , overflow
;补充作业
1.已知数据段12345H单元内容55H,X单元内容为66H,连续执行下列指令后,AL=?,X单元内容=?
MOV AX,1000H
MOV DS,AX
MOV BX,2345H
MOV AL,[BX]
MOV SI,X单元偏移地址
MOV [SI],BL
2. 已知DS=3000H,ES=4000H,BX=1000H,
内存单元地址内容
31000H 34H
31001H 12H
41000H 78H
41001H 56H
请问执行 1. MOV AX,[BX]; AX=?
2.MOV AX,ES:[BX]; AX=?
3. MOV AH,ES:[BX];AH=?
3. 一个有16个字的数据区,它的起始地址为70A0H:DDF6H,请写出这个数据区首末字单元的物理地址。
4. BUF DB 'THE QUICK BROWN FOX'
LL EQU $-BUF
S1 DB 'HELLO'
LLL EQU $-S1
微机技术作业第1-2章
1微型计算机概述
1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?
1.2CPU在内部结构上由哪几部分组成?CPU应具有哪些主要功能?
1.3累加器和其他通用寄存器相比,有何不同?
1.4微处理器控制信号有哪两类?
1.5微型计算机采用总线结构有什么优点?
1.6控制总线传输的信号大致有哪几种?
28086微处理器
2.1总线接口部件有哪些功能?请逐一说明?
2.28086的总线接口部件由哪几部分组成?
2.3段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址是多少?指向这一物理地址的CS值和IP值是唯一的吗?
2.48086的执行部件有什么功能?由哪几部分组成?
2.5状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?
2.68086/8088和传统的计算机相比在执行指令方面有什么不同?
这样的设计思想有什么优点?
2.7总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时
钟周期为多少?一个基本总线周期为多少?若主频为15MHz
呢?
2.8在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态Tw?Tw在哪儿插入?怎样插入?2.9从引腿信号上看,8086和8088有什么不同?
2.10CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?
2.11CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?
微机原理作业参考答案(1,2,3章)
微机原理作业参考答案
第一次:P16 3,4,5,7
1.3 冯。诺依曼计算机的结构特点是什么?
答:
参考P5
1.4 典型微机有哪三大总线?它们传送的是什么信息?
答:
有数据总线(DB,双向,传送数据),地址总线(AB,单向,传送CPU要访问的内存单元地址或IO端口的端口号),控制总线(CB,双向,传送总线控制信息)。
1.5 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?三者有什么区别和联系?
答:
微型计算机系统可分为三个层次,即:微处理器,微型计算机和微型计算机系统。微处理器即CPU,是一片主要包含运算器、控制器、寄存器组和总线访问逻辑电路的芯片;
微型计算机是以微处理器为核心,配上存储器(ROM、RAM)、I/O接口电路及系统总线等所组成的计算机;以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。
1.7 试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?
答:
内存单元、内存单元的地址、内存单元的内容---这三个名词可类比为:房子、房子的地址、房子里住的人。也就是说,内存单元是物理器件,8086CPU有二十根地址线,最多可访问1M(2^20)个内存单元。内存单元按顺序被分配一个地址---第一个单元:0,第二个单元:1...最后一个单元:FFFFFH(或1048575D)。每个内存单元可存储一个字节的数据。图略,参考P7。
第二次作业:P54 1,2,3,6,7,9,11,13
2.1 8086从功能上分为哪两个部件?每个工作部件的功能、组成和特点分别是什么?
微机作业(DOCX页)
作业要求:1. 我把这学期所有作业都发给大家,大家只要完成每周老师讲到的地方即可。
作业不是按次数做,只要是讲过的都要写。
2. 每周一上午精密仪器课前将作业交至我这边,下午微机课我交给老师。
3. 要求准备两本作业本,老师要求必须是本子,不能交纸片。
第一次作业:
2.1 8080/8086CPU指令队列的作用是什么?,为什么指令队列可以提高微处理器的执行速度?
2.2 在存储器中存放的数据如题图2.1所示。
试读出75422H和75424H字节单元的内容是什么?
读出75422H和75424H字单元的内容是什么?
2.3 段地址和偏移地址为1000H:117AH的存储
单元的物理地址是什么?而1109H:00EAH或
1025H:052AH的存储单元的物理地址又是什么?
这说明了什么问题?
2.4 在存储器分段结构中,每个段区最大可占用
多少地址范围,为什么?如果在8086的机器中,若段间不允许重叠,那么最多可分多少个段区?
2.5 如果从存储器的2000H地址开始分配段区,要求数据段占用lKB范围,堆栈段占用512B范围,代码段占用8KB范围。按数据段、堆栈段和代码段的顺序连续分段,试画出存储器分段地址分配示意图,写明各段寄存器的内容? 2.6 简述8086 CPU总线读周期中的工作时序,并说明READY引脚作用?
第二次作业:
1、指出下列指令的源和目标操作数的寻址方式:
①MOV ARRAY,BX
②ADC CX,ALPHA[BX][SI]
③AND GAMMA[DI],11011000B
④INC BL
⑤TEST ES:[SI],DX
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. READY信号功能---书7页
(答案:逻辑地址=2978H:3AE9H 物理地址=2D269H 偏移地址=3AE9H 段地址=2978H)
4.判断哪些是非法指令
MOV [1000H],[2000H] (非法) MOV DS,2000H (非法) MOV DS,BX (合法)
PUSH AL (非法)
内存
78H 56H 5FH 34H 9AH 8EH 65H
mov al,0f1h ;al=0f1h
and al,0f1h ;al=30h
or al,0f1h ;al=fbh
xor al,0f1h ;al=cbh
not al
;al=c5h
3. 编程实现若寄存器BL中是小写字母‘a’,则令BH=0,否则令AH= -1
4. 将两有符号数AX、CX的较小值放DX
5.将DS:[1000H]开始的512字节的数据块传送至首地址为ES:[3000H] 的存储区域
next1: next2:
cmp byte ptr [si],‘A’
;循环体每次比较一个字节‘A’
jnz next2
inc dx
inc si
;SI指向下一个单元
loop next1 ;循环条件判定:循环次数减1,不为0转移(循环)
done: hlt
6-作业
1.按照如下要求定义变量:
(1) my1b为字符串变量 Personal Computer (2) my7c表示字符串 Personal Computer (3) my3b为用十六进制数表示的字节变量 20 (4) my5w为20个未赋值的字变量 (5) my6c为100的常量
mov cx,4000h ;设置循环次数16KB=4000H
;设置循环初值DS:[SI]指向数据段源缓冲区开始40000H=4000H×16+0
mov ax,4000h mov ds,ax mov si,0
;设置循环初值ES:[DI]指向附加段目的缓冲区开始A0000H=A000H×16+0
mov ax,0a000h mov es,ax mov di,0 again: mov al,[si] ;循环体:实现数据传送 mov es:[di],al ;每次传送一个字节 movsb inc si ; SI和DI指向下一个单元 inc di loop again ;循环条件判定-循环次数减1,不为0转移(循环)
;设置循环初值:DS:SI 指向数据段源缓冲区开始40000H
mov ax,4000H
mov ds,ax
mov si,0000H
mov byte ptr [si],55H ;循环体每次写入一个字节55h
inc si ;SI指向下一个单元
loop next1
;循环条件判定:循环次数减1,不为0转移(循环)
inc
si
mov
al,BUFFER ;取1个字节需转换的二进制数的高4位
push
cx
mov
cl,4
shr
al,cl
pop
cx
call
HTOASC
;调16进制数转换成ASCC码子程序
mov hlt;
[si],al
;[si]←ASCII码 1位16进制数转换成1位ASCII 码子程序
HTOASC proc
① 3017H:000AH
② 3015H:002AH,
③ 3010H:007AH 5.若CS=2978H, IP=6572H,求当前指令内存的逻辑地址和物理地址?(答案:
逻辑地址 2978H:6572H 物理地址 2FCF2H)
3-作业答案:
1. 访 问 I/O 时 8086CPU 的 M/IO* 是 什 么 电 平 ? ( 低 电 平 ) 8086CPU的3个最基本的读写控制信号是M/IO*、______ 和______。 (WR*, RD*)
9-作业讲解
1.书237页习题1(内存RAM区改为20000H~9FFFFH) 分析
地址范围20000H~9FFFFH共有 9FFFFH-20000H+1=80000H字节=8×216字节=512K×8位 6264SRAM (13根地址线,8根数据线) 8K×8b
需64片 62256SRAM (15根地址线,8根数据线) 32K×8b
数据段主体部分
molt db
56H
ans dw
?
;代码段主体部分
方法一: 用乘法指令
;存放乘积
mov al,molt
mov bl,20 mul bl
; ax=al×bl=molt×20
mov ans,ax
方法二: 用加法指令循环结构实现乘法运算
mov cx,20
xor ax,0 ;实现ax=0,同时使CF=0
(1) MOV (2 )MOV (3) MOV (4 )MOV
AX, 2000H AX,[2000H] AX,[BX] AX,[BX+1]
(答案: (1)(2)指令寻址方式不同;(2)(4)指令执行后AX同)
2.设指令执行前DS=9AB8H, BX=873CH,AX=2345H, 分别单独执行下列指令后 AX=?
;BX←AX=4×AL
shl ax,1
;AX←8×AL
shl ax,1
;AX←16×AL
add ax,bx
;AX←16×AL+4×AL=20×AL
mov ans,ax
逻辑左移一位相当于无符号数乘以2 逻辑右移一位相当于无符号数除以2
sub ah,ah and ah,0
3.(书115页2.17题)在内存40000H开始的16KB个单元中存放一组数据,试编程顺 序将它们搬移到A0000H开始的顺序16KB个单元中.注: 40000H、A000H为物理地址
需16片 2164 DRAM(书198页) 64K×1b
需64片 21256DRAM 256K×1b
需16片
2.书237页习题7 (内存地址范围40000H~BBFFFH) 分析
BBFFFH-40000H+1=7C000H字节=7C×212字节=496KB
READY 就绪(准备好)
• 输入信号,存储器或I/O口就绪 • 高电平有效表示可以进行数据读写,利用该信号无效请求处理器等待
数据 • 处理器在进行读写前检测READY引脚
– 如果测到高有效,CPU直接进入下一步 – 如果测到无效,CPU将插入等待周期
4-作业答案:
1. (1)(2)指令有何区别?以下哪些指令执行后AX同?(设BX=1FFFH)
2-作业答案:
1.8086CPU访问接口用多少位地址线?可直接寻址多少内存空间?(16 ;1MB) 2.总线信号中决定系统直接寻址存储器范围的是什么总线? (地址总线AB) 3.8086CPU的IP、ES、CL、BH、DX、SS 、SI、SP、AH、CS这些寄存
器中,哪些是8位寄存器?( CL BH AH) 段寄存器?(ES SS CS) 16位通用寄存器?(DX SI SP) 堆栈指针寄存器? (SP) 4.请将下述逻辑地址转化为物理地址 (答案:物理地址皆为3017AH)
mov cx,0C000H
;设置循环次数
mov si,0000H
;SI 指向数据段源缓冲区开始
mov al,81H
;设有错
mov ah,[si]
;循环体每次比较一个字节55h
cmp ah,55h
jnz done:
inc si ;SI和DI指向下一个单元
loop next2
mov al,7EH
hlt
7. (书115页习题2.19)试编程序,统计由40000H开始的16KB个单元中所存放的字 符”A”的个数,并将结果存放在DX中.
1-作业答案:
1. 求(-122)10的原码、反码、补码? 原码=11111010B=FAH 反码=10000101B=85H 补码=10000110B=86H
2. 进行二进制数(B) 、十进制数(D) 、十六进制数(H)之间 的转换
(1) 01101001B= 69
H= 105 D
(2) 3FCAH= 0011111111001010 B
and al,0fh
cmp al,10
jc htoasc1
; <10,转htoasc1
add al,37h
; 是A ~ F,加37H
ret
; 子程序返回
2.(书114页2.7题)试编程将MOLT中的一个8位二进制乘以20,乘积放在 ANS单元及其下一个单元中 注:MOLT中的一个8位二进制数为无符号数
again: add al, molt
adc ah,0
loop again
mov ans,ax
作业2讲解(续)
方法三: 用移位指令实现乘法运算 20=16+4
mov al,molt
xor ah,ah
;实现AH=0,同时使CF=0
shl ax,1
;AX←2×AL
shl ax,1
;AX←4×AL
mov bx,ax
3.编程实现将stt开始的9个无符号数的和放至dtt开始的两个存储单元中
4.将题3写出完整的汇编语言源程序(简化段定义格式)
7-作业
1.(书114页2.5题)试编程将BUFFER中的一个8位二进制转化为ASCII码,并按位数高低顺序 存放在ANSWER之下.注:8位二进制数为2位十六进制数,1位十六进制数转换为1位 ASCII码
BUFFER DB
12H
ANSWER DB mov movFra Baidu bibliotek
2 DUP(?) ;存放ASCII
si,offset ANSWER ;si←存放转换成ASCII码的起始地址指针
al,BUFFER
;取1个字节需转换的二进制数
call mov
HTOASC [si],al
;调16进制数转换成ASCC码子程序 ;[si]←ASCII码
2.程序如下
count
db
80h, 'B',?
maxint
equ
04h
number
dw
maxint
array
db
maxint dup(3)
mov
cx,count
dec
byte ptr array-1
mov
bx,offset number
mov
ah,[bx+2]
mov
al,[bx-2]
hlt
问:程序执行后ax=?cx=?
9-作业
1.书237页习题1(内存RAM区改为20000H~9FFFFH) 2.书237页习题7 3.书237页习题8(图4.71的A17A16改接与门) 4.若用6264SRAM芯片(8K×8位)组成128KB的
存储器系统,问:(电子科大考研题)
(1)需要多少片6264芯片? (2)约定该存储器模块的起始地址为40000H,则该存 储器模块的末地址为多少?
(3) AX=873CH
(4) AX=873CH (5) AX=CCE6H=2345H-565FH [873CH]物理地址A32BC (6) AX=2345H AX不变
3.若DS=2978H, CX=6572H,BX=3AE4H,求指令MOV [BX+5],CX内存操作数 的逻辑地址?物理地址?偏移地址?段地址?
mov cx,4000H
;设置循环次数16KB=4000H
mov si,0000H ;设置循环初值 DS:SI 指向数据段源缓冲区开始 ; 物理地址40000H= 段基地址(DS)4000H*16+偏移地址(SI)0000H
mov ax,4000H
mov ds,ax
mov dx,0
;dx存放结果,初值为0
A32BEH A32BDH A32BCH A32BBH A32BAH A32B9H A32B8H
5-作业
1. 将DX.AX中32位数值除以2(右移一位)
SHR DX,1
RCR AX,1
2. 若指令执行前al=3ah,则分别执行
mov/and/or/xor al,0f1h指令及 not al指令后al=?
(1) MOV AX, [BX-1]
(2) LEA AX, [BX-1]
(3) MOV AX, BX
(4) MOV AX, 873CH
(5) SUB AX, [873CH]
(6) CMP AX,[873CH]
答案: (1) AX=5F34H [BX-1] 物理地址A32BB
(2) AX=873BH=BX-1
6. (书114页习题2.13)试编程将内存从4000H到4BFFFH的每个单元中均写入55H,并再逐个读出比较, 看写入的与读出的确是否一致.若全对,则置AL为7EH;若有错,置AL为81H.
next1: next2: done:
mov cx,0C000H ;设置循环次数4BFFFH- 40000H+1