微机原理与接口技术作业答案Word格式.docx

上传人:b****1 文档编号:1505928 上传时间:2023-04-30 格式:DOCX 页数:32 大小:63.38KB
下载 相关 举报
微机原理与接口技术作业答案Word格式.docx_第1页
第1页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第2页
第2页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第3页
第3页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第4页
第4页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第5页
第5页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第6页
第6页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第7页
第7页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第8页
第8页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第9页
第9页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第10页
第10页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第11页
第11页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第12页
第12页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第13页
第13页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第14页
第14页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第15页
第15页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第16页
第16页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第17页
第17页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第18页
第18页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第19页
第19页 / 共32页
微机原理与接口技术作业答案Word格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理与接口技术作业答案Word格式.docx

《微机原理与接口技术作业答案Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术作业答案Word格式.docx(32页珍藏版)》请在冰点文库上搜索。

微机原理与接口技术作业答案Word格式.docx

除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄存器

3-732位微机工作在实地址模式下,已知(DS)=1000和(SS)=2000H,(SI)=007FH,(BX)=0040H,(BP)=0016H,变量TABLE的偏移地址为0100H.指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).

(1)MOVAX,[1234H]

(2)MOVAX,TABLE

(3)MOVAX,[BX+100H]

(4)MOVAX,TABLE[BP][SI]

(1)直接寻址

EA=1234HPA=(DS)*16+EA=11234H

(2)直接寻址

EA=(TABLE)=0100HPA=(DS)*16+EA=10100H

(3)基址寻址

EA=(BX)+100H=0140HPA=(DS)*16+EA=10140H

(4)带位移的基址加间址寻址

EA=(BP)+(SI)+TABLE=0195HPA=(SS)*16+EA=20195H

当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器.这里BP为基址寄存器,所以默认SS为段基址寄存器.

3-8指出下列指令的错误,并加以改正.

(1)MOVDS,100

(2)MOV1020H,DX

(3)SUB[1000H],[SI]

(4)PUSHAL

(5)INAL,[80H]

(6)MOVDS,ES

(7)JMPBX

(8)SHRDX,4

(9)OUT380H,AX

(10)ADDAL,BX

(11)POPCS

(12)MOVCL,3300H

(1)立即数不能直接传送到段寄存器中去

应改为:

MOVAX,100

MOVDS,AX

(2)立即数只能出现在源操作数位置

MOVDX,1020H

(3)源操作数和目标操作数不能同时为寄存器寻址

MOVAX,[1000H]

SUBAX,[SI]

(4)PUSH指令不能操作8位数据

PUSHAX

(5)[80H]不是端口INAL,80H

INAL,80H

(6)两个段寄存器之间不能直接传送

MOVAX,ES

MOVDS,AX

(7)对

(8)移位次数超过1的时候,要把移位次数放入CL中

MOVCL,4

SHRDX,CL

(9)端口地址大于255时,要把地址放入DX中

MOVDX,380H

OUTDX,AX

(10)源操作数和目标操作数不匹配

ADDAX,BX

(11)POP指令只能使用在存储器或通用寄存器

可改为:

POPAX

(12)源操作数和目标操作数不匹配

MOVCX,3300H

3-9已知:

(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,[09226H]=00F6H,[09228H]=1E40H,[1E4F6H]=091DH.试求下列各指令单独执行后的结果.

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

(CL)=?

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

[IE4F6H]=?

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

(BX)=?

MOVAX,2[BX]:

(AX)=?

(4)LDSSI,[BX][DI]

MOV[SI],BX;

(SI])=?

(5)XCHGCX,32H[BX];

XCHG20[BX][SI],AX;

[09226H]=?

(1)(CL)=00F6H

(2)[IE4F6H]=5678H

(3)(BX)=0056H

(AX)=1E40H

(4)(SI)=0024H

(5)(AX)=5678H

[09226H]=1234H

3-10已知(AL)=0C4H,DATA单元中内容为5AH,写出下列每条指令单独执行后的结果(ODITSZAPC:

0---xxux0)

(1)ANDAL,DATA

(2)ORAL,DATA

(3)XORAL,DATA

(4)NOTDATA

(5)ANDAL,0FH

(6)ORAL,1H

(7)XORAL,0FFH

(8)TESTAL,80H

(1)(AL)=40HCF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义

(2)(AL)=DEHCF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义

(3)(AL)=9EHCF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义

