微机原理与接口技术习题集文档格式.docx

上传人:b****6 文档编号:16263036 上传时间:2022-11-22 格式:DOCX 页数:25 大小:148.92KB
下载 相关 举报
微机原理与接口技术习题集文档格式.docx_第1页
第1页 / 共25页
微机原理与接口技术习题集文档格式.docx_第2页
第2页 / 共25页
微机原理与接口技术习题集文档格式.docx_第3页
第3页 / 共25页
微机原理与接口技术习题集文档格式.docx_第4页
第4页 / 共25页
微机原理与接口技术习题集文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术习题集文档格式.docx

《微机原理与接口技术习题集文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术习题集文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术习题集文档格式.docx

7、在最小模式时CPU访问内存储器,哪些信号有效?

什么是总线周期?

8086CPU的一个总线周期包括多少时钟周期,什么情况下要插入Tw等待周期?

插入多少个Tw等待周期取决于什么因素?

8、在最小模式时,CPU访问I/O接口,哪些信号有效?

9、什么是中断向量?

中断向量表指的是什么?

中断向量表放在什么地方?

假如中断

类型为20,它的中断服务入口地址是多少?

第三章习题

判断下列问题是否正确,请说明理由。

1、寄存器间接寻址方式中,操作数在中。

A)通用寄存器B)堆栈C)存储器D)段寄存器

2、假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSHAX后,存

储单元=12H。

A)20014B)20011HC)20010HD)2000FH

3、若要检查BX寄存器中的D12位是否为1,应该用指令。

A)ORBX,1000HB)TESTBX,1000H(JNZYES)

C)XORBX,1000HD)ANDBX,1000H(JNZYES)

4、用BP作基址变址寻址时,操作数所在的段是。

A)数据段B)代码段C)堆栈段D)附加段

5、含有立即数的指令中,该立即数被存放在。

A)累加器中B)指令操作码后的内存单元中

C)指令操作码前的内存单元中D)由该立即数所指定的内存单元中

6、执行下列指令后:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

可用指令

来完成该功能。

A)REPLODSB

B)

REPSTOSB

C)REPESCASB

D)REPMOVSB

8、设(AL)

=-68,

(BL)=86

,执行SUBAL,

BL指令后,正确的结果

是。

A)CF=1B)

SF=1

C)OF=1

D)ZF=1

三、简答题

1、写出下列指令中源操作数和目的操作数的寻址方式的有

A)SCASBB)XLATC)MOVSBD)DAAE)NOPF)MULBH

4、假设(DS)=3000H,(BX)=0808H,(30808H)=012AAH,(3080A)=0BBCCH,当执行指令

2F00H,

MULCX

HLT

贝y(ax)=。

A)8D00HB)9260HC)8CA0HD)0123H

7、下列程序:

NEXT:

MOVAL,[SI]

MOVES:

[DI],AL

INCSI

INCDI

LOOPNEXT

5、假设(BX)=0449H,(BP)=0200H,(SI)=0046H,(SS)

(2F246H)=7230H则执行XCHGBX,[BP+SI]指令后,(BX)=?

6、执行下列指令序列后,完成的功能是什么?

MOVCX,4

SHRDX,1

RCRAX,1

7、下列指令执行后,BX=?

MOVCL,3

MOVBX,4DABH

ROLBX,1

RORBX,CL

8、执行下列指令序列,AH=?

AL=?

MOVAL,80H

MOVBL,08H

CBW

IDIVBL

第四章习题

1、阅读程序并回答问题:

START:

INAL,20H

MOVBL,AL

INAL,30H

MOVCL,AL

MOVAX,0

MOVCH,AL

L1:

ADDAL,BL

Lesdi,[bx]”后,(di)=?

,(es)=?

ADCAH,0

LOOPL1

中。

方法一、LEABX,TABLE

(1)本程序实现什么功能?

(2)结果在哪里?

(3)用乘法指令MULBL编程并使结果不变。

(假设20H、30H端口输入的数据均为无符号数)。

2、读下述程序段,请问:

什么情况下,本段程序的执行结果是AH=0?

BEGIN:

INAL,5FH

TESTAL,80H

JZNEXT

MOVAH,0

JMPSTOP

MOVAH,OFFH

STOP:

HLT

3、请编写一程序段完成AXX10的任务(要求不准用乘法指令做)。

4、内存中自TABLE开始的七个单元连续存放着自然数0至6的立方值(称作立方表)。

任给一数X(0WXW6)在XX单元,查表求X的立方值,并把结果存入YY单元

MOVAL,

XX

方法二、LEABX,

XLAT

MOVYY,

5、符号函数

-1

J0

卜1

TABLE

AL

.0(_128<

X<

127)

=0

:

假设任意给定的X值放在XX单元中,函数Y的值存放在YY单元中。

CMPAL,

JGEBIGR

0FFH

BIGR:

JEEQUL

1

EQUL:

的不同值给Y赋值的程序:

编程实现根据X

6、试编写一程序段,使数据段中偏移地址为0200H开始的128B单元的内容清0。

LEASI,CHR1

