微机原理与接口技术课后习题答案清华大学出版社Word格式.doc

上传人:聆听****声音 文档编号:3643333 上传时间:2023-05-02 格式:DOC 页数:9 大小:84KB
下载 相关 举报
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第1页
第1页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第2页
第2页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第3页
第3页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第4页
第4页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第5页
第5页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第6页
第6页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第7页
第7页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第8页
第8页 / 共9页
微机原理与接口技术课后习题答案清华大学出版社Word格式.doc_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理与接口技术课后习题答案清华大学出版社Word格式.doc

《微机原理与接口技术课后习题答案清华大学出版社Word格式.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术课后习题答案清华大学出版社Word格式.doc(9页珍藏版)》请在冰点文库上搜索。

微机原理与接口技术课后习题答案清华大学出版社Word格式.doc

0011表示3,后面的4位可以是0-9,可以表示ASCII码0-9。

2.由程序或程序员来定义。

数据在计算机中都是用代码来表示的,一个数据(例如00110101)的意义是程序员自己掌握的,程序员把它当做一个字符,就是数字5的ASCII码。

如果说他是一个无符号数,就是代表十进制数53,如果说是组合式BCD码,就代表十进制数35。

3.段定义,包括数据段,堆栈段,代码段等。

数据及变量定义,约定段寄存器与段名的映射,代码段开始,代码段编程,代码段结束,汇编程序结束等。

4.操作符由控制器译码器解释执行,伪操作符由汇编程序(翻译程序)解释执行。

5.转移指令后的标号是偏移地址。

只有当应用该标号的转移指令位置确定后,在该指令地址正负128范围内的标号是短转移,类型是字节,在16位二进制数之内是段内的字类型,超出16位二进制数之外的是段间转移,是双字类型。

6.

(1)DB20,20DUP(0)

(2)DB“Thecourseiseasy”,0

(3)DB“hello….!

!

”,0dh,0ah,”$”

(4)DW100DUP(0)

11.数据定义语句表示,16进制书写。

寻址方式包括立即数、直接、间接寻址等多种。

逻辑地址。

12.指令格式包括操作码、操作数(或地址)两部分,这里的操作数不一定就是要处理的那个数据,也可以是那个数据的地址或寄存器等,是找到那个数的寻址方式。

而参加操作的数据就是指具体的数据。

13.判断操作数的寻址方式是否正确?

说明原因。

(1)[AX];

例如MOVBL,[AX];

错,AX不是地址寄存器

(2)BP;

例如MOVAX,BP;

正确,寄存器寻址

•(3)[SI+DI];

例如MOVAL,[SI+DI]错,不能有2个变址寄存器

•(4)[SP];

例如MOVAL,[SP],错,不能用堆栈指针,堆栈指针只能由堆栈指令操作

•(5)CS;

例如MOVAX,CS;

•(6)BH;

例如MOVAL,BH;

•(7)[BX+BP+32];

例如MOVAL,[BX+BP+32];

错,不能有2个基地址寄存器

•(8)[BL+44];

例如MOVAL,[BL+44];

错,BL不是完整的地址寄存器

•(9)[CX+90];

例如MOVAL,[CX+90];

错,CX不是地址寄存器

•(10)[DX];

例如MOVAL,[DX];

错,DX不是地址寄存器

•(11)BX+90H;

例如MOVAX,BX+90H;

错,不能加

•(12)[BX*4];

例如MOVAL,[BX*4];

错,不能乘

•(13)SI[100H];

例如MOVAX,SI[100H];

正确,相对变址寻址,但写法不好,最好是MOVAX,[SI+100H],MOVAX,100[SI]

•(14)[DX+90H];

例如MOVAX,[DX+90H];

14题

•假定DS=2000H

•ES=2100H

•SS=1500H

•SI=00A0H

•BX=0100H

•BP=0010H

•数据变量wVald的偏移地址为0050H

•指出下列指令源操作数的寻址方式?

(1)MOVAX,0ABH;

立即数寻址

(2)MOVAX,[100H];

直接寻址

•(3)MOVAX,wVald;

直接寻址,等于MOVAX,[0050H]

•(4)MOVBX,[SI];

寄存器间接寻址

•(5)MOVAX,wVald[BX];

相对寄存器寻址,等于MOVAX,[BX+0050H]

•(6)MOVCL,[BX][SI];

基址加变址寻址

•(7)MOVwVald[SI],BX;

源是寄存器寻址,目是相对基址加变址寻址,等于MOV[SI+0050H],BX

•(8)MOV[BP][SI],100;

源是立即数,相对基址加变址寻址

•错,应该是MOVWORD[SI+BP],100;

说明是字或字节

15.已知:

SS=0FF10H,SP=00A0H.

•将8057H和0F79H入栈,再弹出一个数,画出堆栈区的变化。

•程序举例:

