微型计算机技术孙德文版课后习题答案全解.docx

上传人:b****2 文档编号:17014280 上传时间:2023-07-21 格式:DOCX 页数:69 大小:213.51KB
下载 相关 举报
微型计算机技术孙德文版课后习题答案全解.docx_第1页
第1页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第2页
第2页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第3页
第3页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第4页
第4页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第5页
第5页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第6页
第6页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第7页
第7页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第8页
第8页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第9页
第9页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第10页
第10页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第11页
第11页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第12页
第12页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第13页
第13页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第14页
第14页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第15页
第15页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第16页
第16页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第17页
第17页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第18页
第18页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第19页
第19页 / 共69页
微型计算机技术孙德文版课后习题答案全解.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微型计算机技术孙德文版课后习题答案全解.docx

《微型计算机技术孙德文版课后习题答案全解.docx》由会员分享,可在线阅读,更多相关《微型计算机技术孙德文版课后习题答案全解.docx(69页珍藏版)》请在冰点文库上搜索。

微型计算机技术孙德文版课后习题答案全解.docx

微型计算机技术孙德文版课后习题答案全解

第1章

(略)

第2章

(略)

第3章

3.1.已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。

在以上给出的环境下,试问下列指令或指令段执行后的结果如何?

(1)MOVCL,[BX+20H][SI];

(2)MOV[BP][DI],CX;

(3)LEABX,[BX+20H][SI]

MOVAX,[BX+2];

(4)LDSSI,[BX][DI]

MOV[SI],BX;

(5)XCHGCX,[BX+32H]

XCHG[BX+20H][SI],AX

解:

(1)CL=[09226H]=F6H

(2)[BP][DI]=[1E4F6H]=CX=5678H

(3)BX=0056H;AX=[09228H]=1E40H

(4)SI=[09226]=00F6H;[SI]=[1E4F6H]=BX=0024H

(5)AX=5678H;[BX+20H][SI]=1234H

3.2.设,DS=1000H:

SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(1135OH)=OA5H,(11351H)=3CH,(11352H)=OFFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H

下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。

(1)MOVAX,1352H

AX=

(2)MOVAX,[1352H]

AX=

(3)MOV0150H[BX],CH

(11350H)=,(11351H)=

(4)MOVAX,0150H[BP]

AX=

(5)POPAX

AX=,SP=

(6)ADD[SI],CX

(11354H)=,(11355H)=,SF=

ZF=,PF=,CF=,OF=

(7)SUBBH,0150H[BX][SI]

BH=,SF=,ZF=,

PF=,CF=,OF=

(8)INCBYTEPTR0152H[BX]

(11352H)=,(11353H)=______,CF=______

(9)INCWORDPTR0152H[BX]

(11352H)=,(11353H)=,CF=

(10)SARBYTEPTR0150H[BX],1

(11350H)=,CF=,OF=

(11)SALBYTEPTR0150H[BX],

(11350H)=,CF=,OF=

解:

(1)AX=1352H

(2)AX=26FFH

(3)[11350H]=33H;[11351H]=3CH

(4)AX=5188H

(5)AX=5188H;SP=1352H

(6)[11354H]=ECH;[11355H]=1AH;SF==ZF=PF=OF=0;CF=1

(7)BH=75H;SF==ZF=PF=OF=0;CF=1

(8)[11352H]=00H;[11353H]=26H;CF不变

(9)[11352H]=00H;[11353H]=27H;CF不变

(10)[11350H]=D2H;CF=1;OF=0

(11)[11350H]=4AH;CF=1;OF=1

3.3.设下列各转移指令的第一字节在内存中的地址为CS=2000H和IP=016EH,且环境均为;DS=6000H,BX=16C0H,(616COH)=46H,(616C1H)=01H,(616C2H)=00H,(616C3H)=30H,(61732H)=70H,(61733H)=17H。

写出下列各无条件转移指令执行后CS和IP值。

各指令左首的16进制编码是该指令的机器码。

指令中的目的地址用相应的标号表示。

(1)EBE7JMPSHORTAGAIN

(2)E90016JMPNEARPTROTHER

(3)E3JMPBX

(4)EA46010030JMPFARPROB

(5)FF67JMPWORDPTR0072H[BX]

(6)FFEBJMPDWORDPTR[BX]

解:

(1)CS=2000H;IP=0157H

(2)CS=2000H;IP=1771H

(3)CS=2000H;IP=16C0H

(4)CS=3000H;IP=0146H

(5)CS=2000H;IP=1770H

(6)CS=3000H;IP=0146H

3.4.阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。

(1)MOVBL,85H

MOVAL,17H

ADD,AL,BL

