微机原理汇编语言与接口技术课后答案【篇一:《微机原理、汇编语言与接口技术》复习练习
题与答案(new)】
lass=txt>一、填空题
1、8086/8088 cpu内部结构按功能分为两部分,即由单元和单元组成。
2、若cpu的数据线宽度为16位,则它的字长为位;地址线宽度为20位,则它的寻址空间为 1mb 。
3、8086cpu为了适应各种应用场合有两种工作模式,即是最小模
式和最大模式。 4、8086/8088cpu复位后,cs的内容为 0ffffh ,
ip的内容为0000h 。
5、8086的16位标志寄存器包括 6 个状态标志位和 3 个控制标志位。
6、计算机的i/o端口地址的编址方式有统一编址和独立编址,
而8086cpu寻址外设采用独立编址方式。
7、cpu与外设间有4种i/o信息传送方式,即无条件传送、查询传送
中断传送、直接存储器存取(dma)。
8、若某输出外设的i/o接中的数据端口地址为100h,要将字节数
据从8086cpu输出到外设的指令是mov dx,100h和out dx,al。
9、响应可屏蔽中断intr的条件是控制标志if= 1。
10、若8253的某一计数器用于输出方波,该计数器的工作方式为;若该计数器输入频率为100khz,输出方波频率为10khz,则计数初
值应设为 10。
11、串行通信协议分为和。
12、波特率是指单位时间内传送二进制数据的位数。
13、8088 组成的系统中,存储器分个不超过字节的段。
14、当8088cpu的intr端输入一个电平时,获得了中断请求。
15、8088工作于最小工作模式时,控制总线由产生,工作于最大
工作模式时,控制总线由总线控制器8288产生。
16、数据的并行i/o方式是以为单位进行传送;数据的串行i/o方式是以为单位进行传送。
17、从地址/数据复用线中分离出地址信息需用逻辑芯片,地址/数
据复用线中的双向数据传送需用逻辑芯片双向缓冲器。
18、中断优先权管理的方法有、和。
19、若8253的某一计数器用于输出方波,该计数器的工作方式为;若该计数器的输
入频率为100khz,输出方波频率为10khz,则计数初值应设置为10。
20、在8259初始化控制字中,和为必写控制字,
21、8237a的四种工作方式为、、、
22、adc0809是型a/d转换芯片,有个模拟通道,
23、串行通信线路有三种连接方式,即和。 24、8086cpu时钟
频率为5mhz时,它的典型总线周期为ns。
25、可编程定时/计数器8253内含个计数器,每个计数器的三个引
脚为、 gate 和 out。
26、8255有多种工作方式, a口有 3 种工作方式,b口有 2 种
工作方式,c口有 1 种工作方式。
27、8086cpu寻址外设为独立编址方式,使用专门的i/o指令为以
及
28、总线是。
29、8259有高电平和边沿两种触发方式。
30、根据中断请求来自外部或来自内部,中断分为硬件中断和软件中断。
31、某微机系统采用一块8253芯片,时钟频率为1mhz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则计数值应设定为
__500__,通道控制字应设定为___36h_或37h____。 32、8086的
中断向量表位于内存的区域,它可以容纳个中断向量,每一个向量
占__4_ _ 个字节。
33、若8086 cpu引脚状态是m/=1,=1,=0,则此时执行的操作是_
34、多片8259a级联时,主片必须采用的嵌套方式是。
35、8251芯片中设立了_、____三种出错标志。
36、8259a共有个可编程的寄存器,它们分别用于接受cpu送来的
_命令字和__操作__命令字。
37、8086cpu的mn/mx引脚的作用是__决定cpu工作在什么模式(最小/最大)__。
38、8086中引脚bhe信号有效的含义表示。
39、一个串行异步通信的字符格式由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是__2400bd__,传送每位信息所占用的时间是
__0.417ms__。
40、cpu在执行in al,dx指令时,
m/ 引脚为电平,
为
41、汇编指令通常包括和两部分。
二、单项选择题
1、8086/8088cpu与慢速的存储器或i/o接口之间为了使速度能匹配,有时需要在( c )状态之间插入若干个等待周期tw 。
a、t1和t2;
b、t2和t3 ;
c、t3和t4;
d、随机。
2、在并行可编程电路8255中,8位的i/o端口共有( c )。
a、 1个;
b、2个;
c、、3个;
d、4 个。
3、可编程定时/计数器电路8253的工作方式共有( d )。
a、3种;
b、4种;
c、5种;
d、6种。
4、8086系统中外设请求总线控制权是通过控制线( c )。
a、nmi;
b、test;
c、hold;
d、intr。
5、可用作总线控制器的接口芯片是( c )。
a、8255;
b、8251;
c、8288;
d、8237a。
6、 pc/xt 机的有效i/o端口地址范围是( b )。
a、0~0ffh;
b、0~3ffh ;
c、0~ffffh;
d、0~fffffh。
7、当微机系统工作在dma方式时,该系统的地址信号是由( b )提供的。
a、微处理器;
b、dma控制器;
c、中断控制器;
d、总线控制器。
8、中断号为16h 的中断向量在中断向量表的首址为( a)。
a、58h;
b、60h;
c、62h;
d、64h。
9、8259的中断屏蔽寄存器为( b )。
a、irr;
b、imr;
c、isr;
d、都不是。
10、dac0832是( b)位的数模转换芯片。
a、4;
b、8;
c、12;
d、16。
11、8088cpu工作在最小模式,( d )引脚接+5v.
a.dt/r
b.wr
c.den
d.mn/mx
12、 cpu对存储器访问时,地址线和数据线的有效时间关系为
( b )。
a.同时有效
b.地址线先有效
c.数据线先有效
d.同时无效
13、常用接口芯片 74ls245是(b)。
a.锁存器
b.缓冲器
c.计数器
d.反相器
14、通常一个外设的状态信息在状态端口内占有( a )位。
a.1
b.2
c.8
d.16
15、通常8088 cpu在( a )时刻采样ready信号,若无效在t3和
t4之间插入tw。
a. t3下降沿
b.t2上升沿
c.t3上升沿
16、8088 cpu中断优先级顺序为(d )。
a.nmi中断、intr中断、软中断
b.nmi中断、软中断、intr中断
c.软中断、intr中断、nmi中断
d.软中断、nmi中断、intr中断
17、若总线频率为8mhz,32位数据传送,总线带宽为( c)。
a.8mb/s
b.16mb/s
c.32mb/s
d.64mb/s d.t4下降沿
18、当微机系统工作在dma方式时,该系统的地址信号是由(b )提供的。
a.微处理器
b.dma控制器
c.中断控制器
d.总线控制器
19、分辨率为16位的dac能给出满量程电压的( d)分辨能力。
a.1/255
b.1/127
c.1/511
d.1/65535
20、 rs-232标准定义的表示数据信号逻辑“1”的电平为( b)。
a.+5v~+15v间任一电压
c.+5vb.-15v~-5v间任一电压
d.0v
21、用8259a管理优先级时,当一个中断请求服务结束后,其中断
源的优先级降为最低,其余中断源优先级也相应变化,这是一种
( a )方式。
a.自动循环 b.完全嵌套 c.特殊循环 d.特殊屏蔽
22、异步通信方式的时钟频率可以选择波特率的( d )倍四种之一。
a.1,2,4,5
b.1,8,16,32
c.2,16,32,64
d.1,16,32,64
23、8255a的方式选择控制字应写入(d)。
a. a口
b. b口
c. c口
d. 控制口
24、两片8259a构成级联方式的中断控制器,可连( c)中断源。
a.8
b.16
c.15
d.24
25、8086cpu用ale的下降沿将t1期间出现的( a )信息锁存在外部地址锁存器中。
a. a0~a19b. c.a和b d.d0~d15
26、若8259a工作在优先级自动循环方式,则irq3的中断请求被响
应并且服务完毕后,优先权最高的中断源是(d)。
a.irq0b.irq2c.irq3 d.irq4
27、最小模式下,数据收发器进行数据接收时,dt/r和den引脚分
别为( c )电平。
a、高,高
b、高,低
c、低,低
d、低,高
28、微处理器与外设传送数据的过程中,只由硬件完成不需软件支
持的方式( a )。
a、dma
b、无条件
c、查询
d、中断
29、当if=0,8088/8086cpu不响应( b )中断请求。
a.int n
b.intr
c.nmi
d.into
30、设串行异步通信时,数据传送的速率是400字符/秒,每个字
符为12位二进制数据,则传送的波特率是 ( c )。
a、1200
b、2400
c、4800
d、9600
三、是非题
2、规则字即存放字数据的存储单元地址必顺为偶地址(√ )。
3、ip中存放的是正在执行的指令的偏移地址(√ )。
5、adc0809是8位逐次逼近型a/d转换芯片(√ )。
7、dma传送方式无需cpu干预,直接进行数据传送( √ ) 。
10、异步通信数据传送速率要比同步通信的低(√)。
11、8086cpu中,数据线d0~d15和地址线a0~a15为复用引脚。(√)
13、执行int 10h时,中服程序的入口地址在00040h开始存放。(√)
16、显示器内存是双端口内存。(√ )
17、可编程定时/计数器8253中含三个独立的16位计数器。(√ )
18、在8259级联系统中,作为主片的8259a的某些ir引脚连接从片,同时也可以在另一些
【篇二:微机原理、汇编语言及接口技术-课后习题答案】五代
1.2 解:
微型计算机:以大规模、超大规模集成电路为主要部件,以集成了
计算机主要部件——控制器和运算器的微处理器为核心,所构造出
的计算机系统。
pc机:pc(personal computer)机就是面向个人单独使用的一类微机。
单片机:用于控制的微处理器芯片,内部除cpu外还集成了计算机的其他一些主要部件,如:rom、ram、定时器、并行接口、串行接口,有的芯片还集成了a/d、d/a转换电路等。
数字信号处理器dsp:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用
1.3 解:
微机主要有存储器、i/o设备和i/o接口、cpu、系统总线、操作系统和应用软件组成,各部分功能如下:
cpu:统一协调和控制系统中的各个部件
系统总线:传送信息
存储器:存放程序和数据
i/o设备:实现微机的输入输出功能
i/o接口:i/o设备与cpu的桥梁
操作系统:管理系统所有的软硬件资源
1.4 解:
系统总线:传递信息的一组公用导线,cpu通过它们与存储器和i/o 设备进行信息交换。
好处:组态灵活、扩展方便
三组信号线:数据总线、地址总线和控制总线。
其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
1.5解:
(1)用于数值计算、数据处理及信息管理方向。采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
(2)用于过程控制及嵌人应用方向。
采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
1.6 解:
1
1.7 解:
i/o通道:位于cpu和设备控制器之间,其目的是承担一些原来由cpu处理的i/o任务,从而把cpu从繁杂的i/o任务中解脱出来。由10根信号线组成(a9-a0)。
1.8解:
bios:基本输入输出系统。
主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备
1.9 解:
基本ram区:640kb
保留ram区:128kb
扩展rom区:128kb
基本rom区:128kb
1.10 解:
(1)、数—用来直接表征量的大小,包括:定点数、浮点数。(2)、码—用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制。
区别:使用场合不同,详见p16.
1.11 解:
(1)
2
(174.66)10?(10101110.10101)2
(174.66)10?(ae.a8)16
(2)
(100011101011.01011)2?(2283.34375)10
(100011101011.01011)2?(8eb.58)16
(3)
(f18a6.6)16?(11110001100010100110.0110)2
(f18a6.6)16?(989350.375)10
1.12 解:
原码反码补码
+3700100101/25h00100101/25h 00100101/25h
-3710100101/a5h11011010/dah 11011011/dbh
1.13
1.14 解:
无符号数:70d
补码有符号数:70d
bcd码:46d
ascii:f
1.15 解:
1)、相加后若出现和大于9,则将和减去10后再向高位进1
2)、若出现组间进位,则将低位加6
1.16 解:
详见课本16页。
1.17 解:
c3 40 20 00
3
1.19 解:
1.20 解:
d:44h d:64h cr:0dh lf:0ah 0:30h sp:20h nul:00h国标码:36 50h 机内码:b6 b0h
第二章
2.1
算术逻辑单元alu、寄存器组和控制器;
总线接口单元biu:管理8088与系统总线的接口负责cpu对接口
和外设进行访问执行单元eu:负责指令译码、执行和数据运算;
8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译
码的指令已经取到了指令队列,不需要等待取指令。而取指令是
cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待
时间,比8位cpu节省了时间,提高了性能。
2.2
8个8位寄存器:ah、al、bh、bl、ch、cl、dh、dl;
8个16位寄存器:累加器ax、基址寄存器bx、计数器cx、数据寄
存器dx、源地址寄存器si、目的地址寄存器di、基址指针bp、堆
栈指针sp。
2.3
标志用于反映指令执行结果或者控制指令执行形式。
状态标志用于记录程序运行结果的状态信息;控制标志用于控制指
令执行的形式。
2.4
例:有运算:3ah+7ch=b6h
作为无符号数运算,没有进位,cf=0;
作为有符号数运算,结果超出范围,of=1.
2.5
8088中每个存储单元有唯一的20位地址,称为物理地址。处理器
通过总线存取存储器数据时,采用这个物理地址。
在用户编程过程中采用的“段地址:偏移地址”的形式称为逻辑地址。将逻辑地址中的段地址左移4位,加上偏移地址就得到物理地址。
1mb最多能分成65536个逻辑段。
4
2.6
代码段:存放程序的指令序列;
堆栈段:确定堆栈所在的主存储区;
数据段:存放当前运行程序的数据;
附加段:附加数据段,用于数据保存。另外串操作指令将其作为目
的操作数的存放区。
2.7
8088的存储空间分段管理,程序设计时采用逻辑地址。由于段地址
在默认的或指定的段寄存器中,所以只需要偏移地址,称为有效地
址ea.
操作数在主存中有以下几种寻址方式:直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址。
2.8
(1)立即数寻址 ax:1200h
(2)寄存器寻址 ax:0100h
(3)存储器直接寻址 ax:4c2ah
(4)寄存器间接寻址 ax:3412h
(5)寄存器间接寻址 ax:4c2ah
(6)基址变址寻址 ax:7856h
(7)相对基址变址寻址 ax:65b7h
2.9
(1)cx为字寄存器,dl为字节寄存器,类型不匹配。
(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。
(3)不允许立即数到段寄存器的传送。
(4)不允许段寄存器之间的直接传送。
(5)数据溢出。
(6)sp不能用于寄存器间接寻址。
(7)格式不对。应为:mov ax,[bx+di]
(8)mov指令的操作数不能是立即数。
2.10
(1)bx得到table的偏移地址,bx=200h.
(2)将立即数8送到al。
(3)换码,al=12h.
2.11
(1)al=89h
(2)al=12h,cf=1,zf=0,sf=0,of=1,pf=1
(3)al=0afh,cf=0,zf=0,sf=1,of=0,pf=1
(4)al=0afh,cf=1,zf=0,sf=1,of=1,pf=1
(5)al=0,cf=0,zf=1,sf=0,of=0,pf=1
(6)al=0ffh,cf=0,zf=0,sf=1,of=0,pf=1
5
【篇三:《汇编语言、微机原理及接口技术(第3版)》
郑初华_课后题解答】
>1.进制转换
3.数据表示范围:
一字节的无符号数表示范围为0~255,有符号数(补码)表示范围为-
l28—+127。一个字的无符号数表示范围为0~65535,有符号数(补码)表示范围为—32768~+32767。n位二进制数的无符号数表示范
围为0~(2n-1),有符号数(补码)表示范围为n-1~(2n-14.35h代表的ascii字符为8421bcd码等价的十进制值为,代表非压缩
8421bcd码等价的十进制值为
5.ffh代表无符号数时等价的十进制值为一1 ,代表反码有符号
数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。
6.--20的8位二进制补码为158的16位二进制补码为009eh,原
码为009eh ,反码为 009eh 。
第2章微机硬件基础
1.计算机系统硬件的五大功能部件及其主要功能?
答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。运算器主要完成算术运算、逻辑运算及移位运算,其中
主要包括算术逻辑运算单元arithmetic logic unit,alu)和暂存数据(原始、中间、结果)的寄存器(register,r)。控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器
program counter,pc)或叫指令指针(instruction pointer,ip)、指
令寄存器(instruction register,ir)、指令译码器(instruction decoder,id)、微操作命令发生器、时序发生器等。
存储器用来记忆程序与数据,它分为内存和外存,内存主要用于存
放正在或正待运行的程序和数据,外存用于存放暂时不运行的程序
和数据。
输入设备是实现将外界的信息输入计算机内部的部件,主要有键盘、鼠标等。
输出设备是实现将计算机内部的信息输出的部件,主要有显示器、
打印机等。
3.请简述计算机系统的构成,并说明软硬件之间的关系。
答:计算机系统由硬件系统和软件系统构成,硬件系统包括运算器、存储器、控制器、输入/输出设备.软件系统包括系统软件和应用软件.硬
件是我们可以看得见摸得着的物理设备,软件是运行计算机硬件上的
程序和数据的集合.他们之间的关系:硬件是基础,软件是灵魂;硬件和
软件相辅相成缺一不可;硬件和软件互相促进发展.
5.微机的主要性能指标有哪些?
答:(1)字长。字长是指cpu可以同时运算或传输的二进制的数据位数。字长越长,速度越快,精度越高,表示范围越大。
(2)速度。在微机的表示速度用的最多的是cpu的主频,单位为ml-
lz或ghz,但实质
上并不一定是主频越高速度越快,如amd提出的pr表示法声称其l.3ghz的速龙xp可以达到l.6ghz的p4的速度。表示速度还有
另外两个单位:次,秒(每秒运算次数)、mips(百万条指令每秒)。
(3)容量。内存容量从原来的kb已上升到mb,2002年上半年以
256mb为主流配置。硬盘容量从原来的mb已上升到gb,目前主要
配置40gb l00gb的硬盘:
(4)外设配置。例如显示器、光驱、声卡、音箱、打印机等。
(5)软件配置。操作系统及其他系统软件和应用软件。
7.8086/8088 cpu为什么要分为biu和eu两大模块?
答:为了使取指和分析、执行指令可并行处理,提高cpu的执行效率。8086/88cpu有两大模块总线接口单元biu和执行单元eu组成。
参见教材《汇编语言、微机原理及接口技术(第2版)》2.3.1节“8086/8088 cpu的内部结构”。
8.简述8086/8088 cpu的两大模块biu和eu的主要功能及组成。答:如图2.2所示。
9.简述8086/8088 cpu的14个寄存器的英文名、中文名及主要
作用。
答:ax(accumulator)(ah、al)累加器,它是汇编编程中最常用的一
个寄存器,主要用于乘除运算、bcd运算、换码、i/o操作、串操作、中断调用等。
bx(base)(bh、bl)基址寄存器,主要用于存放地址、基址(默认相对
于ds段)等。 cx(counter)(ch、cl)计数器,主要用于循环计数、串
操作计数、移位计数(cl)等。
dx(data)(dh、dl)数据寄存器,主要用于l6位乘除、问接i/o、中
断调用等。 bp(base pointer)基址指针,主要用于存放地址、基址(默认相对于ss段)等。 sp(stack pointer)堆栈指针(栈顶指针),主
要用于存放栈顶地址。
si(source index)源变址寄存器,用于存放地址、变址、串操作源变址。
di(destination index)目的变址寄存器,用于存放地址、变址、串
操作目的变址。
cs(code segment)代码段寄存器(代码段),用于存放正在或正待执
行的程序段的起始地址的高l6位二进制数据,即程序段的段地址。, ds(data segment)数据段寄存器(数据段),用于存放正在或正待处
理的一般数据段的起始地址的高l6位二进制数据,即一般数据段的
段地址。
es(extra segment)附加数据段寄存器(附加段),用于存放正在或正
待处理的附加数据段的起始地址的高l6位二进制数据,即附加数据
段的段地址。
ss(stack segment)堆栈数据段寄存器(堆栈段),用于存放正在或正
待处理的堆栈数据段的起始地址的高l6位二进制数据,即堆栈数据
段的段地址。
ip(instruction pointer)指令指针,它的内容始终是下一条待执行指
令的起始偏移地址,与cs一起形成下一条待执行指令的起始物理地址。cs:ip的作用是控制程序的执行流程。
ip
一般会自动加l(逻辑加1、实际随指令长度变化)移向下一条指令实
现顺序执行;若通过指令修改cs或ip的值,则可实现程序的转移
执行。
psw(program status word)程序状态字,它其中有三个控制标志(if、df、tf)和6个状态标志(sf、pf、zf、of、cf、af)。控制标志是用于
控制cpu某方面操作的标志,状态标志是部分指令执行结果的标志。 11.请说明8086/8088 cpu的标志位的英文名、中文名及通用填
充方法。
答:if(interrupt enable flag)中断允许标志,用于控制cpu能否响
应可屏蔽中断请求,if=1能够响应,if=0不能响应。
df(direction flag)方向标志,用于指示串操作时源串的源变址和目
的串的目的变址变化方向,df----1向减的方向变化,df=0向加的方
向变化。
tf(trapflag)陷阱标志(单步中断标志),tf=1程序执行当前指令后暂停,tf=0程序执行当前指令后不会暂停。
sf(sign flag)符号标志,指令执行结果的最高二进制位是0还是l,
为0,则sf=0,代表正数;为l,则sf=1,代表负数。我们一般是用十六进制数表示,则可以根据十六进制的最高位是落在o~7还是落
在8~f之间,若落在0~7之间则sf=0.否则sf=1。
pf(parity check flag)奇偶校验标志,指令执行结果的低8位中1的
个数是奇数个还是偶数个,若为奇数个则pf=0,若为偶数个则pf=1。 zf(zero flag)零标志,指令执行结果是不是为0,若为0则zf=1,否则zf=0。
of(overflow flag)有符号数的溢出标志,指令执行结果是否超出有
符号数的表示范围,若超过则0f=1,否则of=0。我们可以通过判断
是否出现以下四种情况之一:正加正得负,正减负得负,负加负得正,负减正得正。若出现则0f=1.否则of=0.
cf(carry flag)进位/借位标志无符号数的溢出标志),指令执行结果
的最高位是否有向更高位进位或借位,若有则cf=1,同时也代表无
符号数溢出;若无则cf=0,也代表无符号数未溢出。
af(auxiliary carry flag)辅助进位/借位标志,低4位二进制是不是
有向高位进位或借位,若有则af=1,否则af=0,其主要用于bcd修
正运算。
12.内存为什么要分段组织?
答:(1)8086/8088 cpu中的寄存器只有16位,如果采用它们直接寻址,则寻址能力势必限制在64 kb范围内,而采用分段组织可以较好地实现扩展cpu的寻址能力。每段的大小可达64 kb,不同段的组合则可寻址更大的范围。
(2)使程序与数据相对独立,不同存取方式的数据也相对独立。
程序:存放于代码段cs中
ss中
ds及附加段es中
(3)便于程序和数据的动态装配,从一个地方挪到另外一个地方只要更改一下段寄存器的值即可,段内偏移可以不用改变。但内存地址采用分段组织增加地址计算的复杂度,降低了cpu的执行效率。
14.设ds=26fch,bx=108h,si=9a8h,试求出使ds:bx与es:sl指向同一物理地址的es值。
答:即ds:bx=es:si
15.接口、端口、端口地址之间的对应关系如何?
答:一个计算机系统内有很多接口,一个接口内一般有多个端口,一个端口可以有多个端口地址与其对应(这叫重叠地址),一个端口地址可以对应多个端口(但需要继续区分才能访问,如读写顺序、读写信号、数据位、索引区分)。所以通过端口传输信息首先需要区分端口,区分端口可通过端口地址不同来区分。
20.某程序在当前数据段中存放有两个数据l234h和5678h,若已知ds=2010h、偏移量分别为3400h和4501h,请写出这两个数据在存储器中的物理地址。
23500h单元存34h,23501h单元存12h
24601h单元存78h,24602h单元存56h
第3章寻址方式及指令系统
1.指令是指令有两个级别,即机器级和汇编级。
3.指令主要有哪些分类方式及其主要类别是什么?
答:指令分类有不同的方式。按操作数的个数将指令分为零地址指令(无操作数)、一地址指令(只有一个操作数)、二地址指令(有两个操作数)、多地址指令(多于两个操作数);按指令级别分为机器指令和汇编指令:按是否转移分为转移指令和顺序指令;按功能分为七大类:传送类、算术运算类、位操作类、i/o类、串操作类、cpu控制类、转移类;按指令长度(即指令占用的字节数)分为l字节指令、2字节指令等,8086/8088指令长度是不同的,叫变字长,不同的
指令有不同的指令长度,从1~6字节均有;按指令执行期间取操作
数是否需要与总线打交道分为内部指令(不需)和外部指令(需要),类
似功能的指令内部指令比外部指令执行速度快,所以在编程时尽量
采用内部指令即多用寄存器优化程序。
4.操作数的寻址方式有哪些?并举例说明其主要特点。
答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器
寻址方式、端口寻址方式4类.
(1)立即寻址方式:操作对象是这个操作数本身,moval、5
(2)寄存器寻地址:操作对象是寄存器中的内容movax、bx
(3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内
容,mov ax i2000hj
(4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口
中的内容是操作对象 in ax, 46 a,4直接寻址.
6.设cs=1000h,ds=2000h,es=3000h,ss=4000h,ip=100h,sp=200h,bx=300h,bp=400h,si=500h,则①下一条待执行指令
的物理地址为多少?②当前栈顶的物理地址为多少?③[bx]代表的存
储单元的物理地址为多少?④[bp]代表的存储单元的物理地址为多
少?⑤es:[bx+si]代表的存储单元的物理地址为多少?
7.试根据以下要求,分别写出相应的汇编语言指令。
(1)以寄存器bx和dl作为基址变址寻址方式把存储器中的一个字送
到dx寄存器。答:mov dx,[bx+di]
(2)以寄存器bx和偏移量value作为寄存器相对寻址方式把存储器
中的一个字和ax相加,把结果送回到那个字单元。
答:add value[bx],ax
(3)将1字节的立即数086h与以sl作为寄存器间接寻址方式的字节
单元相比较。答:cmp byte ptr[si],086h
(4)将bh的高4位与低4位互换。
答:mov cl,4
ror bh,cl ;或者rol bh,cl
(5)测试bx的第3、7、9、12、13位是否同时为0。
答:test bx,3288h;0011001010001000b
(6)将存放了0~9数值的dl寄存器中的内容转化为相应的~0~~9
的字符。
答:add dl,30h ;或者or dl,30h
(7)将存放了?a?~?f?字符的al寄存器中的内容转化为相应的数值。
答:sub al,37h
10.指出下列指令错误的原因。
答:(1)mov cl,300 ;300超过字节数据表示范围
(2)mov cs,ax;cs不能作为目的操作数
(3)mov bx,dl;数据类型不匹配
(4)mov es,1000h :立即数不能送给段寄存器
(5)inc[bx] ;数据类型不明确 ?
(6)add ax,ds :段寄存器不能参加运算
(7)test bx,[cx] ;存储器间接寻址只能使用bx、sl、dl、bp四个之一
(8)sub [bx],[bp+si] ;加减两个操作数不能同时为存储操作数
(9)jc [si] ;条件转移只有短转移寻址方式
(10)shl bx ;少给一个表明移位次数的操作数,l或cl
12.分别说明下列各组指令中的两条指令的区别。
答:(1)mov ax,table lea ax,table
假设table为字变量名,则:
左为将table单元的内容送ax,右为将table单元的偏移地址送ax 假
设table为字节变量名,则:
左为错误指令,右为将table单元的偏移地址送ax
假设table为常量名,则:
左为将table的内容送ax,右为错误指令
(2)and bl,0fhor bl,0fh
左为将bl的高4位清0,右为将bl的低4位置1
(3)jmp short lljmp nea rptr ll
左为短转移,2字节的指令,转移范围为一l28~+127
右为近转移,l字节的指令,转移范围为--32 768+32 767
左为将bx的值送ax
右为将bx的值作为相对ds段的内存单元偏移地址,取出字单元值送ax
(5)sub dx,cx cmp dx,cx