微机原理答案.docx

上传人:b****3 文档编号:485817 上传时间:2022-10-10 格式:DOCX 页数:19 大小:34.30KB
下载 相关 举报
微机原理答案.docx_第1页
第1页 / 共19页
微机原理答案.docx_第2页
第2页 / 共19页
微机原理答案.docx_第3页
第3页 / 共19页
微机原理答案.docx_第4页
第4页 / 共19页
微机原理答案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

微机原理答案.docx

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

微机原理答案.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

(6)TESTAX,VALUE;0A69H00001

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’

1

0

0

1

0

0

78H

56H

‘D’

‘C’

12H

00H

64H

00

64H

VARB

 

VARW

 

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

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

1,2,5个3,4。

(2)DB2为字符串‘STUDENTS’

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

12H,ABCDH

(4)用等值语句给符号COUNT赋以DB1数据区所占字节数,该语句写在最后。

DB1DB16DUP(1,2,5DUP(3,4))

DB2DB‘STUDENTS’

DB3DW12H,0ABCDH

COUNTEQUDB2-DB1

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

PREPDB?

TABADW5DUP(?

TABBDB‘NEXT’

TABCDD12345678H

(1)MOVAX,TYPEPREP;AX=1

(2)MOVAX,TYPETABA;AX=2

(3)MOVAX,LENGTHTABA;AX=5

(4)MOVAX,SIZETABA;AX=10

(5)MOVAX,LENGTHTABB;AX=1

(6)MOVDX,SIZETABC;AX=4

4.10若自STRING单元开始存放有一个字符串(以字符‘$’结束);

(1)编程统计该字符串长度(不包含$字符,并假设长度为两字节)。

(2)把字符串长度放在STRING单元,把整个字符串往下移两个单元。

程序段为:

(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“ThedataisFEB&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分,90~99分及100分的人数,分别存放到S6,S7,S8,S9及S10单元中。

程序为:

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

TEST

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

当前位置:首页 > PPT模板 > 艺术创意

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

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