•MOVAX,FF10H

•MOVSS,AX

•MOVAX,00A0H

•MOVSP,AX

•MOVAX,8057H

•PUSHAX

•MOVAX,0F79H

•POPBX

•答:

已知SS+SP=FF100+00A0=FF1A0H

•结果SP=009EH

•入堆栈时,堆栈指针SP先减2,再压栈

•出堆栈时,先弹出2个字节的,然后堆栈指针SP加2

栈的数据:

•FF198

•FF19A

•FF19C0F79

•FF19E0557

•FF1A0;

栈底

•或用字节地址看

•FF199

•FF19B0F

•FF19C79

•FF19D05

•FF19E57

•FF19F

•FF1A0;

栈底

23.试编程序。

将内存从40000H到4AFFFH的每个单元中均写入20H,再逐个单元读出比较,看写入的与读出的是否一致。

若全对,则将AL置0FFH;

只要有错,则将AL置00H。

•参考程序:

(仅提供小汇编语句)

•MOVAX,4000H

•MOVDS,AX

•MOVBX,0

•MOVCX,AFFFH

•MOVAL,20H

•L1:

MOV[BX],AL

•CMP[BX],AL

•JNZERROR

•INCBX

•DECCX

•JNZL1

•MOVAL,FFH

•JMPEND1

•ERROR:

MOVAL,0

•END1:

RET

20.按下列要求编写指令序列

•1)清除DH中的最低三位而不改变其他位,结果存入DL中;

•ANDDH,F8H

•MOVDL,DH

•2)把DI中的最高4位置1而不改变其他位;

•ORDI,F000H

•3)把AX中的0-3位置1,7-9位取反,13-15位置0;

•ORAX,000FH

•XORAX,0000001110000000B;

用二进制表示数

•ANDAX,0001111111111111B

•4)测试BX中的第2、5和9位中是否有一位为1;

•TESTBX,0000001000100100B

•JZ全0

•否则,结果非0表示至少有一个1

•5)测试CX中的第1、6和11位是否同时为1;

•MOVAX,CX

•ANDAX,0000100001000010B

•CMPAX,0000100001000010B

•JE等于转,表示3位全为1。

•6)测试AX中的第0、2、9和13位中是否有一位为0;

•ANDAX,0010001000000101;

只看这4位

•XORAX,0010001000000101

•JZ;

说明是全1,没有0

•至少1个0

•7)测试DX中的第1、4、11和14位是否同时为0;

•MOVAX,DX

•ANDAX,0100100000010010B

•JZ=0

•MOVAX,4000H

•MOVDS,AX

•MOVBX,0

•MOVCX,AFFFH

•MOVAL,20H

MOV[BX],AL

•CMP[BX],AL

•JNZERROR

•INCBX

•DECCX

•JNZL1

•MOVAL,FFH

•JMPEND1

RET

24.设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中;

若有一个零,则将其余两个也清零,试编写程序。

先用机器指令编程(用小汇编编程)

•实现此功能的程序方法很多,这里只举一个简单直观的例子。

•设:

变量A、B、C变量存放在1000H开始的单元中,即:

•变量A存放在当前段的1000H单元,

•变量B在1001H单元,

•变量C在1002H单元。

•结果D的地址为1003H单元。

•MOVBX,1000H

MOVAL,[BX]

CMPAL,0;

第一个数A=0?

•JNZL1;

非0转

•MOV[BX+1],AL;

其余2个清0

•MOV[BX+2],AL

•JMPEND1

MOVAL,[BX+1];

;

第2个数B=0?

•CMPAL,0

•JNZL2;

非0转

•MOV[BX],AL

•MOV[BX+2],AL

•JMPEND1

•L2:

MOVAL,[BX+2];

第3个数C=0?

•JNZL3;

•MOV[BX],AL

•MOV[BX+1],AL

•JMPEND1

•L3:

MOVAL,[BX];

3个数都不为零,求3个数的和

•ADDAL,[BX+1]

•ADDAL,[BX+2]

•MOV[BX+3],AL

INT3;

结束,断点,停在此

26.试编写程序,统计由40000H开始的16K个单元中所存放的字符A的个数,并将结果存放在DX中。

•MOVAX,4000H

•MOVDS,AX

•MOVBX,0

•MOVCX,4000H;

16K个数

•MOVDX,0;

用DX记录A的个数

MOVAL,[BX]

•CMPAL,41H;

CMPAL,’A’

•JNZL2

•INCDX;

累加器+1

•L2:

INCBX

•DECCX;

(LOOPL1)

•JNZL1

30题。

键盘输入10个数,变成密码后存到BUFF缓冲区去

设密码缓冲区首地址=120H,加密后的数字缓冲区BUFF首地址=130H(仅提供小汇编语句)

•MOVSI,120H;

密码缓冲区首地址=120H

•MOVDI,130H;