、S7分别存放在以S0、S1、…、S7为首地址的内存区域中,而这8个首地址偏移量连续存放在以BASE为首地址的跳转表内。

假设8种产品的编号分别为0、1、2、…、7,请编程实现根据产品编号跳转到相应的执行程序。

9、统计一个20字数据块中负元素的个数,数据块的首地址为BASE,负元素的个数存放在这20字数据块之后的单元中。

LEABX,BASE

MOVCX,20

MOVDX,0

LOP1:

MOVAX,[BX]

CMPAX,0;

可用ANDAX,AX

JGEJUS

INCDX

JUS:

INCBX

INCBX

DECCX

JNZLOP1;

或LOOPLOP1

MOV[BX],DX

10、已知存储器中存放有100个8位带符号数,存储区的首地址为ARRAY,试将其中的最大值和最小值找出来,分别存放在MAX和MIN单元中。

LEASI,ARRAY

MOVCX,100

MOVAL,80H;

-128送AL

LP1:

CLC

CMPAL,[SI]

JLBB

JMPAA

BB:

MOVAL,[SI]

AA:

INCSI

LOOPLP1

MOVMAX,AL

找出最大数

JCNEXT

;

CF=1

转NEXT

INCCH

CF=0

则CH内容加1

INCCL

则CL内容加1

DECDL

JNZLP

12、数据段中有两个字符串,分别存在STR1和STR2开始的单元中。

比较两个字符

13、编制一个程序,对DAT字节单元中的数(255)分别统计出有多少个10,余下

有多少个5,再余下有多少个2,再余下有多少个1。

统计得到的各数分别存在

MOVAL,07FH;

+127送AL

LP2:

JGCC

JMPDD

CC:

DD:

LOOPLP2

MOVMIN,AL;

找出最小数

11、统计寄存器AX内16位二进制数中0、1的个数,0的个数存CH,1的个数存CL。

MOVCX,0;

清CH、CL

MOVDL,16循环16次

CLC;

清进位位

LP:

RCLAX,1;

带CF循环左移

DX为0,否则使DX为0FFFFH

取源串首地址

取目的串首地址

字符串长度送计数寄存器

增地址

串比较

是否比较到最后字节

串相等转EQQ

否则0送DX寄存器

0FFFFH送DX寄存器

DAT0、DAT1、DAT2、DAT3中。

方法一:

LEABX,DAT;

取首址

MOVAL,[BX];

取这个字节数

MOVAH,0;

AH清0

MOVDL,10;

DIVDL除10

MOVDAT0,AL;

商即10的个数

MOVAL,AH

MOVAH,0

MOVDL,5

DIVDL

余数除5

MOVDAT1,AL;

商即

的个数

MOVDL,2

MOVDAT2,AL

MOVDAT3,AH

商即2的个数

余数即1的个数

方法二

MOVBL,DAT

取数

MOVCL,0;

计数个数

AA:

SUBBL,10;

减10

JCBB;

借位转BB

INCCL;

否则CL加1

MOVDAT0,CL;

存10个数

MOVCL,0

ADDBL,10;

恢复BL差值

BB1:

SUBBL,5

余数除2

JCCC

JMPBB1

MOVDAT1,CL;

存5个数

ADDBL,5;

恢复

DD1:

SUBBL,2

JCDD

JMPDD1

DD:

MOVDAT2,CL;

存2个数

ADDBL,2

MOVDAT3,BL;

存1个数

14、写出实现下列功能的指令组

(1)传送10H到AL寄存器

(2)将AL的内容乘以2

(3)传送15H到BL寄存器

(4)AL的内容乘以BL的内容问:

最后结果AX=?

15、计算Z=((X+Y)X5-Y)/2。

设X的值为2,Y的值为1,结果存入数据段中

的DATA单元。

16、编程检测50H端口输入的字节数据,若为正,将BL清0;

若为负,将BL置为

FFH。

VR3DDCONTDUP(?

VR4DB2DUP(?

,CONTDUP(0))

VR5DBHOWAREYOU?

'

解:

为VR1分配2字节;

为VR2分配10字节;

为VR3分配40字节;

22字节;

为VR5分配12字节。

2、下面语句有何区别?

X1EQU1000H

和X2=1000H

17、寄存器DX和AX的内容构成32位数,DX内容为高16位,AX内容为低16位,编写程序段:

1)将该32位数左移两位,并将移出的高位保存在CL的低两位中;

2)将该32位数右移两位,并将移出的低位保存在BL的低两位中。

数据段中以变址寄存器SI为偏移地址的内存单元中连续存放着十个字节压缩型BCD

为X1赋值1000H,之后,不能再对X1重新赋值;

为X2赋值1000H,以再对X2重新赋值。

3、分析操作符有哪几种?

分别举例加以说明

(1)SEG[符号名]

如:

MOVAX,SEGDATA

码,编程求它们的BCD和,要求结果存放到AX中。

第五章习题

1、下列语句在存储器中分别为变量分配多少字节?

VR1DW9

VR2DW4DUP(?

),2

CONTEQU10

(2)OFFSET[符号名]女口:

MOVAX,OFFSETDAT

(3)TYPE[符号名]女口:

