




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章1. 什么是冯·诺依曼机?答: 冯·诺依曼于1945 年提出了存储程序的概念和二进制原理,利用这种概念和原理设计的电子计算机系统统称为冯·诺依曼机。它包括运算器、控制器、存储器、输入设备和输出设备五个组成部分。早期的冯·诺依曼机结构上以运算器和控制器为中心,随着计算机体系结构的发展,现在已演化为以存储器为中心的结构。2. 微处理器,微型计算机,微型计算机系统有什么联系与区别?答:微处理器是微型计算机系统的核心,也称为cpu(中央处理器)。主要完成:从存储器中取指令,指令译码;简单的算术逻辑运算;在处理器和存储器或者i/o 之间传送数据;程序流向控制
2、等。微型计算机由微处理器、存储器、输入/输出接口电路和系统总线组成。以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。三者关系如下图:3. 微处理器有哪些主要部件组成?其功能是什么?答:微处理器是一个中央处理器,由算术逻辑部件alu、累加器和寄存器组、指令指针寄存器ip、段寄存器、标志寄存器、时序和控制逻辑部件、内部总线等组成。算术逻辑部件alu 主要完成算术运算及逻辑运算。累加器和寄存器组包括数据寄存器和变址及指针寄存器,用来存放参加运算的数据、中间结果或地址。指令指针寄存器ip 存放要执行的下一条指令的偏移地址,顺序执行指令时,每取一条指令增加相应计数。段寄存器存
3、放存储单元的段地址,与偏移地址组成20 位物理地址用来对存储器寻址。标志寄存器flags 存放算术与逻辑运算结果的状态。时序和控制逻辑部件负责对整机的控制:包括从存储器中取指令,对指令进行译码和分析,发出相应的控制信号和时序,将控制信号和时序送到微型计算机的相应部件,使cpu内部及外部协调工作。内部总线用于微处理器内部各部件之间进行数据传输的通道。(3)1238d=2326q=4d6h (4)92d=134q=5ch12. 将下列十进制数转换为8 位有符号二进制数。(1)+32 (2)-12 (3)+100 (4)-9答:(1)+32原=+32反=+32补=00100000b(2)-12原=1
4、0001100b -12反=11110011b(3)+100原=+100反= +100补=01100100b(4)-92原=11011100b -92反=10100011b13. 将下列十进制数转换为压缩和非压缩格式的bcd 码。(1)102 (2)44 (3)301 (4)1000答:(1)102压缩bcd=00000001 00000010b102非压缩bcd=00000001 00000000 0(2)44压缩bcd=01000100b44非压缩bcd=00000100 0(3)301压缩bcd=00000011 00000001b301非压缩bcd=00000011 00000000
5、0(4)1000压缩bcd=00010000 00000000b1000非压缩bcd=00000001 00000000 014. 将下列二进制数转换为有符号十进制数。(1)10000000b (2)00110011b (3)答:(1)看作原码时真值为-0,看作反码时真值为-127,看作补码时真值为-128(2)+51(3)看作(4)看作原码时真值为-9,看作反码时真值为-118,看作补码时真值为-119第二章1. 8086cpu 内部由哪两部分组成?它们的主要功能是什么?答:8086cpu 内部由执行单元 eu 和总线接口单元 biu 组成。主要功能为:执行单元 eu 负责执行指令。它由算术
6、逻辑单元(alu)、通用寄存器组、16 位标志寄存器(flags)、eu 控制电路等组成。eu 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。数据在 alu 中进行运算,运算结果的特征保留在标志寄存器 flags 中。总线接口单元 biu 负责 cpu 与存储器和 io 接口之间的信息传送。它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。2. 8086cpu 中有哪些寄存器?各有什么用途?答:8086cpu 内部包含4 组16 位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。(1)通用寄存器组 包含4 个
7、16 位通用寄存器 ax、bx、cx、dx,用以存放普通数据或地址,也有其特殊用途。如ax(al)用于输入输出指令、乘除法指令,bx 在间接寻址中作基址寄存器,cx 在串操作和循环指令中作计数器,dx 用于乘除法指令等。(2)指针和变址寄存器 bp、sp、si 和di,在间接寻址中用于存放基址和偏移地址。(3)段寄存器 cs、ds、ss、es 存放代码段、数据段、堆栈段和附加段的段地址。(4)指令指针寄存器ip 用来存放将要执行的下一条指令在现行代码段中的偏移地址。(5)标志寄存器flags 用来存放运算结果的特征。3. 8086cpu 和8088cpu 的主要区别是什么?答:8088cpu
8、的内部结构及外部引脚功能与8086cpu 大部分相同,二者的主要不同之处如下:(1)8088 指令队列长度是4 个字节,8086 是6 个字节。(2)8088 的biu 内数据总线宽度是8 位,而eu 内数据总线宽度是16 位,这样对16位数的存储器读/写操作需要两个读/写周期才能完成。8086 的biu 和eu 内数据总线宽度都是16 位。(3)8088 外部数据总线只有8 条ad7ad0,即内部是16 位,对外是8 位,故8088也称为准16 位机。(4)8088 中,用io/m信号代替m/io信号。(5)8088 中,只能进行8位数据传输,bhe不再需要,改为ss0,与dt/r 和io/
9、m一起决定最小模式中的总线周期操作。4. 简要解释下列名词的意义:cpu,存储器,堆栈,ip,sp,bp,段寄存器,状态标志,控制标志,物理地址,逻辑地址,机器语言,汇编语言,指令,内部总线,系统总线。答:cpu:中央处理器,是整个计算机系统的控制中心,主要功能是进行算术和逻辑运算,以及发出各种控制信号以协调整个系统正常工作。存储器:是计算机系统中的记忆元件,用于存储指令和数据。堆栈:在存储器中开辟的一个区域,用来存放需要暂时保存的数据。其操作特点是先进后出。ip:指令指针寄存器,用来存放将要执行的下一条指令在现行代码段中的偏移地址。sp:堆栈指针寄存器,用于指向当前栈顶单元。bp:基址指针,
10、间接寻址中用于存放基址,隐含段地址为ss。段寄存器:用于存放逻辑段的段地址。状态标志:sf、zf、of、af、pf 和cf,反映运算结果的状态特征。控制标志:if、df 和tf,对可屏蔽中断、字符串操作指针变换方向和单步运行起控制作用。物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址,是cpu 访问存储器的实际寻址地址,对于8086 系统,地址范围为00000hfffffh。逻辑地址:由段基址和偏移地址组成,均为无符号的16 位二进制数,程序设计时采用逻辑地址,可由逻辑地址变换为物理地址,物理地址=段基址×16+偏移地址。机器语言:直接用二进制代码指令表达的计算机语言,指令
11、是用0 和1 组成的一串代码,计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言,是第一代计算机语言。汇编语言:使用助记符表示的二进制代码指令语言,是一种符号化的机器语言,必须经编译程序将汇编语言编译成机器语言,计算机才能识别。指令:能被计算机识别并执行的二进制代码,规定了计算机能完成的某一操作。内部总线:微处理器内部各个部件之间传送信息的通道。系统总线:微处理机机箱内的底板总线,用来连接构成微处理机的各个插件板,如isa总线、eisa 总线、pci 总线等。5. 要完成下述运算或控制,用什么标志位判别?其值是
12、什么?(1)比较两数是否相等 (2)两数运算后结果是正数还是负数(3)两数相加后是否溢出 (4)采用偶校验方式,判定是否要补1(5)两数相减后比较大小 (6)中断信号能否允许答:(1)zf,两数相减,若zf=1,则相等。(2)sf,sf=1 则为负,否则为正(3)对有符号数:of,of=1 为溢出;对无符号数:cf,cf=1 为溢出(4)pf,pf=1,不补1(5)对有符号数:无溢出时(of=0),如 zf=1,则两数相等;如 zf=0 且 sf=0,则被减数大;如 zf=0 且 sf=1,则减数大; 有溢出时(of=1),如 sf=1,则被减数大;如sf=0,则减数大; 对无符号数:如 zf
13、=1,则两数相等;如 cf=0,则被减数大;如 cf=1,则减数大(6)if,if=1,允许中断6. 8086 系统中存储器采用什么结构?用什么信号来选中存储体?答:8086 系统中,存储器采用分体结构,1mb 的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512kb。使用a0 和bhe 来区分两个存储体。当a0=0 时,选中偶地址存储体,与数据总线低8位相连,从低8 位数据总线读/写一个字节。当bhe =0 时,选中奇地址存储体,与数据总线高8 位相连,从高8 位数据总线读/写一个字节。当a0=0,bhe =0 时,同时选中两个存储体,读/写一个字。9. 段寄存器装入如下数据,写
14、出每段的起始和结束地址。(1)1000h (2)1234h (3)2300h (4)e000h (5)ab00h答:(1)10000h1ffffh(2)12340h2233fh(3)23000h32fffh(4)e0000heffffh(5)ab000hbafffh10. 根据下列cs:ip 的组合,求出要执行的下一条指令的存储器地址。(1)cs:ip=1000h:2000h (2)cs:ip=2000h:1000h(3)cs:ip=1a00h:b000h (4)cs:ip=3456h:ab09h答:(1)12000h (2)21000h (3)25000h (4)3f069h11. 求下列寄
15、存器组合所寻址的存储单元地址:(1)ds=1000h,di=2000h (2)ss=2300h,bp=3200h(3)ds=a000h,bx=1000h (4)ss=2900h,sp=3a00h答:(1)12000h (2)26200h (3)a1000h (4)2ca00h12. 若当前ss=3500h,sp=0800h,说明堆栈段在存储器中的物理地址,若此时入栈10 个字节,sp 内容是什么?若再出栈6 个字节,sp 为什么值?答:物理地址:35000h35800h。入栈 10 个字节后 sp 为 7f6h。再出栈 6 个字节后 sp为 7fch。14. 存储器中每段容量最多64k 字节,
16、若用debug 调试程序中的r 命令,在屏幕上有如下显示:c:>debug-rax=0000 bx=0000 cx=0079 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=10e4 es=10f4 ss=21f0 cs=31ff ip=0100 nv up di pl nz na po nc(1)试画出此时存储器分段示意图(2)写出状态标志of、sf、zf、cf 的值答:(1)代码段首地址:31ff0h 当前指令地址:320f0h数据段首地址:10e40h堆栈段首地址:21f00h 堆栈段栈顶地址:31eeeh附加段首地址:10f40h(2)of=s
17、f=zf=cf=015. 说明8086 系统中“最小模式”和“最大模式”两种工作方式的主要区别是什么?答:为了便于组成不同规模的系统,在8086 芯片中设计了两种工作模式,即最小模式和最大模式。最小模式用于单机系统,系统中所需要的控制信号全部由8086 直接提供;最大模式用于多处理机系统,系统中所需要的控制信号由总线控制器8288 提供。16. 8086 系统中为什么要用地址锁存器?8282 地址锁存器与cpu 如何连接?答:为了减少引脚的数量,8086cpu 的地址引脚和数据引脚分时复用,为了保证在总线操作周期中地址信号能有效而稳定的输出,必须使用地址锁存器。由于8086 有20 条地址线,
18、故需使用三片8282,其中oe 接地,stb 与cpu 的ale相连,前两片8282 的di0di7 分别与cpu 的ad0ad15 相连,第三片8282 的di0di3 分别与cpu 的ad16ad19 相连,di4 与cpu 的bhe 相连。17. 哪个标志位控制cpu 的intr 引脚?答:if,中断允许标志,if=1 时,允许可屏蔽中断,if=0 时,禁止可屏蔽中断。18. 什么叫总线周期?在cpu 读/写总线周期中,数据在哪个机器状态出现在数据总线上?答:cpu 完成一次存储器访问或i/o 端口操作所需要的时间称为一个总线周期,由几个t状态组成。在读/写总线周期中,数据在t2t4 状
19、态出现在数据总线上。20. 8086cpu 重新启动后,从何处开始执行指令?答:重新启动后,cs=ffffh,ip=0000h,故从物理地址为ffff0h 的位置开始执行指令。21. 8086cpu 的最小模式系统配置包括哪几部分?答:8086 最小模式系统配置包括:8086cpu,存储器,i/o 接口芯片,1 片8284 时钟发生器,3 片8282 地址锁存器,2 片8286 双向数据总线收发器。第三章1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。(1)mov ax,2408h (2)mov cl,0ffh (3)mov bx,si(4)mov 5bx,bl (5)mov
20、bp+100h,ax (6)mov bx+di,$(7)mov dx,es:bx+si (8)mov valbp+di,dx(9)in al,05h (10)mov ds,ax答:(1)立即数,寄存器 (2)立即数,寄存器 (3)寄存器间接,寄存器(4)寄存器,寄存器相对 (5)寄存器,寄存器相对 (6)立即数,基址变址(7)基址变址,寄存器 (8)寄存器,相对基址变址(9)直接端口寻址,寄存器 (10)寄存器,寄存器2. 已知:ds=1000h,bx=0200h,si=02h,内存10200h10205h 单元的内容分别为10h,2ah,3ch,46h,59h,6bh。下列每条指令执行完后a
21、x 寄存器的内容各是什么?(1)mov ax,0200h (2)mov ax,200h (3)mov ax,bx(4)mov ax,3bx (5)mov ax,bx+si (6)mov ax,2bx+si答:(1)0200h (2)2a10h (3)0200h(4)5946h (5)463ch (6)6b59h3. 设ds=1000h,es=2000h,ss=3500h,si=00a0h,di=0024h,bx=0100h,bp=0200h,数据段中变量名为val 的偏移地址值为0030h,试说明下列源操作数字段的寻址方式是什么?物理地址值是多少?(1)mov ax,100h (2)mov a
22、x,val (3)mov ax,bx(4)mov ax,es:bx (5)mov ax,si (6)mov ax,bx+10h(7)mov ax,bp (8)mov ax,valbpsi(9)mov ax,valbxdi (10)mov ax,bpdi答:(1)直接,10100h (2)直接,10030h (3)寄存器间接,10100h(4)寄存器间接,20100h (5)寄存器间接,100a0h (6)寄存器相对,10110h(7)寄存器间接,35200h (8)相对基址变址,352d0h(9)相对基址变址,10154h (10)基址变址,35224h4. 写出下列指令的机器码(1)mov
23、al,cl (2)mov dx,cx (3)mov bx+100h,3150h答:(1)10001010 11000001b(2)10001011 11010001b(3)11000111 10000111 00000000 00000001 01010000 00110001b5. 已知程序的数据段为:data segmenta db $,10hb db computerc dw 1234h, 0ffhd db 5 dup(?)e dd 1200459ahdata ends求下列程序段执行后的结果是什么。mov al, amov dx, cxchg dl, amov bx, offset b
24、mov cx, 3bxlea bx, dlds si, eles di, e答:mov al, a al=24hmov dx, c dx=1234hxchg dl, a dl=24h, a=34hmov bx, offset b bx=2mov cx, 3bx cx=5550hlea bx, d bx=000ehlds si, e ds=1200h, si=459ahles di, e es=1200h, di=459ah6. 指出下列指令中哪些是错误的,错在什么地方。(1)mov dl,ax (2)mov 8650h,ax (3)mov ds,0200h(4)mov bx,1200h (5)
25、mov ip,0ffh (6)mov bx+si+3,ip(7)mov ax,bxbp (8)mov al,es:bp (9)mov dl,sidi(10)mov ax,offset 0a20h (11)mov al,offset table(12)xchg al,50h (13)in bl,05h (14)out al,0ffeh答:(1)长度不匹配 (2)立即数不能做目的操作数(3)段寄存器不能用立即数赋值 (4)两个内存单元不能直接传送数据(5)ip 不能用指令直接修改 (6)指令中不能出现 ip(7)bx/bp 应与 si/di 搭配 (8)正确(9)si/di 应与 bx/bp 搭配
26、 (10)offset 后应跟内存单元(11)偏移地址为16 位,al 长度不够 (12)立即数不能用于xchg(13)in 必须用 al/ax (14)操作数顺序反向;地址应为 8 位9. 下列指令完成什么功能?(1)add al,dh (2)adc bx,cx (3)sub ax,2710h(4)dec bx (5)neg cx (6)inc bl(7)mul bx (8)div cl答:(1)al+dhal (2)bx+cx+cfbx (3)ax-2710hax(4)bx-1bx (5)0-cxcx (6)bl+1bl(7)ax*bxdx,ax (8)ax/cl 商al,余数ah14.
27、在下列程序段括号中分别填入以下指令(1)loop next (2) loope next (3) loopne next试说明在这三种情况下,程序段执行完后,ax,bx,cx,dx 的内容分别是什么。start: mov ax,01hmov bx,02hmov dx,03hmov cx,04hnext: inc axadd bx,axshr dx,1( )答:(1) ax=05h bx=10h cx=0 dx=0(2) ax=02h bx=04h cx=03h dx=01h(3) ax=03h bx=07h cx=02h dx=016. 中断向量表的作用是什么?它放在内存的什么区域内?中断向量
28、表中的什么地址用于类型3 的中断?答:中断向量表用来存放中断服务程序的入口地址。8086 的256 类中断的入口地址要占用1k 字节,位于内存00000h003ffh 的区域内。中断向量表中0000ch0000fh 用于类型3 的中断。17. 设类型2 的中断服务程序的起始地址为0485:0016h,它在中断向量表中如何存放?答:物理地址 内容00008h 16h00009h 00h0000ah 85h0000bh 04h18. 若中断向量表中地址为0040h 中存放240bh,0042h 单元里存放的是d169h,试问:(1)这些单元对应的中断类型是什么?(2)该中断服务程序的起始地址是什么
29、?答:(1)10h(2)d169h:240bh19. 简要说明8086 响应类型04 中断的条件是什么?答:类型0:除法错中断执行除法指令时,若除数为0 或所得商超过寄存器能容纳的范围,则自动产生类型0中断。类型1:单步中断若cpu 的单步标志tf=1,则每执行完一条指令后,自动产生类型1 中断。类型2:不可屏蔽中断nmi当8086 的nmi 引脚上接收到由低变高的电平变化时,将自动产生类型2 中断。类型3:断点中断若在程序中某位置设置断点,当程序执行到该断点时,则产生类型3 中断。类型4:溢出中断若溢出标志of=1,则可由溢出中断指令into 产生类型4 中断。第四章1. 下列变量各占多少字
30、节?a1 dw 23h,5876ha2 db 3 dup(?),0ah,0dh, $a3 dd 5 dup(1234h, 567890h)a4 db 4 dup(3 dup(1, 2,abc)答:a1 占4 个字节a2 占6 个字节a3 占40 个字节a4 占60 个字节2. 下列指令完成什么功能?mov ax,00ffh and 1122h+3344hmov al,15 ge 1111bmov ax,00ffh le 255+6/5and al, 50 mod 4or ax, 0f00fh and 1234 or 00ffh答:(1)将0066h 传送给ax(2)将0ffh 传送给al(3)
31、将0ffffh 传送给ax(4)and al,02h(5)or ax,00ffh3. 有符号定义语句如下:buf db 3,4,5,123abuf db 0l equ abuf-buf求l 的值为多少?答:l=64. 假设程序中的数据定义如下:par dw ?pname db 16 dup(?)count dd ?plenth equ $-par求plenth 的值为多少?表示什么意义?答:par 的偏移地址为0,plenth 当前偏移地址$=2+16+4=22, $-par=22,故plenth的值为22。若在plenth 所在行有变量定义,则$表示该变量的偏移地址,即$表示plenth 所
32、在行的当前偏移地址。故plenth 表示从当前行到par 之间定义的变量所占的字节个数。5. 对于下面的数据定义,各条mov 指令执行后,有关寄存器的内容是什么?da1 db ?da2 dw 10 dup(?)da3 db abcdmov ax, type da1mov bx, size da2mov cx, length da3答:ax=1,bx=20,cx=16. 下段程序完成后,ah 等于什么?in al, 5fhtest al, 80hjz l1mov ah, 0jmp stopl1: mov ah, 0ffhstop: hlt答:讨论从端口5fh 输入的数据最高位的情况。若最高位为1
33、,则ah=0;若最高位为0,则ah=0ffh。8. 编两个通过过程完成将ax 中存放的二进制数转换成压缩型bcd 码以及将bcd 码转换成二进制数。答:(1)将ax 中的二进制数先后除以1000,100 和10,每次除法所得的商,即是bcd 数的千位、百位和十位数,余数是个位数。子程序名:b2tobcd输入参数:ax=十六位二进制数输出参数:cf=0,则ax=4 位压缩型bcd 码。cf=1,则要转换的数大于9999,ax 不变。使用寄存器:cx:存放除数,dx:存放中间结果。b2tobcd proc farcmp ax,9999 ;ax>9999,则cf 置1jbe transtcjm
34、p exittran: push cxpush dxsub dx,dx ;dx 清0mov cx,1000 ;计算千位数div cxxchg ax,dx ;商在dx 中,余数在ax 中mov cl,4shl dx,cl ;dx 左移4 位mov cl,100 ;计算百位数div cladd dl,al ;百位数加到dl 中,dx 左移4 位mov cl,4shl dx,clxchg al,ah ;余数保留在al 中sub ah,ahmov cl,10 ;计算十位数div cladd dl,al ;十位数加到dl 中,dx 左移4 位mov cl,4shl dx,cladd dl,ah ;加个位
35、数mov ax,dx ;结果送到ax 中pop dxpop cxexit: retb2tobcd endp(2)将ax 中4 位bcd 码顺序乘以1000,100,10 和1,然后求和即得。子程序名:bcdtob2输入参数:ax=4 位压缩bcd 码输出参数:ax=十六位二进制数使用寄存器:bx:暂存数据,cx:存放乘数,dx:存放中间结果bcdtob2 proc farpush bxpush cxpush dxmov bx,axmov cl,4rol ax,cland ax,000fhmov cx,1000 ;乘以1000mul cxmov dx,axmov ax,bxmov cl,8rol
36、 ax,cland ax,000fhmov cl,100 ;乘以100mul cladd dx,axmov ax,bxmov cl,4shr ax,cland ax,000fhmov cl,10 ;乘以10mul cladd dx,axand bx,000fhadd dx,bxmov ax,dxpop dxpop cxpop bxretbcdtob2 endp9. 编写两个通用过程,一个完成ascii 码转换成二进制数功能,另一个完成ascii 字符显示输出功能。答:(1)将ax 中两位ascii 码先转化成数字,然后ah*10+al。子程序名:asciitob2输入参数:ax=2 位asci
37、i 码输出参数:ax=转换后二进制数使用寄存器:bx,cx,dxasciitob2 proc farpush bxpush cxpush dxmov bx,axsub ah,30hmov al,ahmov cl,10 ;乘以10mul clmov dx,axmov ax,bxsub al,30hmov ah,0add ax,dxpop dxpop cxpop bxretasciitob2 endp(2)使用2 号dos 功能调用显示字符。子程序名:display输入参数:ax=2 位ascii 码输出参数:无使用寄存器:bx,dxdisplay proc farpush bxpush dxmo
38、v bx,axmov dl,ahmov ah,2int 21hmov ax,bxmov dl,almov ah,2int 21hpop dxpop bxretdisplay endp10. 编制两个通用过程,完成十六进制数转换成ascii 码并将ascii 码字符显示。答:(1)子程序名:hextoasc输入参数:ax:4 位十六进制数输出参数:dx,ax:4 位ascii 码,dx 高2 位,ax 低2 位使用寄存器:bx,cx,dxhextoasc proc farpush bxpush cxpush dxmov bx,axmov cl,4 ;转换ah 高4 位shr ax,cland a
39、x,0f00hadd ah,30hcmp ah,3ahjb a1add ah,7a1: mov dh,ahmov ax,bx ;转换ah 低4 位and ax,0f00hadd ah,30hcmp ah,3ahjb a2add ah,7a2: mov dl,ahmov bh,bl ;转换al 高4 位mov cl,4shr bl,cladd bl,30hcmp bl,3ahjb a3add bl,7a3: mov ah,bland bh,0fh ;转换al 低4 位add bh,30hcmp bh,3ahjb a4add bh,7a4: mov al,bhpop dxpop cxpop bxr
40、ethextoasc endp(2)子程序名:displayasc输入参数:dx,ax:4 位ascii 码输出参数:无使用寄存器:bx,cxdisplayasc proc farpush bxpush cxmov bx,dxmov cx,axmov dl,bhmov ah,02hint 21hmov dl,blint 21hmov dl,chint 21hmov dl,clint 21hmov dl,hint 21hpop cxpop bxretdisplayasc endp13. 将键盘上输入的十六进制数转换成十进制数,在屏幕上显示。答:data segmentstring db '
41、;input 4 hex num:',0ah,0dh,'$'num db 10 dup(?)data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axlea dx,string ;显示提示信息mov ah,9int 21hmov bp,4mov dx,0cont: mov cl,4 ;输入4 位十六进制数dxshl dx,cld1: mov ah,1int 21hcmp al,'0'jb d1cmp al,'f'ja d1cmp al,&
42、#39;a'jb a1sub al,7a1: sub al,30hmov ah,0add dx,axdec bpjnz contmov si,0 ;将dx 转换成十进制数,再转换成ascii 码>nummov ax,dxmov dx,0mov bx,10d2: div bxadd dl,30hmov numsi,dlinc sicmp ax,0jz exitmov dx,0jmp d2exit: mov dl,0ah ;显示十进制数mov ah,2int 21hmov dl,0dhint 21hd3: dec simov dl,numsimov ah,2int 21hjnz d3
43、mov ah,4chint 21hcode endsend start14. 将ax 中的无符号二进制数转换成ascii 字符串表示的十进制数。答:将13 题输入过程和输出过程去掉即得。data segmentnum db 10 dup(?) ;转换后ascii 码按倒序存放于numdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov ax, ×××× ;无符号二进制数mov si,0 ;将ax 转换成十进制数,再转换成ascii 码>nummov dx,
44、0mov bx,10d2: div bxadd dl,30hmov numsi,dlinc sicmp ax,0jz exitmov dx,0jmp d2exit: mov ah,4chint 21hcode endsend start17. 编写2 位非压缩型bcd 码相乘的程序。答:转化成加法进行累加运算。data segmentda1 db 09h,09hda2 db 09h,08hresult db 4 dup(0)data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov al,da2+1 ;计算
45、加法次数mov bl,10mul blmov bl,da2mov bh,0add ax,bxmov cx,axcont: mov ah,0 ;通过循环做累加mov al,resultadd al,da1aaamov result,almov al,result+1add al,ahmov ah,0aaaadd al,da1+1aaamov result+1,almov al,result+2add al,ahmov ah,0aaamov result+2,almov al,result+3add al,ahmov ah,0aaamov result+3,alloop contmov ah,4c
46、h ;返回dosint 21hcode endsend start第五章1. 静态ram 与动态ram 有何区别?答:(1)静态ram 内存储的信息只要电源存在就能一直保持,而动态ram 的信息需要定时刷新才能保持(2)静态ram 的集成度比较低,运行速度快,而动态ram 的集成度高,运行相对较慢(3)静态ram 造价成本高,动态ram 价格便宜2. rom、prom、eprom、eeprom 在功能上各有何特点?答:rom 是只读存储器,根据写入方式的不同可以分为四类:掩膜型rom、prom、eprom和eeprom。掩膜型rom 中信息是厂家根据用户给定的程序或数据,对芯片图形掩膜进行两次
47、光刻而写入的,用户对这类芯片无法进行任何修改。prom 出厂时,里面没有信息,用户采用一些设备可以将内容写入prom,一旦写入,就不能再改变了,即只允许编程一次。eprom可编程固化程序,且在程序固化后可通过紫外光照擦除,以便重新固化新数据。eeprom可编程固化程序,并可利用电压来擦除芯片内容,以重新编程固化新数据。3. dram 的cas和ras输入的用途是什么?答:cas为列地址选通信号,用于指示地址总线上的有效数据为列地址;ra 行地址选通信号,用于指示地址总线上的有效数据为列地址。s 为4. 什么是cache?作用是什么?它处在微处理机中的什么位置?答:cache 也称为高速缓存,是
48、介于主存和cpu 之间的高速小容量存储器。为了减少cpu 与内存之间的速度差异,提高系统性能,在慢速的dram 和快速cpu之间插入一速度较快、容量较小的sram,起到缓冲作用,使cpu 既可以以较快速度存取sram 中的数据,又不使系统成本上升过高,这就是cache 的作用。cache 在微处理机中的位置如下图:。7. 用1024×1 位的ram 芯片组成16k×8 位的存储器,需要多少芯片?在地址线中有多少位参与片内寻址?多少位组合成片选择信号?(设地址总线为16 位)答:由于所用的芯片为1024×1 位,构成1024×8 位(即1k×8
49、位)的存储器需要8 片,因此组成16k×8 位的存储器需要16×8128 片。片内有1024 个单元,需要10 根地址线。16 组(每组8 片)存储器需要16 根片选信号,至少需要4 根地址线经译码器输出。8. 现有一存储体芯片容量为512×4 位,若要用它组成4kb 的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线?答:4k×8 / 512×4=16 片每块芯片内有512 个单元,故需要9 根地址线整个存储系统最少需要12 根地址线9. 利用1024×8 位的ram 芯片组成4k×8 位
50、的存储器系统,试用a15a12 地址线用线性选择法产生片选信号,存储器的地址分配有什么问题,并指明各芯片的地址分配。答:组成4k×8 的存储器,那么需要4 片这样的芯片:将a15 取反后分配芯片1 的cs;将a14 取反后分配给芯片2 的cs;将a13 取反后分配芯片3 的cs;将a12 取反后分配给芯片4 的cs。芯片1 的地址范围8000h83ffh、8400h87ffh、8800h8bffh、8c00h8fffh芯片2 的地址范围4000h43ffh、4400h47ffh、4800h4bffh、4c00h4fffh芯片3 的地址范围2000h23ffh、2400h27ffh、2
51、800h2bffh、2c00h2fffh芯片4 的地址范围1000h13ffh、1400h17ffh、1800h1bffh、1c00h1fffh这样会造成地址的重叠。10. 当从存储器偶地址单元读一个字节数据时,写出存储器的控制信号和它们的有效逻辑电平信号。(8086 工作在最小模式)答:8086 发出20 位地址信息和bhe =1,通过地址锁存信号锁存至8282,然后发出m/io=1和rd =0 等控制信号,20 位地址信号和bhe =1 送给存储器,经过译码,选中偶地址单元一字节,将其数据读出,送至数据总线,经过由den =0 和dt/r =0 控制的数据收发器8286传送至cpu。11.
52、 当要将一个字写入到存储器奇地址开始的单元中去,列出存储器的控制信号和它们的有效逻辑电平信号。(8086 工作在最小模式)答:此时要启动2 个写总线周期,第一个写周期将字的低8 位写入存储器奇地址单元,第二个写周期将字的高8 位写入存储器奇地址单元下一个单元。第一个写周期中,bhe =0,第二个写周期中,bhe =1。其余信号m/io=1,wr =0,den =0,dt/r =112. 设计一个64k×8 存储器系统,采用74ls138 和eprom2764 器件,使其寻址存储器的地址范围为40000h4ffffh。答:因为eprom2764 是8k×8 的rom,所以要构
53、成64k×8 的存储器系统,需要8 片eprom2764。其中cpu 的a12a0 直接与8 片eprom 的a12a0 相连(没有考虑驱动能力问题),a15、a14和a13与138 的a、b、c 三个端口相连,其他地址线(a19a16)和m/io组合连到g1、g2a 和g2b 上,确保a19=0、a18=1、a17=0 和a160 即可。第六章1. cpu 与外设交换数据时,为什么要通过i/o 接口进行?i/o 接口电路有哪些主要功能?答:cpu 和外设之间的信息交换存在以下一些问题:速度不匹配;信号电平不匹配;信号格式不匹配;时序不匹配。i/o 接口电路是专门为解决cpu 与外设
54、之间的不匹配、不能协调工作而设置的,处于总线和外设之间,一般应具有以下基本功能:设置数据缓冲以解决两者速度差异所带来的不协调问题;设置信号电平转换电路,来实现电平转换。设置信息转换逻辑,如模拟量必须经 a/d 变换成数字量后,才能送到计算机去处理,而计算机送出的数字信号也必须经d/a 变成模拟信号后,才能驱动某些外设工作。设置时序控制电路;提供地址译码电路。2. 在微机系统中,缓冲器和锁存器各起什么作用?答:缓冲器多用在总线上,可提高总线驱动能力、隔离前后级起到缓冲作用,缓冲器多半有三态输出功能。锁存器具有暂存数据的能力,能在数据传输过程中将数据锁住,然后在此后的任何时刻,在输出控制信号的作用下将数据传送出去。3. 什么叫i/o 端口?一般的接口电路中可以设置哪些端口?计算机对i/o 端口编址时采用哪两种方法?在8086/8088cpu 中一般采用哪些编址方法?答:在cpu 与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为i/o端口。一般的接口电路中可以设置数据端口、状态端口和命令端口。计算机对i/o 端口编址时采用两种方法:存储器映像寻址方式、i/o 单独编址方式。在8086/8088c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业科研面试题及答案
- 名校考试题型及答案
- 2025-2030中国电子健康记录(EHR)行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国电声行业需求趋势及发展策略分析研究报告
- 2025-2030中国生鲜商超行业市场发展分析及竞争格局与投资前景研究报告
- 探索育婴师职业发展路径的学习方法试题及答案
- 渐进式复习2025年税务师考试的策略试题及答案
- 2025-2030中国玻璃纤维增强聚丙烯行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国环保设备行业市场现状供需分析及投资评估规划分析研究报告
- 探索系统架构设计师考试中的多样化应用背景与实践案例试题及答案
- 人教版美术六年级下册全册教学设计教案表格式
- 胖东来服务管理手册
- 课间文明主题班会通用课件
- 语文新课标背景下单元整体教学:六下第4单元大单元设计
- 洛神赋赏析分析课件
- 离婚协议书模板(通用版)下载
- 冀教版数学五年级下册《分数乘分数》课件
- 文本信纸(A4横条直接打印版)模板
- 城市色彩设计指南
- 抗菌药物季度分析报告
- 医疗健康商场商业计划书
评论
0/150
提交评论