(4)(AL)=A5H不影响任何标志位

(5)(AL)=04HCF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义

(6)(AL)=C5HCF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义

(7)(AL)=3BHCF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义

(8)(AL)不变=0C4HCF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义

3-12(AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?

(1)ADDAL,BL

(2)ANDBL,AL

(3)CMPAL,BL

(4)SHLAL,1

解:

(1)OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1

(2)OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0

(3)OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0

(4)OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=1

3-15试用CMP指令和无条件指令实现以下判断

(1)AX和CX中的内容均为无符号数

①(AX)>

(CX)则转至BIGGER标号执行

②(AX)<

(CX)则转至LESS标号执行

(2)BX和DX中的内容均为有符号数

①(BX)>

(DX)则转至BIGGER标号执行

②(BX)<

(DX)则转至LESS标号执行

(1)CMPAX,CX

JABIGGER

JBLESS

(2)CMPBX,DX

JGBIGGER

JLLESS

第四章汇编语言程序设计

4-9试用伪指令编写一数据段与下面程序等效。

MOVAX,0913H

MOVDS,AX

MOVBX,20H

MOV[BX],‘AB’

DATASEGMENTAT0931H

ORG20H

DATA1DW?

(或DATA1DW'

AB'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDATA1,'

CODEENDS

4-10下面各题有语法错误,分别用两种办法修改,使其正确。

(1)M1DW5060H…MOVBL,M1

改:

M1DB60H,50H

MOVBL,M1

 

M1DW5060H

MOVBL,BYTEPTRM1

MOVBX,M1

M2LABELBYTE

M1DW5060H

MOVBL,M2

(2)M2EQU10H…MOVM2,AL

DATASEGMENT

ORG10H

M2DB?

MOVM2,AL

ENDSTART

MOVSI,10H

MOV[SI],AL

MOVDS:

[0010H],AL

(3)M3DW‘ABCD’

M3DW'

'

CD'

M3DB'

ABCD'

(4)M4DB1234

M4DB'

1234'

M4DW1234

(5)DATA1SEGMENT

DA1DW1234H

DATA1ENDS

DATA2SEGMENT

DA2DW5678H

DATA2ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA1

MOVBX,DA2

CODEENDS

ASSUMECS:

DATA2

CODE,DS:

ASSUMEDS:

NOTHING

ASSUMECD:

DATA1,ES:

MOVAX,DATA2

MOVES,AX

MOVBX,DA2

4-12按照下面要求写出程序的框架

(1)数据段的位置从8000H开始,数据段中定义一个有100个字节的数组。

(2)堆栈段名为STACK1,留100个字的空间。

(3)代码段指定段寄存器,主程序从1000H开始,给有关段寄存器赋值。

DATASEGMENTAT800H

M1DB100DUP(?

STACK1SEGMENTSTACK

DW100DUP(?

STACK1ENDS

CODESEGMENTAT100H

DATA,SS:

STACK1

4-15将MBUF为起始单元的5个数按相反次序传到NBUF单元开始的存储单元之中.

DATASEGMENT

MBUFDW1,2,3,4,5

NBUFDW5DUP(?

MEQU10H

STACK1SEGMENTPARASTACK

DB100DUP(0)

DATA,SS:

STACK1

MOVAX,DATA

MOVSI,OFFSETMBUF

MOVDI,OFFSETNBUF

MOVCX,5

ADDSI,8

LOP:

MOVAX,[SI]

MOV[DI],AX

DECSI

INCDI

DECCX

JNZLOP

MOVAH,4CH

INT21H

4-16试编写程序,完成下列数字表达式的功能

XXDBX

YDB?

MOVAL,XX

CMPAL,-1

JGBIGR

MOVAL,-1

JMPJUST2

BIGR:

CMPAL,1

JGEJUST1

MOVAL,0

JUST1:

MOVAL,1

JUST2:

MOVY,AL

4-17将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数.

D1DB-1,-2,1,2,3,-4,4,5,-5,0,0,9,-3

COUNTEQU$-D1

D2DB100DUP(?

D3DB100DUP(?

PNUMDW1DUP(?

NNUMDW1DUP(?

CONSTDW10000,1000,100,10,1

DECSDB5DUP(0)

HEAD1DB'

THENUMBEROFPOSITIVENUMBERIS:

$'

HEAD2DB'

THENUMBEROFNEGATIVENUMBERIS:

MOVBX,OFFSETD1

MOVSI,OFFSETD2

MOVDI,OFFSETD3

MOVCX,COUNT

MOVAL,[BX]

CMPAL,0

MOV[DI],AL

INCNNUM

JEJUST2

INCSI

INCPNUM

INCBX

MOVAH,9H

MOVDX,OFFSETHEAD1

MOVAX,PNUM

MOVDL,0AH

MOVAH,02H

MOVDL,0DH

MOVDX,OFFSETHEAD2

MOVAX,NNUM

CALLDISPLAY

DISPLAYPROCNEAR

MOVCX,5

LEASI,CONST

LEADI,DECS

CONV3:

MOVBL,0

LOP1:

SUBAX,[SI]

JCNEXT

INCBL

JMPLOP1

NEXT:

ADDAX,[SI]

ORBL,30H

MOV[DI],BL

LOOPCONV3

CONV4:

MOVDL,[DI]

CMPDL,30H

JZNODIS

JMPDISP

NODIS:

LOOPCONV4

DISP:

CMPCX,0

JZQUIT

LOOPDISP

QUIT:

RET

DISPLAYENDP

4-19内存BLOCK开始,存放着256个字节的带符号数.编写程序,从这些数中找出绝对值最大的数,将其放入MAX中.

BLOCKDB-1,-3,2,5,-4,-7,-8,9,10,-124

COUNTEQU$-BLOCK

MAXDB?

MAX1DB?

MOVSI,OFFSETBLOCK

MOVBL,[SI]

CMPBL,0

JLABS1

JMPCON1

ABS1:

NEGBL

CON1:

MOVAL,[SI]

JLABS2

JMPCON2

ABS2:

NEGAL

CON2:

CMPBL,AL

JAEJUST1

XCHGBL,AL

MOVDI,SI

MOVBH,[DI]

MOVMAX,BH

MOVMAX1,BL

第五章存储器

5-7若用1024*1b的RAM芯片组成16K*8b的存储器,,需要多少芯片?

在地址线中有多少位参与片内寻址?

多少位用做芯片组选择信号?

先进行位扩展,一组芯片需要8片

再进行字扩展,需要16组芯片.

所以共需要16*8=128片

1024=1K,需要10位参与片内寻址

16=24,需要4位做选择信号.

5-8试用4K*8b的EPROM2732和8K*8b的SRAM6264,以及74LS138译码器,构成一个8KB的ROM,32KB的RAM存储系统,要求设计存储器扩展电路,并指出每片存储芯片的地址范围.

5-9用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片组成存储器,其地址范围为FC000~FFFFFH,试画出存储器与CPU的连接图和片选信号译码电路(CPU地址线20位,数据线8位)。

11111100000000000000

11111101111111111111

11111110000000000000

11111111111111111111

5-10现有存储芯片:

2K*1b的ROM和4K*1bdeRAM,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,问各种存储芯片分别用多少片?

4KB=4K*8b需要2*8=16片

12KB=12K*8b需要3*8=24片

第六章中断技术

6-18某系统使用一片8259A管理中断,中断请求由IR2引入,采用电平触发、完全嵌套、普通EOI结束方式,中断类型号为42H,端口地址为80H和81H,试画出8259A与CPU的硬件连接图,并编写初始化程序。

电路图参见教材P178图6-19,

由A19-A1=0000000000001000000和M/

给出低电平。

MOVAL,1BH(00011011B)

OUT80H,AL;

设置ICW1

MOVAL,40H(01000000B)

OUT81H,AL:

设置ICW2

MOVAL,01H(00000001B)

设置ICW4

MOVAL,FBH(11111011B)

OUT81H,AL;

设置OCW1

6-19某系统使用两片8259A管理中断,从片的INT连接到主片的IR2请求输入端。

设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为80H和81H;

从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H,端口地址为20H和21H。

要求:

(1)画出主、从片级联图

(2)编写主、从片初始化程序

电路图参见教材P179图6-21,主片

给出低电平,从片

由A19-A1=0000000000000010000和M/

主片8259A

MOVAL,11H(00010001B)

OUT80H,AL;

定义ICW1

MOVAL,70H(01110000B)

定义ICW2

MOVAL,04H(00000100B)

定义ICW3

MOVAL,11H(00010001B)

定义ICW4

OU

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

当前位置:首页 > 人文社科 > 法律资料

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

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