DAA

AL=,BL=,CF=

(2)MOVAX,BX

NOTAX

ADDAX,BX

INCAX

AX=,CF=

(3)MOVAX,OFF60H

STC

MOVDX,96

XORDH,OFFH

SBBAXDX

AX=,CF=

(4)MOVBX,OFFFEH

XOVCL,2

SARRX,CL

BX=,CF=

解:

(1)AL=02H;BL=85H;CF=1

(2)AX=0000H;CF=0

(3)AX=0000H;CF=0

(4)BX=0FFFFH;CF=1

3.5.阅读分析下列指令序列

ADDAX,BX

JNOL1

JNOL2

SUBAX,BX

JNCL3

JNOL4

JMPL5

若AX和BX的初始值分别如下列五种情况所示,则执行该指令序列后,程序将分别转向何处执行(注:

即写出转移去的目的地址L1~L5中的一个)。

(1)AX=14C6H,BX=80DCH

(2)AX=0B568H,BX=54B7H

(3)AX=42C8H,BX=608DH

(4)AX=0D023H,BX=9FD0H

(5)AX=9FD0H,BX=0D023H

解:

(1)转向L1

(2)转向L1

(3)转向L2

(4)转向L5

(5)转向L5

3.6.ANDAL,AL

JZBRCH1

RCRAL,1

JZBRCH2

RCLAL,1

INCAL

JZBRCH3

上述程序运行后,试回答:

(1)当(AL)=时,程序转向BRCH1

(2)当(AL)=时,程序转向BRCH2

(3)当(AL)=时,程序转向BRCH3

解:

(1)AL=00H

(2)AL=01H

(3)AL=0FFH

3.7.完成下列操作,选用什么指令:

(1)将AX的内容、减去0520H,和上次运算的借位;

(2)将变量名TABL的段地址送AX;

解:

(1)SBBAX,0520H

(2)MOVAX,SEGTABL

