




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机与接口作业参考答案,第一章,1-1、什么是机器码(数)?什么是真值? 连同一个符号位在一起作为一个数,就称为机器码(数);而机器数所代表的数值称为该机器数的真值。 1-2、计算机发展至今,经历了哪几代? 计算机的发展根据其采用逻辑器件的组成情况,到目前为止已经经历了四代。 第一代:电子管计算机 第二代:晶体管计算机 第三代:中小规模集成电路计算机 第四代:大规模和超大规模集成电路计算机 1-3、微型计算机的发展以 cpu字长 的发展为标志。,1-4、微机系统由哪几部分组成?微处理器、微机、微机系统的关系是什么? 一个完整的微机系统应该包括硬件和软件两大部分。 微机是微机系统的硬件部分,微处
2、理器是微机的核心器件。 1-5、微处理器由哪几部分组成?各部分的功能是多少? 微处理器由运算器和控制器组成。 运算器又称为算术逻辑单元alu,功能是完成数据的算术和逻辑运算。 控制器一般由指令寄存器、指令译码器和控制电路组成。其功能是根据指令的要求,对微机各部件发出相应的控制信息,使它们协调工作,从而完成对整个计算机系统的控制。,1-6、什么是单片机和单板机? 单片机:将cpu、内存和i/o接口集成在一片硅片上 单板机:将cpu、内存和i/o接口电路安装在一块印刷电路板上 1-7、什么是微机的系统总线?有几种?功能是什么? 系统总线是传送信息的公共导线。包括 地址总线(ab):传送地址信息的总
3、线。单向:从cpu到内存单元或i/o端口地址 数据总线(db):传送数据信息的总线。双向 控制总线(ab):传送控制信息的总线。单向或双向,视情况而定。 1-8、何为引脚的分时复用?如何从8088的地址、数据复用引脚准确地得到地址和数据信息? 引脚的分时复用是指该引脚在不同时刻传送不同的信息。当cpu访问内存或i/o设备时,在ad7ad0上首先出现的是被访问的内存单元或i/o设备某端口的地址信息的低8位。然后,在这些线上就出现cpu进行读写的8位数据。,1-9、标志寄存器的功能及各种标志的意义是什么?进位标志和溢出标志的区别是什么?(答案略) 1-10、查表得出下列字符ascii码:回车、换行
4、、空格、$、/、*、9、a、b、a、b。 回车:0ah换行: 0dh 空格: ffh $:24h/: 2fh*: 2ah 9:39ha: 41hb: 42h a: 61hb: 62h 1-11、写出下列数表示的无符号数和带符号数的范围。 (1)8位二进制数 :0255,-128+127 (2)16位二进制数:065535,-32768+32767,1-12、用8位和16位二进制数,写出下列数的原码、反码和补码。 (1)+1(2)-1(3)+45 (4)-45(5)+127(6)-128 8位:,1-12、用8位和16位二进制数,写出下列数的原码、反码和补码。 (1)+1(2)-1(3)+45
5、(4)-45(5)+127(6)-128 16位:,1-13、微机某内存单元的内容为c5h,若它表示的是一个无符号数,该数对应的十进制数是多少?若它表示的是一个带符号数,该数对应的十进制数是多少?197;-59 1-14、将下列十进制数分别转化为二进制数(保留4位小数)、十六进制数(保留1位小数)和压缩bcd数 (1)125.74(2)513.85(3)742.24,1-15、(1)将下列二进制数分别转化为十进制数和十六进制数 1)101011.1012)110110.1101 3)1001.110014)100111.0101,(2)将下列十六进制数分别转化为二进制数和十进制数 1)5a.2
6、62)143.b5 3)6ab.244)e2f3.2c,1-16、求a95bh与8ca2h之和;并写出运算后标志寄存器中sf、zf、cf、of、pf、af的值。 35fdh; sf=0, zf=0, cf=1,of=1, pf=0, af=0,1-17、8088执行一条指令所需的时间被称为(指令)周期,而总线周期是指( cpu从存储器或i/o端口存取一个字节的时间)。8088典型的总线周期由(4)个t组成。若8088的clk引脚接5mhz的时钟信号,则每个t状态的持续时间为(200ns)。 1-18、请简述8088cpu的内部结构各分为哪些模块及其功能。 eu和biu。功能略。 1-19、在进
7、行存储器寻址时,什么是8088的逻辑地址和物理地址?其16位的有效地址和20位的物理地址是在何处和如何形成的?(答案略) 1-20、在8088的工作过程中,什么情况下会产生tw?它发生在什么具体时刻? (答案略) 1-21、8088cpu数据总线和地址总线各是多少?其最大存储空间是多少字节?8;20;1mb,1-22、8088cpu中指令队列起什么作用?其长度是多少字节? 作用:暂存从存储器中取出的指令;4个字节 1-23、简述cpu执行程序的工作原理。(答案略) 1-24、8086/8088cpu中,存储器为什么要分段?一个段最大为多少字节?最小为多少字节? 由于8086/8088提供20位
8、的地址总线,可寻址1mb的存储空间,而8086/8088内部寄存器都是16位的,其寻址范围只能为64kb的范围,因此,为能达到对存储器寻址的20位物理地址,将1mb的存储空间划分成若干逻辑段。一个段最大为64kb;最小为16b。,1-25、已知某存储单元的逻辑地址为1f00:38a0h,其对应的物理地址是多少?228a0h 1-26、已知存储器物理地址为78a00h,计算它对应的逻辑地址。此结果唯一吗? 78a0:0000h;不唯一 1-27、设当前数据段位于存储器的a8000h到b7fffh,ds段寄存器的内容是什么? a800h,1-28、若cs=8000h,则当前代码段可寻址的存储空间的
9、范围是多少?80000h8ffffh 1-39、8088cpu的最大模式和最小模式的主要区别是什么? 8088cpu工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8088cpu提供。 8088cpu工作在最大模式时,系统是由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。,第二章,2-1、说明以下各指令的源操作数属于何种寻址方式 mov ax, bp; 寄存器间接寻址 mov ds, ax ; 寄存器寻址 mov di, 0ff00h ; 立即寻址 mov bx, 2100h ; 直接寻址 mov cx, si+5 ; 变址寻址
10、mov ax, tablebpdi ; 基址-变址寻址 mov dx, countbx ; 基址寻址,2-2、已知有关寄存器中的内容为: (ds)=0f100h, (ss)=0a100h, (si)=1000h, (di)=2000h, (bx)=3000h, (bp)=4000h. 偏移量table=0ah,count=0bh,说明题2-1中第1小题和第47小题指令源操作数的物理地址。 1、ss+bp=0a1000h+4000h=0a5000h 4、ds+2100h=0f1000h+2100h=0f3100h 5、ds+si+5=0f1000h+1000h+5h=0f2005h 6、ss+t
11、able+bp+di= 0a1000h+0ah+4000h+2000h =0a700ah 7、ds+count+bx=0f1000h+0bh+3000h =0f400bh,2-3、某一个存储单元的段基址为abcdh,偏移地址为abcdh,其物理地址是多少?另一个存储单元的物理地址为f1000h,偏移地址为fff0h,其段基址是多少? abcd0h+abcdh=b689dh f1000h-fff0h=e1010h,所以段基址e101h,2-4、将偏移地址为5000h的存储单元的一个字传送到6000h单元,要求源操作数和目标操作数分别采用以下寻址方式。 直接寻址 寄存器间接寻址 1、 mov ax
12、, 5000h mov 6000h,ax 2、 mov si, 5000h mov di, 6000h mov ax, si mov di, ax,2-5、说明以下8086/8088指令是否正确,如果不正确,简述理由。 mov al, si;错,源和目标操作数类型不匹配 mov 1001h, 1000h;错,存储器操作数不应该同时为源和目标操作数 mov ds, 2000h;错,段寄存器ds不能用立即数赋值 mov cs, ax;正确,但一般不用 push 5000h;错,push指令的操作数不能为立即数 pop dl:错,pop操作数只能为16位 in ax, 1234h;错,口地址超过8位
13、时,不能采用直接寻址方式 xchg bx, 0f000h;错,xchg指令的操作数不能为立即数,2-6、 阅读以下程序段,说明其运行结果。 mov bx, 0f100h; (bx)=0f100h mov bh, bx; (bh)=a=41h mov ah, bx; (ah)=4100h=b=42h 初值: (f100h)=a, (4100h)=b 结果: (ah)= 42 h mov si, 2100h; (si)=2100h mov 2800h, si; 2800h=2100h, 2801h=21h mov sp, 2800h; (sp)=2800h pop di;(di)=2100h,(s
14、p)=2802h 结果: (di)= 2100 h, (sp)= 2802 h,mov si, 2000h; (si)=2000h mov di, 3000h ; (di)=3000h mov sp, 0ff00h ; (sp)=0ff00h push si; si入栈 push di; di入栈 xchg si, di; (si)=3000h (di)=2000h mov al, si;(al)=a=61h mov bl, di;(bl)=1=31h pop si; 从堆栈弹出一个字到si,(si)=3000h pop di ; 从堆栈弹出一个字到di,(di)=2000h 初值: (200
15、0h)=1, (3000h)=a 结果: (si)= 3000 h, (di)= 2000 h, (al)= 61 h, (bl)= 31 h, (sp)= 0ff00 h,2-7、用8086/8088指令编写程序段,分别实现以下要求: 1. 将al和bl寄存器的内容互换。 xchg al, bl 2. 将1000h和1001h内存单元中的字节互换 mov al, 1000h xchg al, 1001 mov 1000h, al,3. 将2000h和2100h内存单元中的字互换 mov ax, 2000h xchg ax, 2100h mov 2000h, ax 或者: push 2000h
16、 push 2100h pop 2000h pop 2100h,4. 将bl、cl和dl三个寄存器的内容互换,blcldl xchg bl, cl; (cl)=(bl), (bl)=(cl), xchg bl,dl; (bl)=(dl),(dl)= (bl)=(cl) 或者: mov al, dl; (al)暂存(dl)的内容 mov dl, cl; (dl)(cl) mov cl, bl ; (cl)(bl) mov bl, al ; (bl)(al)=(dl),2-8、将首地址为3000h的100个存储单元的内容传送到首地址为3100h的内存区。 mov si, 3000h mov di,
17、 3100h mov cx, 100 agn: mov al, si mov di, al inc si inc di dec cx jnz agn hlt,2-9、说明以下8086/8088指令是否正确,如果不正确,简述理由。 add bl, 0f100h;错,源和目标操作数类型应该相同 sub es, 20h ;错,es不能为段寄存器 and 0fh, al ;错,立即数不能为目标操作数 cmp si, di ;错,源和目标操作数不应该都是存储器操作数 inc 2000h ;错,inc指令的操作数不能使立即数 mul bl, cl ;错,mul指令只有一个操作数 div 08h ;错,di
18、v指令的操作数不能为立即数 sal ax, 5 ;错,进行多位移位操作时,移位次数 只能放在cx中,2-10、已知寄存器al和bl的内容分别如下,试分析执行add al, bl指令后,寄存器al以及标志位cf、zf、sf、af、of和pf的内容。,2-11、已知寄存器al和bl的内容分别如下,试分析执行sub al, bl指令后,寄存器al以及标志位cf、zf、sf、af、of和pf的内容。,2-12、阅读以下程序段: mov si, 4000h mov di, 4100h mov al, si add al, di daa mov di, al mov al, si+1 adc al, di
19、+1 daa mov di+1, al,根据给定的初值,说明运行结果 初值: (4000h)=63h, (4001h)=54h, (4100h)=88h, (4101h)=29h 结果: (4100h)=51 h, (4101h)= 84 h 在以上程序段中,当执行add al, di指令后,但尚未执行daa指令时,寄存器al以及标志位cf、zf、sf、af、of和pf的内容分别为多少?(al)=ebh, cf=0, zf=0, sf=1, af=0, of=0, pf=1 在以上程序段中,当第一次执行daa指令后,寄存器al以及标志位cf、zf、sf、af、of和pf的内容分别为多少?(al
20、)=51h, cf=1, zf=0, sf=0, af=1, of=0, pf=0 如果在以上程序段中去掉两条daa指令,但初值不变,则运行结果为: (4100h)= eb h, (4101h)= 7d h,2-13、阅读以下程序段: start:lea bx, table mov cl, bx looper:inc bx mov al, bx cmp al, 0ah jnc x1 add al, 30h jmp next x1: add al, 37h next:mov bx, al dec cl jnz looper,假设从地址table开始,10个存储单元的内容依次为:05h,01h,0
21、9h,0ch,00h,0fh,03h,0bh,08h,0ah。依次写出运行以上程序段后,从地址table开始的10个存储单元的内容。 05h, 31h, 39h, 43h, 30h, 46h, 03h, 0bh, 08h, 0ah 2. 简单扼要说明以上程序段的功能。 把从table+1开始的5个单元中存放的16进制数码转换成ascii码,2-14、用一条或几条8086/8088指令实现以下要求: 1. 将al寄存器清零,但进位标志cf不变。 mov al, 0 2.将al寄存器和进位标志cf同时清零。 xor al, al 3. 将进位标志cf 清零,但al寄存器内容不变。 and al,
22、al 或者 or al, al 4. 将al寄存器中内容的第0、2、4、6位取反,其余位不变 xor al, 01010101b,5. 将al寄存器中内容的高4位清零,低4位保留。 and al, 00001111b 6. 将al寄存器中的带符号数(以补码形式存放)取绝对值后存入bl寄存器。 and al, al jns store neg al store: mov bl, al,7. 统计ax寄存器的内容中“1”的个数,将统计结果存入cl寄存器。 mov cx, 16 mov bl, 0 agn: ror ax, 1 jnc agn1 inc bl agn1: dec cx jnz agn
23、 mov cl, bl,两个不压缩bcd码分别存放在3000h和3001h单元的低4位,高4位均为0。将它们组合成为一个压缩的bcd码,前者放在低4位,后者放在高4位,存放在3002h单元。例如初值为: (3000h)=07h, (3001h)=05h, 要求结果为(3002h)=57h mov al, 3001h mov cl, 4 shl al,cl add al, 3000h mov 3002h, al,9. 将4000h和4001h单元的两个ascii码分别转换为相应的十六进制数,然后共同存放在4002h单元,前者放在低4位,后者放在高4位。例如初值为: (4000h)=42h=b,
24、(4001h)=36h=6, 要求结果为(4002h)=6bh ; 转换4000h单元 mov al, 4000h cmp al, 41h jnc x1 sub al, 30h jmp next x1: sub al, 37h,; 转换4001h单元 next: mov ah, 4001h cmp ah, 41h jnc x2 sub ah, 30h jmp next1 x2: sub ah, 37h next2: mov cl, 4 shl ah, cl add ah, al ; 存入4002h mov 4002h,ah,10. 将bl寄存器中的无符号数乘以128,高位放在bh寄存器,低位放
25、在bl寄存器,要求执行速度尽量快(移位和循环指令实现)。 ;128=27,左移7次可实现 xor bh, bh mov cl, 7 shl bx, cl,11. 将cl寄存器中的带符号数乘以16,高位放在ch寄存器,低位放在cl寄存器,要求执行速度尽量快(移位和循环指令实现)。 ;16=24,算术左移4次可实现 mov al,cl cbw mov cl, 4 sal ax, cl mov cx, ax,12. 一个4位十进制数以压缩bcd码形式存放在偏移地址为data和data+1的内存单元中,data单元存放个位和十位,data+1单元存放百位和千位。要求将其转换为相应的ascii码,存放到
26、以buff为首地址的4个内存单元。例如初值: (data)=47h, (data+1)=92h, 要求结果为: (buff)=7, (buff+1)=4, (buff+2)=2, (buff+3)=9,mov ax, data mov bx, ax and ax, 0f0fh; 转换个位和百位 and bx, f0f0h ; 留下十位和千位 mov cl, 4 shr bx, cl ; 转换十位和千位 mov di, offset data+2; 存放 mov di, al inc di mov di, ah inc di mov di, bl inc di mov di, bh,2-15、假
27、设al寄存器的内容为feh, bl寄存器的内容为04h,问: 执行mul bl指令后,(ax)=03fbh,标志位of和cf的值是1. 执行imul bl指令后,(ax)=fff8h,标志位of和cf的值是0 2-16、假设ax寄存器的内容为0101h, bl寄存器的内容为0ah,执行div bl指令后,(al)=19h, (ah)=07h 2-17、假设ax寄存器的内容为fff5h(-11), bl寄存器的内容为feh(-2),执行idiv bl指令后,(al)=05h(商+5), (ah)=ffh(余数-1),2-18、已知被减数和减数均为包括6个字节的十六进制数,分别存放在首地址为dat
28、a1和data2的内存区,低位在前,高位在后。用8086/8088指令编写程序,要求相减以后得到的结果存放在首地址为data3的内存区。,2-18、 mov si, 0 mov cx, 6 clc agn: mov al, data1si sbb al, data2si mov data3si, al inc si loop agn,2-19、若题2-18中的被减数和减数均为包括6个字节的压缩bcd码(相当于12位十进制数),重新编写程序。并将结果输出到显示器上。 2-20、采用8088/8086指令实现以下要求: 1、将立即数1001h推入堆栈 mov ax, 1001h push ax 2
29、、将ax寄存器中的内容带进位循环左移5次。 mov cl, 5 rcl ax, cl,3、将bx寄存器中的带符号数与立即数0bh相乘,所得乘积放在cx寄存器中(假设乘积不超过16位二进制数) mov ax,0bh imul bx mov cx, ax,第三章作业答案,3-1、data db 11h, 22h, 33h, 44h, 55h, 66h, 77h, 88h data dw 2211h, 4433h, 6655h, 8877h data dd 44332211h, 88776655h 3-2、(1)(al)=10h (2) (bx)=3 (3) (si)=23=17h,3-3、 dat
30、a segment mem1 db 11h,02h,33h,4ah mem2 db 6ah, 89h, 44h, 6fh sum db 6dup(?) data ends code segment assume cs: code, ds: data, es: data start:mov ax, data mov ds, ax; initialize ds mov es, ax; initialize es lea si, mem1; initial address of mem1 to si lea bx, mem2 ; initial address of mem2 to bx lea d
31、i, sum; initial address of sum to di mov cx,4; repeating count is 4 cld,clc agn:lodsb adc al, bx inc bx mov di, al inc di dec cx jnz agn code ends end start,3-4、(1) lea si, data1 lea di, data2 mov cx, 20 cld rep movsb (2) lea si, data1 lea di, data2 mov cx, 20 cld repe cmpsb ;若串相等,(al)=0ffh;否则,(al)=
32、0 jz e1 mov al, 0 jmp exit e1: mov al, 0ffh exit: hlt,(3) lea si, data1 mov al, 3si mov ah, 4si (4) lea di, data2 mov 5di, al mov 6di, ah 3-5、table dw 10,20,30,40, 50 entry dw 3 mov bx, offset table;(bx)=a add bx, entry; (bx)=a+3 mov ax, bx; (ax)=1e00h,3-6、shl bx, 1 rcl ax, 1 rcl dx, 1 3-7、lea di, b
33、uffer mov cx, 50 mov ax, aa55h rep stosw 3-8、3-9。(略),4-3、分析: ram区容量:43fffh-40000h+1=4000h=100,0000,0000,0000b=214=16kb 需要的存储芯片个数:16kb/8kb=2 初始地址:40000h=0100,0000,0000,0000,0000b,a19a18a17a16,片内译码,4-4、分析: 需要的存储芯片个数:8kb/2kb=4 初始地址:20000h=0010,0000,0000,0000,0000b,4-5、分析: 需要的存储芯片个数:32kb/8kb=4 总容量:32k=2
34、15=8000h=末地址-始地址+1=fffffh-始地址+1 所以:始地址=fffffh+1-8000h=f8000h,即: 始地址为: f8000h=1111,1000,0000,0000,0000b,4-6、单选题 1、以下存储器中,( )是计算机的内存 a、cd-romb、 3.5英寸软盘 c、使用eprom的电子盘 d、168引脚的32mb存储条 2、2764是8k*8的eprom,其地址线和数据线分别为( ) a、3,4b、13,4c、13,8 d、8,8,4-7 填空 1、dram需要刷新的原因是因为dram靠(电容)存储电荷,如果不刷新,会因为漏电而失去存储的信息。 2、eprom存储器靠( 紫外线 )照射,可擦掉原有内容,是每个单元的内容为(ffh)h 3、存储器片选引脚,国际上都设计为(低 )电平有效。 4、ibm-pc的存储器读控制信号为(memr),写控制信号为(memw),4-8、图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山市小升初数学试卷
- 董村小学二年级数学试卷
- 2025至2030城市建设规划行业市场发展前景及供给需求与投资机会报告
- 2025至2030轨道交通安防行业市场深度研究及发展前景投资可行性分析报告
- 六安市霍邱县新店镇选聘村干部考试真题2024
- 2024年杭州拱墅区专职社区工作者招聘笔试真题
- 2025至2030财务软件产业深度调研及发展趋势与投资战略报告
- 东山小学期中数学试卷
- 工贸单招数学试卷
- 福州初三卷子数学试卷
- 山东省菏泽市2023-2024学年高一下学期7月期末考试 历史 含解析
- 黑龙江大庆市(2024年-2025年小学六年级语文)部编版小升初模拟(下学期)试卷及答案
- 【课件】当代图书馆的功能定位与 信息资源建设的发展趋势
- 《椎动脉型颈椎病》课件
- 2025届小升初语文总复习:《文言文阅读》(附答案解析)
- 人文英语4-008-国开机考复习资料
- 《中欧国际工商学院》课件
- 建筑消防设施维护保养技术规程
- 环境水利学-001-国开机考复习资料
- 施工现场实施信息化监控和数据处理方案
- 【培训课件】卓越讲师技能训练
评论
0/150
提交评论