




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.三、选择题1、在计算机内部,一切信息的存取、处理和传送都是以d形式进行的。a )ebcdic 码b)ascii 码c)十六进制编码d)二进制编码2、与十进制数56 等值的二进制数是a。a )111000b) 111001c) 101111d )110110四、是非判断题1、在第三代计算机期间出现了操作系统。()2、对于种类不同的计算机,其机器指令系统都是相同的。()3、在计算机中,数据单位bit 的意思是字节。()1. 微处理器,微型计算机和微型计算机系统三者之间有何区别?答:微处理器即cpu ,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算
2、机的核心;一台微型计算机由微处理器、内存储器、i/o 接口电路以及总线构成;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。2. cpu 在内部结构上由哪几部分构成?cpu 应具备哪些主要功能?答: cpu 在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。3. 累加器和其它通用寄存器相比有何不同?答: 累加器是通用寄存器之一,但累加器和其
3、它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果。4. 微型计算机的总线有哪几类?总线结构的特点是什么?答: 微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。6. 计算机 i/o 接口有何用途?试列出8 个 i/o 接口。答: 计算机 i/o 接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。例如:串行通讯口(com 口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接
4、口、显示器接口、音响设备接口、其它通用设备接口(usb 、scsi 等)。7. 现在,计算机主板上一般都包括哪些i/o 接口? i/o 接口卡如何与主板相连?答: 现在,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、usb 接口等。象显示器适配器、网卡、modem 卡等 i/o 接口卡一般通过总线插槽与主板相连。8. 简述系统总线, agp 总线, pci 总线及 isa 总线的作用。答:系统总线是cpu 与存储器及桥接器之间传递信息的通道,agp 总线专门用与连接cpu 与显示器适配器,pci 总线一般用于连接一些高速外设接口作为高速外设与cpu 或内
5、存交换信息的通道,而 isa 总线一般用于连接一些非高速外设接口作为非高速外设与cpu 或内存交换信息的通道。9. 试说明计算机用户,计算机软件,计算机硬件三者的相互关系。.答: 计算机用户,计算机软件系统,计算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。在这里计算机用户是系统的主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完成指定的任务。即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。11. 存储单元的选择由什么信号控制?读、写靠什么信号区分?答:
6、存储单元的选择由地址信号控制,而对存储单元进行读操作还是写操作则要靠读、写信号区分。4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。a. 5bh+32h;b. -08h-15h;c. -51h+(-3dh);d. 2dh+3ch答: a. 产生溢出 , 5bh=01011011b其补码表示的机器数为:0101101132h=00110010b其补码表示的机器数为:00110010相加的结果为:10001101数值最高位向符号位进位,但符号位向前无进位,故产生溢出。b. 不产生溢出 , -08h=-00001000b其补码表示的机器数为:11111000-
7、15h=-00010101b其补码表示的机器数为:11101011相加的结果为 :111100011数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出.c. 产生溢出 ,-51h=-01010001b其补码表示的机器数为:10101111-3dh=-00111101b其补码表示的机器数为:11000011相加的结果为:101110010数值最高位向符号位无进位, 但符号位向前进位,故产生溢出 .d. 不产生溢出 ,2dh=00101101b其补码表示的机器数为:001011013ch=00111100b其补码表示的机器数为:00111100相加的结果为:01101001数值最高位向符号
8、位无进位,符号位向前也无进位,故不产生溢出。6.详细叙述总线缓冲器的作用。答: 总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突,当几路数据都要向总线上传送时,就通过各路的缓冲器来解决,当一路传送时,缓冲器使其它各路数据与总线断开。7.锁存器和寄存器有什么不同?答: 锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。1.8086 从功能上分成了eu和
9、biu 两部分。这样设计的优点是什么?答:传统计算机在执行程序时,cpu总是相继地完成取指令和执行指令的动作,即,指令的提取和执行是串行进行的。而8086cpu在功能上分成了 eu和 biu 两部分, biu 负责取指令, eu负责指令的执行,它们之间既互相独立又互相配合,使得8086 可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,大大提高了cpu和总线的利用率,从而提高了指令的处理速度。.2.8086 cpu 中地址加法器的重要性体现在哪里?答:地址加法器是 8086 cpu的总线接口单元中的一个器件,在 8086 存储器分段组织方式中它是实现存储器寻址的一个关键
10、器件,地址加法器将两个 16 位寄存器中的逻辑地址移位相加,得到一个 20 位的实际地址,把存储器寻址空间从64k 扩大到 1m,极大地扩大了微型计算机的程序存储空间,从而大大提高了程序运行效率。3.8086 cpu 中有哪些寄存器?分组说明用途。哪些寄存器用来指示存储器单元的偏移地址?答: 8086 cpu中有 8 个通用寄存器 ax、bx、cx、 dx、sp、bp、 si 、di ;两个控制寄存器 ip 、fl;四个段寄存器 cs、ds、ss、es。 8 个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。例如, ax专用做累加器,某些指令指定用它存放操作数和运算结果
11、;cx为计数寄存器,在某些指令中做计数器使用;dx为数据寄存器; bx为基址寄存器, bp为基址指针, si 为源变址寄存器,di 为目的变址寄存器,这4 个寄存器在数据寻址中用来存放段内偏移地址(有效地址)或段内偏移地址的一部分; sp为堆栈指示器, 用来存放栈顶有效地址。两个控制寄存器用来存放有关的状态信息和控制信息。例如,标志寄存器fl 用来存放状态标志和控制标志;而指令指针用来存放下一条要取指令的有效地址。四个段寄存器用来存放段地址。例如,cs寄存器用来存放代码段的段地址;ds寄存器用来存放数据段的段地址; ss寄存器用来存放堆栈段的段地址;es寄存器用来存放扩展段的段地址。4.808
12、6 系统中存储器的逻辑地址由哪两部分组成?物理地址由何器件生成?如何生成?每个段的逻辑地址与寄存器之间有何对应关系?答:8086 系统中存储器的逻辑地址由段地址(段首址)和段内偏移地址(有效地址)两部分组成;存储单元的物理地址由地址加法器生成,寻址时,cpu首先将段地址和段内偏移地址送入地址加法器,地址加法器将段地址左移 4 位并与段内偏移地址相加,得到一个 20 位的物理地址。数据段的段地址在 ds寄存器中,段内偏移地址可能在 bx、 bp、si 或 di 寄存器中。代码段的段地址在 cs寄存器中,段内偏移地址在 ip 寄存器中。堆栈段的段地址在 ss寄存器中,段内偏移地址在 sp寄存器中。
13、扩展段的段地址在 es寄存器中,段内偏移地址可能在bx、bp、 si 或 di 寄存器中。5. 设 cpu中各有关寄存器的当前状况为: ss=0a8bh、ds=17ceh、cs=dc54h、bx=394bh、ip=2f39h、sp=1200h,bx 给出的是某操作数的有效地址,请分别写出该操作数、下一条要取的指令及当前栈顶的逻辑地址和物理地址。答:该操作数的逻辑地址为ds:bx=17ce:394bh,物理地址 =17ceh*10h+394bh=1b62bh;下一条要取的指令的逻辑地址为cs:ip=dc54:2f39h,物理地址 =dc54h*10h+2f39h=df479h;当前栈顶的逻辑地址
14、 =ss:sp=0a8b:1200h,物理地址 =0a8bh*10h+1200h=0bab0h。6. 若 ds=157dh时,某操作数的物理地址是 215fah,当 ds=18deh时,该操作数的物理地址是多少?答:该操作数的段内偏移地址 =该操作数的物理地址 -ds=215fah-157d0h=be2ah,故当 ds=18deh时,该操作数的物理地址 =ds*10h+be2ah=18de0h+be2ah=24c0ah7. 设 ax=2875h、bx=34dfh、ss=1307h、 sp=8h,依此执行 push ax、push bx、pop ax、pop cx后栈顶指针变为多少? ax=?
15、bx=? cx=?答:当前栈顶指针 =ss*10h+sp=13070h+8h=13078h,依此执行 push ax、push bx、pop ax、 pop cx后栈顶指针仍为 13078h。但 ax=34dfh,bx=34dfh,cx=2875h。.1. 假定( bx)=637dh,( si )=2a9bh,位移量 d=3237h,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接寻址(3)使用 bx的寄存器寻址(4)使用 bx的间接寻址(5)使用 bx的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址答:(1)立即数寻址的有效地址是当前 ip 的内容;(2)直接寻址
16、,若使用位移量 d=3237h进行,则有效地址为 3237h;(3)使用 bx的寄存器寻址时,操作数在 bx寄存器中,因此无有效地址;(4)使用 bx的间接寻址时,有效地址在 bx寄存器中,即有效地址 =637dh;(5)使用 bx的寄存器相对寻址的有效地址 =(bx)+d=637dh+3237h=95b4h;(6)基址变址寻址的有效地址 =(bx)+( si )=637dh+2a9bh=8e18h;(7)相对基址变址寻址的有效地址 =(bx)+(si )+d=c050h;2. 写出把首地址为 block的字数组的第 6 个字送到 dx寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻
17、址(2)寄存器相对寻址(3)基址变址寻址答:(1)使用寄存器间接寻址,把首地址为 block的字数组的第 6 个字送到 dx寄存器的指令为:mov bx , block add bx , 12 mov dx , bx(2)使用寄存器相对寻址,把首地址为block的字数组的第6 个字送到 dx寄存器的指令为:mov bx, blockmov dx, bx+12(3)使用基址变址寻址,把首地址为block的字数组的第 6 个字送到 dx寄存器的指令为:mov bx, blockmov si, 12mov dx, bx+si3.现有 (ds)=2000h,(bx)=0100h,(si)=0002h
18、,(20100h) 12h,(20101h)=34h,(20102h)=56h,(20103h)=78h,(21200h)=2ah,(21201h)=4ch,(21202h)=b7h,(21203h)=65h,试说明下列各条指令执行完后 ax寄存器的内容。(1)mov ax, 1200h(2)mov ax, bx.(3)mov ax, 1200h(4)mov ax, bx(5)mov ax, bx+1100(6)mov ax, bx+si(7)mov ax, bx+si+1100答:(1)指令 mov ax,1200h执行完后 ax寄存器的内容为1200h;(2)指令 mov ax,bx执行完
19、后 ax寄存器的内容为0100h;(3)指令 mov ax,1200h 是将从物理地址 =( ds)*10h+1200h=21200h开始的两个单元内容送 ax,执行完后 ax寄存器的内容为 4c2ah;(4)指令 mov ax,bx 是将从物理地址 =( ds)*10h+( bx)=20100h开始的两个单元内容送 ax,故执行完后 ax寄存器的内容为 3412h;(5)指令 mov ax,bx+1100 是将从物理地址 =(ds) *10h+(bx)+1100h=21200h开始的两个单元内容送 ax,故执行完后 ax寄存器的内容为 4c2ah;(6)指令 mov ax,bx+si 是将从
20、物理地址 =( ds)*10h+(bx)+(si )=20102h开始的两个单元内容送 ax,故执行完后 ax寄存器的内容为 7856h;(7)指令 mov ax,bx+si+1100 是将从物理地址 =(ds) *10h+(bx)+(si )+1100h=21202h开始的两个单元内容送ax,故执行完后 ax寄存器的内容为 65b7h;4. 假设已知 (ds)=2900h,(es)=2100h,(ss)=1500h,(si)=00a0h,(bx)= 0100h, (bp)=0010h,数据段中变量名 val的偏移地址值为0050h,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
21、(1) mov ax, 0abh(2) mov ax,bx(3) mov ax, 100h(4) mov ax,val(5) mov ax, bx(6) mov ax,es:bx(7) mov ax, bp(8) mov ax,si(9) mov ax, bx+10(10) mov ax,valbx(11) mov ax,bxsi(12) mov ax,bpsi答:(1)在指令 movax,0abh 中,源操作数字段的寻址方式是立即数寻址,其物理地址值 =( cs)*10h+(ip );(2)在指令 movax,bx 中,源操作数字段的寻址方式是寄存器寻址,操作数在bx中,无物理地址;(3)在
22、指令 movax,100h中,源操作数字段的寻址方式是直接寻址,其物理地址值 =(ds)*10h+100=29000h+100h=29100;(4)在指令 movax,val 中,源操作数字段的寻址方式是直接寻址,其物理地址值=( ds)*10h+50h=29000h+50h=29050h;(5)在指令 mov ax,bx中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ds)*10h +( bx)=29000h+100h=29100h;(6)在指令 movax,es:bx中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值 =(es)*10h+(bx) =21000h+100h
23、=21100h;.(7)在指令 mov ax,bp中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ss)*10h +( bp)=15000h+10h=15010h;(8)在指令 mov ax,si中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ds)*10h +( si )=29000h+0a0h=290a0h;(9)在指令 movax,bx+10 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值 =(ds)*10h+(bx) +0ah= 29000h+100h+0ah =2910ah;(10)在指令 movax,valbx 中,源操作数字段的寻址方式是寄存器相
24、对寻址,其物理地址值 =(ds)*10h+(bx) +50h= 29000h+100h+50h= 29150h;(11)在指令 movax,bxsi中,源操作数字段的寻址方式是基址变址寻址,其物理地址值 =(ds)*10h+(bx) +( si ) =29000h+100h+0a0h =291a0h;(12)在指令 movax,bpsi中,源操作数字段的寻址方式是基址变址寻址,其物理地址值 =(ss)*10h+(bp) +( si )=15000h+10h+0a0h =150b0h5. 分别指出下列指令中的源操作数和目的操作数的寻址方式。(1) mov si, 200(2) mov cx, d
25、atasi(3) add ax, bx+di(4) and ax, bx(5) mov si ,ax(6) pushf答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;6. 试述指令 mov
26、 ax, 2010h和 mov ax,ds:2010h的区别。答:指令 movax,2010h是将立即数 2010h送 ax寄存器,而指令 movax,ds:2010h 是将 ds段有效地址为 2010h的两个单元的内容送 ax。7. 写出以下指令中内存操作数的所在地址。(1)mov al,bx+5(2)mov bp+5,ax(3)inc byte ptr si+3(4)mov dl,es:bx+di(5)mov bx,bx+si+2答:(1)指令 mov al, bx+5 中内存操作数的所在地址=(ds) *10h+(bx)+5;(2)指令 movbp+5 , ax中内存操作数的所在地址=(
27、 ss)*10h+(bp)+5 和( ss)*10h+( bp)+6;.(3)指令 inc byte ptrsi+3 中内存操作数的所在地址=(ds)+(si ) +3;(4)指令 mov dl,es:bx+di中内存操作数的所在地址=(es) *10h+(bx) +( di);(5)指令 movbx,bx+si+2 中内存操作数的所在地址=(ds)*10h+(bx)+( si )+2 和( ds)*10h+(bx)+(si )+3;8. 判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令 (8) 、 (13) 除外 ) 期望实现的操作。(1)mo
28、v al,bx( 9) mov es,3278h(2)mov al,sl( 10)push al(3)inc bx( 11)pop bx(4)mov 5, al( 12)mov 1a8h,23dh(5)mov bx, si( 13)push ip(6)mov bl,f5h( 14)mov ax,23dh(7)mov dx,2000h( 15)shl ax, 5(8)pop cs( 16)mul ax, bx答:(1)moval,bx 错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为:movax,bx或 mov al,bl ;(2)mov al,sl 错, si 寄存器不能分为高8
29、 位和低 8 位使用,即没有 sl 寄存器。应改为: mov ax,si(3)inc bx错,未指定操作数的类型。应改为:inc byte ptr bx(4)mov 5,al 错,目的操作数使用了立即数,在指令中一般不允许。应改为:mov ds:5,al(5)mov bx,si错,源操作数和目的操作数均为内存单元,不允许。应改为: mov ax,simov bx,ax(6)mov bl,f5h错,源操作数错,以af 开头的数字前应加0。应改为: mov bl,0f5h(7)mov dx,2000h正确。(8) pop cs 错,不能将栈顶数据弹至cs中。(9)mov es,3278h 错,立即
30、数不能直接送es寄存器。应改为: mov ax,3278hmov es,ax(10)push al 错,栈操作不能按字节进行。应改为:push ax(11)pop bx 正确。(12)mov 1a8h,23dh 错,源操作数是立即数,目的操作数必须使用寄存器指出。应改为:mov bx,1a8hmov bx,23dh(13)push ip错,不能用 ip 寄存器做源操作数。(14)mov ax,23dh 错,不能用 ax寄存器间接寻址。应改为:mov bx,axmov bx,23dh.(15)shl ax,5 错,不能用大于己于1 的立即数指出移位位数。应改为:mov cl, 5shl ax,
31、cl(16)mul ax,bx 错,目的操作数ax是隐含的,不能在指令中写出。应改为:mul bx9. 设堆栈指针 sp的初值为 2000h, ax=3000h,bx=5000h,试问 : (1)执行指令 push ax后 (sp)= ?(2)再执行 push bx及 pop ax后 (sp)= ?(ax)= ? (bx)=?答:(1)执行指令 push ax后 (sp)=2000h-2=1ffeh;(2)再执行 push bx及 pop ax后 (sp)=1ffeh, (ax)=5000h, (bx)=5000h10. 要想完成把 2000h 送1000h 中,用指令 :mov1000h ,
32、2000h 是否正确?如果不正确,应用什么方法?答:把2000h 送1000h 中,用指令 mov 1000h, 2000h 不正确,应改为: mov ax,2000h mov 1000h,ax11. 假如想从 200 中减去 al中的内容,用 sub 200, al 是否正确?如果不正确,应用什么方法?答:想从 200 中减去 al 中的内容,用 sub200,al 不正确,应改为:movbl,200sub bl,al12 分别写出实现如下功能的程序段(5) 将数据段中以 bx为偏移地址的连续四个单元的内容颠倒过来答:(5) 将数据段中以 bx为偏移地址的连续四个单元的内容颠倒过来的程序段是
33、:mov al,bx;数据段中 bx为偏移地址的字单元内容送axxchg al,bx+3;数据段中 bx+3为偏移地址的字单元内容与ax的内容交换mov bx,al;数据段中 bx+3为偏移地址的字单元内容送bx为偏移地址的字单元mov al,bx+1;数据段中 bx+1为偏移地址的字单元内容送axxchg al,bx+2;数据段中 bx+2为偏移地址的字单元内容与ax的内容交换mov bx+1,al;数据段中 bx+2为偏移地址的字单元内容送bx+1为偏移地址的字单元1. 假设 op1,op2是已经用 db定义的变量 , w_op3和 w_op4是已经用 dw定义的变量,判断下列指令书写是否
34、正确?如有错误,指出错在何处?并写出正确的指令(或程序段)实现原错误指令期望实现的操作 (19) 、(20) 不改 ) 。(1)push op1(2)pop w_op4(3)mov ax, word ptr sidi(4)mov ax,word ptr es:bx(5)mov byte ptr bx, 1000(6)mov bx, offset si+200h(7)mov op2,bx(8)cmp high w_op3, 25.(9)cmp op1, op2(10)cmp ax, op2(11)mov w_op3bx+4*3di, sp(12)add w_op3, w_op4(13)mov a
35、x, w_op3dx(14)mov op1, low ds(15)mov sp, op2bxsi(16)mov ax, w_op3+w_op4(17)mov ax,w_op3-w_op4+100(18)sub al, w_op3+7(19)mov ax,bx shl 2(20)mov bx,w_op3 and 8fd7h答: 1. (1)push op1 错, op1为字节类型 , 栈操作不能按字节进行,应改为:push word ptr op1(2)pop w_op4正确。(3)mov ax, word ptr sidi错,源操作数寻址方式有问题。应改为 :mov bx, simov ax,
36、 word ptr bxdi(4)mov ax,word ptr es:bx错,若源操作数为寄存器寻址是不能加段说明及属性修改的。显然,原意应为寄存器间接寻址 ,故应改为 : mov ax,word ptr es:bx(5)mov byte ptr bx, 1000错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为: mov wordptr bx, 1000(6)mov bx, offset si+200h错,offset运算应在汇编时完成,但 si+200h 在执行指令时才可获得。应改为 : leabx,si+200h(7)mov op2,bx错,源操作数和目的操作数均为内存单元
37、,不允许。应改为 : mov al, bxmov op2, al(8)cmp high w_op3, 25错,目的操作数中使用high 来分离存储器操作数, 这是不允许的。 应改为 : cmp byte ptrw_op3+1,25(9)cmp op1, op2错,源操作数和目的操作数均为内存单元,不允许。应改为 : mov al, op2cmp al, op1(10)cmp ax, op2错,源操作数为字节类型,目的操作数为字类型,二者不一致。应改为 :cmp ax, word ptr op2(11)mov w_op3bx+4*3di, sp正确。(12)add w_op3, w_op4错,源
38、操作数和目的操作数均为内存单元,不允许。应改为 : mov ax, w_op4.add w_op3, ax(13)mov ax, w_op3dx错,不能用dx 寄存器间接寻址。应改为 : mov bx, dxmov ax,w_op3bx(14)mov op1, low ds错,源操作数中使用low 来分离寄存器操作数,这是不允许的。应改为 : mov word ptr op1,ds(15)mov sp, op2bxsi错,源操作数为字节类型, 目的操作数为字类型,二者不一致。应改为 :mov sp, word ptrop2bxsi(16)mov ax, w_op3+w_op4错,两个标识符相加
39、无意义。应改为: mov ax, w_op1add ax, w_op2(17)mov ax,w_op3-w_op4+100正确 ,源操作数为两个标识符(地址)相减再加一数,汇编时得到一个数。(18)sub al, w_op3+7错,两个操作数类型不一致。应改为: sub al, byte ptr w_op3+7(19)mov ax,bx shl 2错, shl 只能对常量进行运算,左边不能使用寄存器(20)mov bx,w_op3 and 8fd7h错, and 只能对常量进行运算,左边不能使用变量4. 已定 数据段data segmentvar2 dw 10h, 7889hvar5 db 2
40、0h, 0adrr dw var2 ,var5data ends 使 adrr字存 元中存放内容 “ 0010h”, adrr2 字存 元中存放内容 “ 0020h”,上述省略号位置 分 填写一条什么 句? 明理由。答: 使 adrr字存 元中存放内容 “0010h”, adrr2 字存 元中存放内容 “0020h”,上述省略号位置 分 填写org 10h和 org 20h, 或者分 填写 句var1 db 10h dup(?) 和 var3 6 dup(?)5. 下面的数据段中,有数据 4100h的字存 元有几个?它 的偏移量分 是多少?data segment da1 db 0org 41
41、hda2 db 0, a, 41h,0,41hadr dw da1,da2data ends答: 出的数据段中,有数据4100h的字存 元有3 个, 它 的偏移量分 是41h、44h、47h。.7. 用数据定 句 db或 dw改写下述两 句中的某一个, 使它 在存 器中有完全相同的存 情况。var1 db abcdefghij var2 dw 6162h,6364h, 6566h,6768h,696ah答:将第一个 指令 句改写 var1 dwab, cd, ef , gh, ij ,第二个 指令 句不 。或第一个 指令 句不 ,而将第二个 指令 句改写 :var2 db 61h, 62h,6
42、3h,64h, 65h, 66h,67h,68h, 69h,6ah9. 按下面的要求写出程序的框架(1) 数据段的位置从 0e000h开始,数据段中定 一个 100 字 的数 ,其 型属性既是字又是字 ;(2) 堆 段从小段开始,段 名( 名) stack;(3) 代 段中指定段寄存器,指定主程序从 1000h开始, 有关段寄存器 ;(4) 程序 束。答:所求程序框架 :data segment at 0e000harr_w label wordarr_b db 100 dup(?)data endssta_seg segment parastackdb 80 dup(?)top label
43、wordsta_seg endscode segmentassume cs:code,ds:data,ss:sta_segorg 1000hstart: mov ax, datamov ds, axmov ax,sta_segmov ss, axmov sp, offset topmov ah, 4chint 21hcode endsend start10. 写一个程序,要求运行 屏幕 示 bell,同 响 一次 ( 响 的 ascii 码为 07) 。.答:所求程序为:code segmentassume cs:codestart: mov dl, 42hmov ah, 2int 21hmo
44、v dl, 45hmov ah, 2int 21hmov dl, 4chmov ah, 2int 21hmov dl, 4chmov ah, 2int 21hmov dl, 7mov ah, 2int 21hmov ah, 4chint 21hcode endsend start11. 假设在数据段 x_seg、附加段 y_seg和堆栈段 z_seg中分别定义了字变量 x、 y 和 z,试编制一完整的程序计算 x+y+z,并将结果送 x。答:所求程序为:x_seg segmentx dw 12ehx_seg endsy_seg segmenty dw 4d2hy_seg endsz_seg s
45、egment stackstackz dw 2cahz_seg endscode segmentassume cs:code,ds:x_seg,es:y_seg,ss:z_seg.start: mov ax, x_segmov ds, axmov ax, y_segmov es, axmov ax, es:yadd x, axmov bp, 0mov ax, bp+zadd x, axmov ah, 4chint 21hcode endsend start12. 写一个完整的程序放在代码段 c_seg中,要求把数据段 d_seg中的 dadd1和附加段 e_seg中的 dadd2相加,并把结果
46、存放在 d_seg段中的 sum中。其中 dadd1、dadd2和 sum均为双字类型,dadd1赋值为 98765,dadd2赋值为 -15893 。答:所求程序为:d_seg segmentdadd1 dd 98765sum dd ?d_seg endse_seg segmentdadd2 dd -15893e_seg endsc_seg segmentassume cs: c_seg,ds:d_seg,es:e_segstart: mov ax, d_segmov ds, axmov ax, e_segmov es, axmov ax , word ptr dadd1mov bx, wo
47、rd ptr dadd1+2add ax, word ptr es:dadd2adc bx, word ptr es:dadd2+2mov word ptr sum, axmov word ptr sum+2, bx.mov ah, 4chint 21hc_seg endsend start=一、填空题1、执行部件eu的组织有:4 个通用寄存器,4 个专用寄存器和1 个标志寄存器和算术逻辑部件。2、8086cpu从偶地址访问内存1 个字时需占用1 个总线周期,而从奇地址访问内存1 个字操作需占用2个总线周期。3、 ibm-pc 机中的内存是按段存放信息的,一个段最大存贮空间为64k字节。4、
48、8086 微处理机在最小模式下,用m/ io来控制输出地址是访问内存还是访问i/o 。5、一台计算机能执行多少种指令,是在设计时确定的。二、单项选择题1、微型计算机的性能主要由b来决定。a 、价钱b、 cpuc、控制器d、其它2、对微处理器而言,它的每条指令都有一定的时序,其时序关系是ca 、一个时钟周期包括几个机器周期,一个机器周期包括几个指令周期。b 、一个机器周期包括几个指令周期,一个指令周期包括几个时钟周期。c 、一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。d 、一个指令周期包括几个时钟周期,一个时钟周期包括几个机器周期。3、属于数据寄存器组的寄存器是ca、 ax, b
49、x, cx,dsb、sp, dx,bp, ipc、 ax, bx, cx, dxd、 al, di, si , ah4、微型计算机的alu部件是包含在d之中。a、存贮器b、 i/o 接口c、i/o 设备d、 cpu5、在 8086 和 8088 汇编语言中,一个字能表示的有符号数的范围是ba、-32768 n 32768b、-32768 n 32767c、-65535 n65535d、-65536 n 655356、 80386 微型计算机是32 位机,根据是它的d。a、地址线是32 位b、数据线为32 位c、寄存器是32 位的d、地址线和数据线都是32 位7、某数存于内存数据段中,已知该数据
50、段的段地址为2000h,而数据所在单元的偏移地址为0120h,该数的在内存的物理地址为(b)a 02120hb.20120hc.21200hd.03200h8、在存贮器读周期时,根据程序计数器pc提供的有效地址,使用从内存中取出(d).a操作数b.操作数地址c.转移地址d.操作码9、 8086/8088 系统中,对存贮器进行写操作时,cpu输出控制信号有效的是(a)a.w/io =1,wr =0b.wr =1c.m/io =0,rd =0d.rd =010、在 8086/8088 微机系统中,将al 内容送到i/o 接口中,使用的指令是(d)a.in al,端口地址b.mov al,端口地址c.out al,端口地址d.out端口地址, al三、简答题1. 微处理器内部结构由哪些部件组成?2. 论述 8086 cpu 的最小方式和最大方式的区别。3. 论述指令周期、机器周期和时钟周期间的关系。4. 8086cpu从功能上分为几部分 ?各部分由什么组成 ?各部分的功能是什么 ?5.8086 系统中的物理地址是如何得到的?假如 cs=2500h, ip=2l00h ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务分包协议书合同
- 车队承包合同
- 足浴店员工劳动合同
- 建设工程采购施工合同
- 商品房合同转让协议
- 广西电力职业技术学院《动物检疫检验学》2023-2024学年第二学期期末试卷
- Unit 4 My Family Lesson 2 教学设计 2024-2025学年冀教版英语七年级上册
- 武汉东湖学院《医患沟通交流》2023-2024学年第二学期期末试卷
- 济南2025年山东济南平阴县事业单位招聘初级综合类岗位10人笔试历年参考题库附带答案详解-1
- 齐鲁理工学院《汽车电机技术》2023-2024学年第二学期期末试卷
- 小学数学1-6年级(含奥数)找规律专项及练习题附详细答案
- 中考英语阅读理解(含答案)30篇
- 《同济大学简介》课件
- 文化产业管理专业大学生职业生涯规划书
- DSM-V美国精神疾病诊断标准
- 文献的载体课件
- 2023年高考语文全国乙卷《长出一地的好荞麦》解析
- 混凝土强度回弹检测方案
- 历年中考地理生物变态难题
- 研学旅行课程标准(一)-前言、课程性质与定位、课程基本理念、课程目标
- 部编版二年级下册语文教案全册
评论
0/150
提交评论