3.8.D1DB20HDUP(?

D2DWD1

请写出用一条指令实现取D1的偏移地址→SI中的三种方法。

解:

(1)MOVSI,OFFSETDI

(2)MOVSI,D2

(3)LEASI,DI

3.9.程序段1程序段2

MOVAX,147BHMOVAX,99D8H

MOVBX,80DCHMOVBX,9847H

ADDAX,BXSUBAX,BX

JNOL1JNCL3

JNCL2JNOL4

上述两个程序段执行后,分别转移到哪里?

解:

(1)转向L1

(2)转向L3

3.10.MOVBX,0FFH

ANDBX,0FFFH

ORBX,0F0FH

XOR BX,00FFH

上述程序段运行后,BX=,CF=

解:

BX=0F00H;CF=0

3.11.CMPAX,BX

JGENEXT

XCHGAX,BX

NEXT:

CMPAX,CX

JGEDONE

XCHGAX,CX

DONE:

试回答:

(1)上述程序段执行后,原有AX,BX,CX中最大数存放在哪个寄存器中?

(2)这三个数是带符号数还是无符号数?

解:

AX;带符号数

第4章

4.1画出下列语句中的数据在存储器中的存储情况。

ARRAYBDB63,63H,‘ABCD’,

3DUP(?

),2DUP(1,3)

ARRAYWDW1234H,5,‘AB’,‘CD’,?

2DUP(1,3)

解:

地址

数据

地址

数据

ARRAYB

3FH

42H

63H

41H

41H

44H

42H

43H

43H

?

44H

?

?

01H

?

00H

?

03H

01H

00H

03H

01H

01H

00H

03H

03H

34H

00H

12H

05H

00H

4.2.程序中数据定义如下:

DATA1DW?

DATA2DB32DUP(?

DATA3DD?

DLENGTHEQU$-DATA1

此时DLENGTH的值是多少?

解:

DLENGTH=38=26H

4.3.程序中数据定义如下:

ARRAYDB‘ABCDEF’

RESULTDB?

TABLEDW20DUP(?

则执行指令MOVAX,TYPERESULT后,AX=?

MOVBX,TYPETABLE后,BX=?

MOVCX,LENGTHTABLE后,CX=?

MOVDX,LENGTHARRAY后,DX=?

MOVSI,SIZETABLE后,SI=?

MOVDI,SIZEARRAY后,DI=?

解:

AX=1;BX=2;CX=20;DX=1;

SI=40;DI=1

4.4.指令ANDAX,7315HAND0FFH中,两个AND有什么差别?

这两个AND操作分别在什么时候执行?

解:

左为助记符,由CPU执行指令时运算;

右为运算符,由汇编程序在汇编时运算。

4.5.设BX=1034H,则执行下列指令

MOV AX,BX AND 0FFH

MOV CX,BX EQ 1234H

后,AX和CX各为多少?

若BX=1234H,则结果如何?

解:

AX=0034H;CX=0000H;

AX=0034H;CX=FFFFH

4.6.设已知语句为:

ORG0024H

DATA1DW4,12H,$+4

则执行指令MOV AX,DATA1+4后AX的值是多少?

解:

AX=002CH

4.7.已知数据定义语句为:

BUFFERDB16DUP(O,2DUP

(1))

则其中字数据单元内容为0100H的单元数是多少?

解:

16个

4.8.要在以DA1为首址的数据区中依次存放下列数据;

‘A’,‘B’,O,0,‘C’,‘D’,0,0

请分别用DB、DW和DD语句实现。

解:

DATDB‘A’,‘B’,0,0,’C’,’D’,0,0

DATDW‘BA’,0,’DC’,0

DATDB‘BA’,’DC’

4.9.试按下列要求在数据段中依次书写各数据定义语句:

(1)以DA1为首字节的连接存储单元中存放20H个重复的数据序列:

2,3,10个4,一个7。

(2)DA2为字符串变量,用字变量(DW)设置一字符串;‘STUDENTS’(按此顺序存放在各单元中)

(3)用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。

解:

(1)DAT1DB20HDUP(2,3,10DUP(4),7)

(2)DAT2DW‘TS’,‘DU’,’NE’,’ST’

(3)COUNTEQUDATA2-DATA1

4.10.下面程序段是实现从键盘输入十个一位10进数后累加。

最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。

试把程序段中所空缺的指令填上。

XORBX,BX

LOP:

MOVAH,01H;键盘字符输入

INT21H

MOVAH,BH

ADDAL,BL

MOVBX,AX

解:

MOVCX,10

AAA

4.11.下面程序段的功能是把DA1数据区的数0~9转换为对应的ASCII码。

试完善本程序段。

DA1DBOOH,O1H,02H,03H,04H,05H,06H,07H,08H,09H

ASCIDB10DUP(?

CUNT=ASCI-DA1

LEASI,DA1

LEADI,ADCI

LOP1:

MOYAL,[SI]

MOV[DI],AL

INCSI

INCDI

LOOPLOP1

解:

MOVCX,COUT

ADDAL,30H

4.12.BUFF‘ABD$QC%$A…XYZ’

CONTEQU$-BUFF

CLD

LEADI,BUFF

MOVCX,CONT

MOVAL,‘$’

XORDX,DX

NEXT:

REPNZSCA,SB

CMPCX,0

JZK1

INCDX

JMPNEXT

K1:

上述程序段运行后,DX中的值表示的意义是什么?

解:

DX中为$个数

4.13.设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。

DATASEGMENT

ADB1,2,3,4,5,6,7,8,9,0AH

DRGOO10H

BDB0AH,9,8,7,6,5,4,3,2,1

DATAENDS

LEASI,A

LEADO,B

MOVCX,10

LOP:

LODSB

XCHGAL,[DI]

DECDI

STOSB

INCDI

LOOPLOP

解:

XCHGSI,DI

XCHGSI,DI

4.14.现有一子程序:

SUB1PROC

TESTAL,80H

JEPLUS

TESTBL,80H

JNEEXITO

JMPXCHANGE

PLUS:

TESTBL,80H

JEEITO

XCHANGE:

XCHGAL,BL

EWITO:

RET

SUB1ENDP

试回答:

(1)子程序的功能是什么?

(2)如调用子程序前AL=9AH,BL=77H,那么返回主程序时,AL=?

BL=?

解:

(1)测试AL,BL两数的符号,如为同号直接返回,如为异号,则AL与BL交换

(2)AL=77H,BL=9AH

4.15.编写一程序段,将AL中的第7和0位,第6和1位,第5和2位,第4和3位互换。

解:

MOVCX,8

MOVAH,0

K1:

SHRAL,1

RCLAH,1

DECCX

JNZK1

MOVAL,AH

4.16.试编写一程序段,在CHAR为首址的26个字节单元中依次存放字母‘A’~‘Z’

解:

MOVAL,‘A’

MOVDI,OFFSETCHAR

MOVCX,26

LOP:

MOV[DI],AL

INCAL

INCDI

LOOPLOP

4.17.设在数据段中有X,Y两变量(字节单元),试编写程序段计算(只写有关程序功能的指令):

X当X≥0时

Y=

|X|当X<0时

解:

MOVAL,X

CMPAL,0

JGEBIGR

NEGAL

BIGR:

MOVY,AL

4.18.编程序段计算SUM==al+a2+…+a20,已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,和数SUM也为两个字节。

(要求用循环结构编写,循环控制采用计数控制)。

此题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。

解:

MOVAX,0

MOVBX,OFFSETBUF

MOVCX,20

LOP:

ADDAX,[BX]

INCBX

INCBX

LOOPLOP

MOVSUM,AX

4.19.编写一个完整的源程序,将BUF字节单元存放的两位BCD码,转换成2个字节的ASCII码,并分别存放在ASC和ASC+1字节单元中。

例如:

(BUF字节单元)=58H,那么(ASC字节单元)=35H,(ASC+1字节单元)=38H。

解:

DATASEGMENT

BUFDB58H

ASCDB2DUP(?

DATAENDS

STACK1SEGMENTPARASTACK

DW20HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,BUF

ANDAL,0F0H

MOVCL,4

SHRAL,CL

ORAL,30H

MOVASC,AL

MOVAL,BUF

ANDAL,0FH

ORAL,30H

MOVASC+1,AL

MOVAL,4CH

INT21H

CODEENDS

ENDSTART

4.20.在A1单元开始定义了一长度为N的字符串,找出其中所有的小写字母并存放到以A2开始的存储区中。

统计出小写字母的个数,存放到SL单元中。

请编一完整的源程序。

数据段如下:

DATASEGMENT

A1DB‘…’

NEQU$-A1

A2DBNDUP(?

SLDB?

DATAENDS

解:

DATASEGMENT

A1DB‘……’

NEQU$-A1

A2DBNDUP(?

SLDB?

DATAENDS

STACKSEGMENTPARASTACK

DW10HDUP(0)

STARTENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

LEASI,A1

LEADI,A2

MOVCX,N

XORBL,BL

AGAIN:

MOVAL,[SI]

CMPAL,‘a’

JBEXIT

CMPAL,‘z’

JAEXIT

MOV[DI],AL

INCBL

INCDI

EXIT:

INCSI

LOOPAGAIN

MOVSL,BL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.21.设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。

并写出主程序的调用方式。

数据段如下:

DATASEGMENT

DATDBXXH

SQRTABDB0,1,4,9,…7781

SQRDB?

DATAENDS

解:

DATASEGMENT

DATDBXXH

SQRTABDB0,1,4,9,……,81

SQRDB?

DATAENDS

STACK1SEGMENTPARASTACK

DB20HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

…………

CALLSUBROT

……

MOVAH,4CH

INT21H

SUBROTPROC

PUSHAX

PUSHBX

LEABX,SQRTAB

MOVAL,DAT

TESTAL,80H

JNSNEXT

NEGAL

NEXT:

XLATSQRTAB

MOVSQR,AL

POPBX

POPAX

RET

SUBROTENDS

CODEENDS

ENDSTART

4.22.编写能完成下列要求的程序:

测试字节数据STATUS,若其中位1、3、5有一位是“1”,程序就转至ROUT1;若有二位是“1”,就转向ROUT2;若三位都是“1”,就转向ROUT3;若这三位没有一位是“1”,就转向ROUT4。

解:

MOVAL,STATUS

ANDAL,00101010B

JZROUT4

CMPAL,00101010B

JZROUT3

TESTAL,00001010B

JZROUT1

TESTAL,00101000B

JZROUT1

TESTAL,00100010B

JZROUT1

JMPROUT2

HLT

4.23.STRING字符串的最大长度为80个字符,字符串的结束用字符$表示。

编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格在字符串中的位置(00~4FH)存入POST单元;若无空格则将-1存入POST。

解:

DATASEGMENT

STRINGDB‘……$

LENT’EQU$-STRING

POSTDB?

SEARCH:

MOVBX,OFFSETSTRING

MOVDL,20H

MOVPOST,0FFH

LOP:

MOVAL,[BX]

INCBX

CMPAL,‘$’

JZSTP

CMPAL,DL

JNZLOP

DECBX

MOVPOST,BX

STP:

MOVAH,4CH

INT21H

第5章

5.1.用下列芯片构成存储系统,各需要多少个RAM芯片?

需要多少位地址作为片外地址译码?

设系统为20位地址线,采用全译码方式。

(1)512×4位RAM构成16KB的存储系统;

(2)1024×1位RAM构成128KB的存储系统;

(3)2K×4位RAM构成64KB的存储系统;

(4)64K×1位RAM构成256KB的存储系统;

解:

1)需要16KB/512×4=64片

片外地址译码需11位地址线。

2)需要128KB/1K×1=1024片

片外地址译码需10位地址线。

3)

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

当前位置:首页 > PPT模板 > 商务科技

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

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