微机原理与接口技术习题答案.docx

上传人:b****5 文档编号:27696874 上传时间:2023-07-04 格式:DOCX 页数:23 大小:23.31KB
下载 相关 举报
微机原理与接口技术习题答案.docx_第1页
第1页 / 共23页
微机原理与接口技术习题答案.docx_第2页
第2页 / 共23页
微机原理与接口技术习题答案.docx_第3页
第3页 / 共23页
微机原理与接口技术习题答案.docx_第4页
第4页 / 共23页
微机原理与接口技术习题答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术习题答案.docx

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

微机原理与接口技术习题答案.docx

微机原理与接口技术习题答案

第3章8086/8088指令系统与寻址方式习题

3.38086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,

BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。

(1)MOVBX,12;目标操作数为寄存器寻址

(2)MOV[BX],12;目标操作数为寄存器间址PA=10300H

(3)MOVES:

[SI],AX;目标操作数为寄存器间址PA=20200H

(4)MOVVAR,8;目标操作数为存储器直接寻址PA=10600H

(5)MOV[BX][SI],AX;目标操作数为基址加变址寻址PA=10500H

(6)MOV6[BP][SI],AL;目标操作数为相对的基址加变址寻址PA=12306H

(7)MOV[1000H],DX;目标操作数为存储器直接寻址PA=11000H

(8)MOV6[BX],CX;目标操作数为寄存器相对寻址PA=10306H

(9)MOVVAR+5,AX;目标操作数为存储器直接寻址PA=10605H

3.4下面这些指令中哪些是正确的那些是错误的如果是错误的,请说明原因。

(1)XCHGCS,AX;错,CS不能参与交换

(2)MOV[BX],[1000];错,存储器之不能交换

(3)XCHGBX,IP;错,IP不能参与交换

(4)PUSHCS

(5)POPCS;错,不能将数据弹到CS中

(6)INBX,DX;输入/输出只能通过AL/AX

(7)MOVBYTE[BX],1000;1000大于255,不能装入字节单元

(8)MOVCS,[1000];CS不能作为目标寄存器

(9)MOVBX,OFFSETVAR[SI];OFFSET只能取变量的偏移地址

(10)MOVAX,[SI][DI];SI、DI不能成为基址加变址

(11)MOVCOUNT[BX][SI],ES:

AX;AX是寄存器,不能加段前缀

3.7设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少当执行

PUSHBX指令后,栈顶地址和栈顶2个字节的内容分别是什么

当前栈顶的地址=2FF00H

当执行PUSHBX指令后,栈顶地址=2FEFEH

(2FEFEH)=57H

(2FEFFH)=34H

3.8设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。

(1)SHRDX,1;DX=3C62HCF=1

(2)SARDX,CL;DX=03C6HCF=0

(3)SHLDX,CL;DX=18A0HCF=1

(4)RORDX,CL;DX=2BC6HCF=0

(5)RCLDX,CL;DX=18B7HCF=1

(6)RCRDH,1;DX=BCC5HCF=0;

3.9设AX=0A69H,VALUE字变量中存放的内容为1927H,写出下列各条指令执行后寄存器和CF、ZF、OF、SF、PF的值。

AXCFZFOFSFPF

(1)XORAX,VALUE;134EH00001

(2)ANDAX,VALUE;0821H00001

(3)SUBAX,VALUE;F142H10011

(4)CMPAX,VALUE;0A69H10011

(5)NOTAX;F596HXXXXX

100000A69H;VALUE,AXTEST)6(.

3.10设AX和BX中是符号数,CX和DX是无符号数,请分别为下列各项确定CMP和条件转移指令。

(1)CX值超过DX转移。

(2)AX未超过BX转移。

(3)DX为0转移。

(4)CX值等于小于DX转移。

(1)CMPCX,DX

JANEXT

(2)CMPAX,BX

JLENEXT

(3)CMPDX,0

JZNEXT

(4)CMPCX,DX

JBENEXT

3.11阅11阅读分析下列指令序列:

ADDAX,BX

JNOL1

JNCL2

SUBAX,BX

JNCL3

JNOL4

JMPL5

若AX和BX的初值分别为以下5种情况,则执行该指令序列后,程序将分别转向何处(L1~L5中的一个)。

(1)AX=13C6H,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

第四章汇编语言程序设计习题

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

VARBDB34,34H,‘GOOD',2DUP(1,2DUP(0))

VARWDW5678H,‘CD',$+2,2DUP(100)

VARCEQU12

22H

34H

‘G'

‘O'

‘O'

'D‘.

VARB1001

0

0

78H56H'‘12HVAR00H

64H

0064H

按下列要求,写出各数据定义语句。

.64。

,42,5个3

(1)DB1为10H个重复的字节数据序列:

1,'为字符串‘STUDENTS

(2)DB2ABCDH12H,3)DB3为十六进制数序列:

(数据区所占字节数,该语句写在最后。

赋以DB1)用等值语句给符号COUNT(4

)4)5DUP(3,16DUP(1,2,DBDB1

STUDENTS'DB2DB‘

,0ABCDH12HDB3DW

-DB1DB2COUNTEQU

指令单独执行后,有关寄存器的内容是什么8对于下面的数据定义,各条MOV4.DBPREP

()5DUPTABADW

'‘NEXTTABBDB

HTABCDD

AX=1;PREP

(1)MOVAX,TYPE

;AX=2TYPE)MOVAX,TABA(2;AX=5TABA,)MOVAXLENGTH(3AX=10;SIZETABA,(4)MOVAXAX=1;LENGTHTABB(5)MOVAX,;AX=4)MOVDX,SIZETABC(6

;$'结束)若自.10STRING单元开始存放有一个字符串(以字符‘4

字符,并假设长度为两字节)。

编程统计该字符串长度(不包含$1()单元,把整个字符串往下移两个单元。

把字符串长度放在STRING

(2)

程序段为:

(1)MOVSI,OFFSETSTRING

XORBX,BX

CONT:

MOVAL,[SI]

CMPAL,‘$'

JZNEXT

INCBX

INCSI

JMPCONT

NEXT:

MOVAH,4CH

INT21H

(2)STRINGDB‘………….$'

COUNTEQU$-STRING

MOVSI,OFFSETSTRING

MOVCX,COUNT

ADDSI,CX

CONT:

DECSI

MOVAL,[SI]

MOV[SI+2],AL]

LOOPCONT

MOVCX,COUNT

MOVSTRING,CX

MOVAH,4CH

INT21H

4.11将字符串STRING中的‘&'字符用空格代替,字符串STRING“Thedatais

FEB&03”。

程序为:

DATASEGMENT

STRINGDB‘ThedataisFEB&03'

COUNTEQU$-STRING

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETSTRING

MOVCX,COUNT

MOVAL,‘$'

CONT:

CMPAL,[SI]

JNZNEXT

MOVBYTEPTR[SI],‘'

NEXT:

INCSI

LOOPCONT

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.16键盘输入十个学生的成绩,试编制一个程序统计69~69分,70~79分,80~89分,单元中。

S10及S9,S8,S7,S6分的人数,分别存放到100分及90~99.

程序为:

DATASEGMENT

BUFDB10DUP()

S6DB

S7DB

S8DB

S9DB

S10DB

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETS6

XORAL,AL

MOVCX,0504H

CONT:

MOV[SI],AL

INCSI

LOOPCONT

MOVCX,10

MOVSI,OFFSETBUF

CONT1:

MOVAH,1

INT21H

SHLAL,CL

MOVBL,AL

MOVAH,1

INT21H

SUBAL,30H

ORAL,BL

MOV[SI],AL

CMPAL,70H

JAENEXT1

INCBYTEPTRS6

NEXT1:

CMPAL,80H

JAENEXT2

INCBYTEPTRS7

NEXT2:

CMPAL,90H

JAENEXT3

INCBYTEPTRS8

NEXT3:

CMPAL,99H

JANEXT4

INCBYTEPTRS9

JMPNEXT5

NEXT4;INCBYTEPTRS10

NEXT5:

INCSI

LOOPCONT1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

第7章基本输入/输出接口习题

7.4现有一输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H,当其D0为1时表明输入数据准备好。

试采用查询方式,编程实现从该设备读取100个字节数据并保存到2000H:

2000H开始的内存中。

程序段为:

MOVAX,2000H

MOVDS,AX

MOVSI,2000H

MOVCX,100

CONT:

MOVDX,0FFE2H

CONT1:

INAL,DX

TESTAL,01

JZCONT1

MOVDX,0FFE0H

INAL,DX

MOV[SI],AL

INCSI

LOOPCONT

MOVAH,4CH

INT21H

7.5硬件如图7.5所示,试编程实现:

S0控制8个发光二极管1亮7暗,S1控制8个8个发光二极管7亮1暗,S2控制某一亮点(或暗点)以一定时间间隔循环向左移动,S3控制某一亮点(或暗点)以一定时间间隔循环向右移动,两个或两个以上开关闭合,则结束程序。

程序段为:

(省略伪指令)

BUF1DB01H

BUF2DB80H

MOVDX,200H

AGAIN:

INAL,DX

XORBL,BL

MOVCX,8

CONT:

RORAL,1

JNCNEXT

INCBL

NEXT:

LOOPCONT

CMPBL,2

JAEEXIT

CMPAL,0FEH

JZ1L7A

CMPAL,0FD

JZ1A7L

CMPAL,0FBH

JZZSHL

CMPAL,0F7H

JZYSHR

1L7A:

MOVAL,80H

OUTDX,AL

AGAINJMP

7A7L:

MOVAL,7F

OUTDX,AL

JMPAGAIN

ZSHL:

MOVAL,BUF1

ROLAL,1

MOVBUF1,AL

OUTDX,AL

CALLD500MS

JMPAGAIN

YSHR:

MOVAL,BUF2

RORAL,1

MOVBUF1,AL

OUTDX,AL

CALLD500MS

JMPAGAIN

EXIT:

MOVAH,4CH

INT21H

第8章中断习题

8.2已知中断向量表表中地址0020H~0023H的单元中依次是40H,00H,00H,01H,

并知INT08H指令本身所在的地址为9000H:

00A0H。

若SP=0100H,SS=0300H,标志寄存器内容为0240H,试指出在执行INT08H指令,刚进入它的中断服务程序时,SP,SS,IP,CS和堆栈顶上三个字的内容(用图表示)。

执行后SS=0300HSP=00FAH

CS=0100HIP=0040H,堆栈顶上三个字的内容如下所示:

栈区00FAHA2H

00H00FCH

00H00FEH0300H:

执行后:

90H40H:

01000H初始:

0300H02HXX,其中断服务程序名为某一用户中断源的中断类型号为40H.38INTR40,请用两种不同的方法设置它的中断向量。

0AX,MOV方法一:

AXDS,MOV

,OFFSETINTR40MOVAX

AXMOV[00C0H],

SEGINTR40AX,MOV

AX[00C2H],MOV

0AX方法二:

MOV,AX,ESMOV

MOVDI,40H*4

CLD

MOVAX,OFFSETINTR40

STOSW

MOVAX,SEGINTR40

STOSW

8.5某一8086CPU系统中,采用一片8259A进行中断管理。

设8259A工作在全嵌套方式,发送EIO命令结束中断,边沿触发方式,IR0对应的中断向量号为90H,8259A在系统中的端口地址为FFDCH(A0=0)和FFDDH(A0=1),试编写8259A的初始化程序段。

初试化程序段为:

MOVDX,0FFDCH

MOVAL,13H

OUTDX,AL

INCDX

INCDX

MOVAL,90H

OUTDX,AL

MOVAL,01

OUTDX,AL

第9章可编程接口芯片及应用习题

9.1试按如下要求分别编写初始化程序,已知计数器0~2和控制字寄存器的端口地址依次为204H~207H。

(1)使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。

(2)使计数器0工作在方式1,按BCD码计数,计数值为3000。

(3)使计数器2工作在方式2,按二进制计数,计数值为02F0H。

初始化程序为:

MOVDX,207H

MOVAL,50H

OUTDX,AL

MOVDX,205H

MOVAL,80H

OUTDX,AL

MOVDX,207H

MOVAL,23H

OUTDX,AL

MOVDX,204H

MOVAL,30H

OUTDX,AL

MOVDX,207H

MOVAL,0B4H

OUTDX,AL

MOVDX,206H

MOVAL,0F0H

OUTDX,AL

02,ALMOV

OUTDX,AL

9.2硬件如题9.2图,利用PC内部8253定时器0,并用中断方式实现每隔1s使发光二极管亮暗交替显示。

(PC内部8253输入时钟频率为1.1932MHz,8253定时器0端口地址为40H,控制寄存器端口地址为43H。

Y0为350H)。

定时器计数值=1.1932MHz÷5=32864=83D5H

软件计数值:

50

程序为:

(硬件图见教材P345题9.2图)

MOVAL,34H

OUT43H,AL

MOVAL,0D5H

OUT40H,AL

MOVAL,83H

OUT40H,AL

MOVBL,50

T0中断服务程序为:

DECBL

JNZEXIT1

MOVBL,50

MOVAL,BUF

NOTAL

MOVBUF,AL

MOVDX,350H

OUTDX,AL

EXIT1:

MOVAL,20H

OUT20H,AL;(设8259A的端口地址为20H,21H)

IRET

9.3硬件如题9.3图,8253采用方式0,BCD码计数方式,初始值为1000,每按一次按钮S,计数器值减1。

试编程实现显示8253当前计数值,直至计数值为0。

8253端口地址范围为80H~83H。

(略。

在何处显示---屏幕/LED/液晶)

9.4图9.4为一简化的键盘/数码管显示接口电路,假设端口线a'~h'及1、2脚送“1”电平,可使显示点亮并能实现扫描,试问U1、U2及数码显示器的选用。

(1)U1为(同相驱动器/反相驱动器)。

(2)U2为(同相驱动器/反相驱动器)。

(3)数码显示器为(共阴/共阳)数码管。

(4)若A键闭合,则端口线3,4的电平为。

图9.4见教材P346

(1)选用同相驱动器

(2)选用反相驱动器

(3)选用共阴数码管

(4)若A键闭合,则端口线3,4的电平为0,1

,0按下,数码管显示S0,当S1、S0图,试编程实现循环检测5.9硬件如题5.9.

当S1按下,数码管显示1,S0、S1同时按下,则结束程序。

8255的端口地址范围为80H83H。

程序为:

MOVAL,82H

OUT83H,AL

AGAIN:

INAL,81H

TESTAL,03

JZEXIT

TESTAL,01

JZNEXT

MOVAL,3FH

OUT80H,AL

JMPAGAIN

NEXT:

TESTAL,02

JZNEXT1

MOVAL,06

OUT80H,AL

JMPAGAIN

NEXT1:

MOVAL,00

OUT80H,AL

JMPAGAIN

EXIT:

MOVAH,4CH

INT21H

第10章串行通信习题

10.6设异步传输时,每个字符对应一个起始位,7个信息位,1个奇偶校验位和一个停止位,如果波特率为9600,每秒能传输的最大字符数为多少个

字符数=9600位/秒÷10位/字符=960(字符/秒)

10.13要求8251A工作于异步方式,波特率系数为16,字符长度为7位,奇校验,2个停止位。

工作状态要求:

复位出错标志,使请求发送信号RTS有效,使数据终端准备好信号DTR有效,发送允许TxEN有效,接受允许RxE有效。

设8251A的两个端口地址分别为0C0H和0C2H,试完成初始化编程。

初始化程序为:

MOVAL,B(DAH)

OUT0C2H,AL

MOVAL,00110111B(37H)

OUT0C2H,AL

第11章模数、数模转换习题

11.3某8086系统中,A/D转换器ADC0809只使用一个模拟量输入通道,试设计其接口电路,并编写子程序。

子程序的功能是启动A/D转换,并以查询方式读入一个采样数中。

DL据放在寄存器.

设所设计的A/D转换器接口电路如下:

采样程序为:

CYSUBRPROC

OUT50H,AL

NOP

NOP

WAIT1:

INAL,51H

TESTAL,01

JZWAIT1

INAL,50H

MOVDL,AL

RET

CYSUBRENDP

11.4某8086系统中,由ADC0809构成A/D转换器,通过8255与CPU接口,如题11.4图所示。

试编写程序,以查询的方式巡回采样8个模拟量输入通道,每个通道16次。

采样数据存放在内存中。

题11.4图

程序段为:

MOVAL,B(81H)

MOVDX,0FFDBH

OUTDX,AL

LOP0:

MOVDI,OFFSETBUF

MOVBL,0

LOP1:

MOVCX,16

MOVAL,BL

MOVDX,0FFD8

AL,OUTDX

CONT:

MOVDX,0FFCAH

MOVAL,0C0H

OUTDX,AL

NOP

NOP

INAL,LPO2:

DX

TESTAL,01

JZLOP2

DECDX

INAL,DX

MOV[DI],AL

INCDI

LOOPCONT

INCBL

CMPBL,8

JNZLOP1

LOP0JMP

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

当前位置:首页 > 高等教育 > 医学

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

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