MOVAX,TYPEA

(4)SIZE[符号名]女口:

MOVAX,SIZED1

(5)LENGTH[符号名]女口:

MOVAX,LENGTHD1

注:

DATA是段名;

DAT是定义的变量名;

A是定义的数据类型变量名

DUP()定义的变量名。

4、8086/8088汇编语言程序中段的类型有几种,各段如何定义?

段定义中

型、组合类型、类别名各起什么作用,各有什么含义?

5、宏定义如下,请冋要把BX寄存器左移4位,如何进行宏调用?

SHIFTMACROX,Y,Z

MOVCL,X

SA&

YZ,CL

ENDM

VR4分配

之后,可

D1是用

定位类

6、某软件共可接收10个键盘命令(分别为A、B、C、…、J),完成这10个命令的程序分别为过程P0、P1、…、P9。

编程序从键盘接收命令,并转到相应的过程去执行。

要求用两种方法:

(1)用比较、转移指令实现。

(2)用跳转表实现

7、内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90-100、60-89、60以下者各有多少人,并把结果连续存放到自RESUT开始的单元(要求画出程序流程图,各段定义完整)。

程序清单:

DATASEGMENT

数据段

BUFDB?

?

•••,

?

疋义学生成绩表

RESUTDB?

放置分数段统计值

DATAENDS

STACKSEGMENT

堆栈段

DB50DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,

DS:

DATA,SS:

STACK

MAINRPOCFAR

PUSHDS

XORAX,0

PUSHAX,0;

保护DOS

MOVAX,DATA

MOVDS,AX

LEABX,BUF

成绩表首址

MOVCX,100

学生人数

MOVAH,0

低于60分人数

MOVDH,0

60-89分学生人数

MOVDL,0

90-100分学生人数

AAA1:

MOVAL,[BX]

CMPAL,60

与60比较

JGEBBB1

INCAH

JMPCCC1

大于等于转BBB1

BBB1:

CMPAL,90

与90比较

JGEBBB2

INCDL

大于等于转BBB2

CCC1:

LOOPAAA1

修改成绩表位置

MOVRESUT,

AH;

存放统计结果

MOVRESUT+1

DL

MOVRESUT+2

RET

MAINENDP

DH

CODEENDS

END

8、编程序一边从键盘上接收字符,一边将其写入指定的文件,字符个数共60。

ENGLISHDB'

PRESSRETURNKEYTOEXIODH,OAH,‘$'

BUFDB60;

第一个字节设的最大长度(含0DH-回车符)

DB0;

第二个字节空出,由DOS最后填实际长度(不含0DH)

DB61DUP(0);

第三字节开始写字符

DB'

$'

DW20DUP(0)

ASSUMECS:

CODE,SS:

STACK,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

LEADX,ENGLISH

MOVAH,09H

INT21H

LEADX,BUF

MOVAH,0AH

MOVAH,4CH

ENDBEGIN

本题中,最多可输入60个字符,BUF中第61个内存单元可存放回车代码。

9、编制一个程序,实现DAT1和DAT2相加,数据格式如下

DAT1DB4,12H,34H,56H,78H

DAT2DB3,12H,34H,56H

其中DAT1和DAT2单元的第一个数据指定该数的字节数。

DATASEGMENTPARA'

DATA

STACKSEGMENTPARA'

DW100DUP(?

CODE,DS:

DATA,SS:

STACK,ES:

STARTPROCFAR

MOVAX,DATA

MOVES,AX

LEASI,DAT1

LEADI,DAT2

MOVBX,[SI]

MOVCX,[DI]

CLC

MM:

MOVAL,[DI]

ADC[SI],AL

DECBX

LOOPMM

M1:

JZ,M2

JNCM2

ADCBYTEPRT[SI],0

JMPM1

M2:

RET

STARTENDP

10、编制一程序,把字符串’123456789(中的’’456清除,将字符串变为’123890

DATASEGMENTPARA’DATA'

DATDB’1234567890'

STACKSEGMENTPARA’STACK'

DW100DUP⑺

DATA,ES:

LEASI,DAT

LEADI,DAT

ADDDI,3

ADDSI,7

MOVCX,3

CLD

REPMOVSB

ENDS

11、定义一条宏指令,它可以实现任一数据块的传送,只要给出源和目的数据块的首地址以及数据块的长度即可。

然后采用宏调用把BUF1开始的100个字节单元中的数据依次传送到BUF2开始的100个字节单元中。

12、已知数据段DAT单元存放某一数N(-6WNW6),请编写程序,用查表法求数N的平方值,结果送SQR单元。

TABLEDB0,1,4,9,16,25,36

DATDBN

SQRDB?

DW20DUP(0)

CODE,

DS:

DATA,SS:

XORAX,

AX

PUSHAX

LEABX,TABLE

DAT

6

JGAA

-6

JGENEXT

MOVSQR

,al

第六章习题

1、可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?

其中C口的使用有

哪些特点?

4、试编写程序,将从8255A的端口A输入的数据,随即向端口B输出,并对输入的数据加以判断,当大于等于80H时,置位PC5和PC2,否则复位PC5和PC2。

设825

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1