加密后的数字缓冲区首地址=130H

•MOVCX,0AH;

共10个数字

•MOVBX,0;

偏移地址清0

•10CMOVAH,1

•INT21H;

等待输入一个数字

•CMPAL,0DH;

是回车?

•JZEND1

•ANDAL,0FH;

留下低4位

•MOVBL,AL

•MOVAL,[SI+BX];

取1个数字的密码

•MOV[DI],AL;

送加密缓冲区

•INCDI

•DECCX

•JNZ10C

•END1:

INT3;

结束

•120DB7591368024

第五章169页

1.因为引脚不够,采用了复用技术,在外部必须用锁存器分开地址和数据线。

主要是地址信息。

2.MEMR=1,MEMW=0,IOR=1,IOW=1.。

反之,MEMR=0,MEMW=1,IOR=1,IOW=1。

3.地址数据线分时用,还有S0-S6,主要解决引脚不够的问题。

4.总线周期包括4个时钟周期,但存储器速度慢时,需要插入等待周期Tw。

插入多少个由存储器的读写时间来决定。

一般是1-2个。

5.复位后,只有CS=ffffh,其余都是0,系统从FFFF:

0000=FFFF0H单元开始执行。

第六章191页

1.尽管E2PROM速度已经很快,但还是跟不上CPU随机读写的速度,另外,E2PROM是快写,不能当RAM用。

2.E2PROM是电信号擦除,擦写速度快,可以在线擦除与改写。

EPROME是紫外线擦除,需要从电路板上取下来,紫外光照射10分钟,用专门的编程工具才能编程。

E2PROM的优点是可以在线编程,编程速度快,但容易被病毒利用。

计算机BIOS必须放在EPROME中,才能避免病毒破坏。

3.正比关系。

5.译码电路。

7.如果少用最高位2根地址线,重复空间有22=4块,。

少用x根地址线,重复空间有2x块。

9.

(1)需128片。

10.

11.

12.

13.MOVAX,[2001H]不好,多用一个总线周期。

慢。

14.

15.A1A0不参加译码。

16.2,4,8字节。

第八章

23题MOVAL,36H,OUTD3H,AL

MOVAX,0064H,OUTD0H,AL,MOVAL,AH,OUTD0H,AL

MOVAL,B0H,OUTD3H,AL

MOVAX,0032H,OUTD2H,AL,MOVAL,AH,OUTD2H,AL

24题可以用中断方式或程序控制方式实现。

如果用程序控制方式,假设8255的A口接8个指示灯,B口PB7位做8254定时时间到的OUT输出线,设8255的口地址=60H,设8254的口地址=40H,

设用8254的计数器1,工作在方式3方波发生器,已知CLK1=1000HZ,即Tclk=1/1000=1ms,希望输出T=1s,分频系数=该是1msx1000=1s。

主程序:

MOVAL,82H;

8255编程,A方式0出,B方式0入,C出;

OUT63H,AL;

MOVAL,77H,OUTD3H,AL;

8254计数器1方式3;

BCD计数;

MOVAX,1000H,OUTD1H,AL;

MOVAL,AH,OUTD1H,AL

MOVBL,01H

L1:

INAL,61H

ANDAL,80H;

JZL1;

=0等待

L2:

MOVAL,BL;

=1,输出1个灯亮

OUT60H,AL;

一个灯亮

ROLBL,1;

左循环移1位

L3:

INAL,61H;

ANDAL,80H

JNZL3;

=1等待

JMPL1;

27题,异步方式每个字节都需要加起始位、停止位等,传输效率就低了,单位时间传输的字符数就就低了。

同步方式每个字节可以不要起始位、停止位及校验位,直接连续传数据,效率高。

单位时间内传输的字节数就多了。

28题,先运行接收方程序。

29题,(仅供参考,基本意思到位就可以了,是否先复位等不要紧)

MOVCX,3

MOVAL,0

ST1:

OUT52H,AL;

先送3个0,复位

DECCX

JNZST1

MOVAL,40H

OUT52H,AL;

复位8251

MOVAL,11111010B;

2停止位,偶校验,7位数据,波特率因子16

OUT52H,AL

MOVAL,00010111B;

出错标志复位,允许接受,数据准备好,允许发送。

30题、已知一秒钟传输1200bps/10位格式=120Byte,传1024字节需要1024/120B=8.53秒。

第九章

1题、显示“5”的7段码是1011011=5BH

2题,这道题不用改了,原题不好。

打个半对就行了。

3题。

(仅供参考方法不唯一,基本意思到位就可以了)

L1:

INAL,20H

CMPAL,0;

有按键?

没有就等待

JZL1

INAL,20H;

取来按键的键号

MOVCX,8;

共8个键

MOVBL,1;

初值1

L2:

SHRAL,1;

右移一位,最低位到进位位。

JCL3;

INC

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2