10微机原理练习题Word文档格式.docx

上传人:b****6 文档编号:17968874 上传时间:2022-12-12 格式:DOCX 页数:49 大小:197.55KB
下载 相关 举报
10微机原理练习题Word文档格式.docx_第1页
第1页 / 共49页
10微机原理练习题Word文档格式.docx_第2页
第2页 / 共49页
10微机原理练习题Word文档格式.docx_第3页
第3页 / 共49页
10微机原理练习题Word文档格式.docx_第4页
第4页 / 共49页
10微机原理练习题Word文档格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

10微机原理练习题Word文档格式.docx

《10微机原理练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《10微机原理练习题Word文档格式.docx(49页珍藏版)》请在冰豆网上搜索。

10微机原理练习题Word文档格式.docx

5BH;

-76H;

4CH(用2位16进制数表示)

(2)-69DAH;

-3E2DH;

1AB6H;

-7231H

14.作下列各式无符号数的运算

(1)10100010-01110101

(2)11011011+00001101

(3)11011011×

10101101(4)11111011÷

1010

15.作下列各式的逻辑运算

(1)10100101∧0000111110011101∧10100101

(2)10100101∨0000111110011101∨10100101

(3)10100101⊕0000111110011101⊕10100101

16.已知x1和x2的值,求[x1]补+[x2]补,并指出结果的符号,判断是否产生溢出和进位?

(1)x1=+0110011Bx2=+1011010B

(2)x1=-0101001Bx2=-1011101B

(3)x1=+1100101Bx2=-1011101B

第2章汇编语言与汇编程序

1.根据下列要求编写一个汇编语言程序:

(1)代码段的段名为COD_SG

(2)数据段的段名为DAT_SG

(3)堆栈段的段名为STK_SG

(4)变量HIGH_DAT所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL

(6)程序运行的入口地址为START

答案:

DAT_SGSEGEMNT

HIGH_DATDB95

DAT_SGENDS

;

STK_SGSEGMENT

DW64DUP(?

STK_SGENDS

COD_SGSEGMENT

MAINPROCFAR

ASSUMECS:

COD_SG,DS:

DAT_SG,SS:

STK_SG

START:

MOVAX,DAT_SG

MOVDS,AX

MOVAH,HIGH_DAT

MOVBH,AH

MOVDL,AH

MOVAH,4CH

INT21H

MAINENDP

COD_SGENDS

ENDSTART

2.指出下列程序中的错误:

STAKSGSEGMENT

DB100DUP(?

STA_SGENDS

DTSEGSEGMENT

DATA1DB?

DTSEGEND

CDSEGSEGMENT

MAINPROCFAR

START:

MOVDS,DATSEG

MOVAL,34H

ADDAL,4FH

MOVDATA,AL

STARTENDP

CDSEGENDS

END

改正后:

STAKSGSEGMENT

DB100DUP(?

STAKSGENDS

DTSEGSEGMENT

DATA1DB?

DTSEGENDS

CDSEGSEGMENT

ASSUMECS:

CDSEG,DS:

DTSEG,SS:

STAKSG

MOVAX,DTSEG

MOVDS,AX

MOVAL,34H

ADDAL,4FH

MOVDATA1,AL

CDSEGENDS

ENDS

3.将下列文件类型填入空格:

(1).obj

(2).exe(3).crf(4).asm(5).lst(6).map

编辑程序输出的文件有______________________________________;

汇编程序输出的文件有______________________________________;

连接程序输出的文件有______________________________________。

编辑程序输出文件:

(4)

汇编程序输出文件:

(1),(3),(5)

连接程序输出文件:

(2),(6)

4.下列标号为什么是非法的?

(1)GET.DATA

(2)1_NUM(3)TEST-DATA(4)RET(5)NEWITEM

非法标号:

(1)因为‘.’只允许是标号的第一个字符

(2)第一个字符不能为数字

(3)不允许出现‘-’

(4)不能是保留字,如助记符

(5)不能有空格

5.下面的数据项定义了多少个字节?

DATA_1DB6DUP(4DUP(0FFH))

24字节

6.对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?

DTSEGSEGMENT|DTSEGSEGMENT

ORG10H|ORG10H

DATA1DB72H|DATA1DW7204H

DB04H|DTSEGENDS

DTSEGENDS|

不一样.分别是72H,04H和04H,72H.存储字时低8位存在低字节,高8位存在高字节.

7.下面的数据项设置了多少个字节?

(1)ASC_DATADB‘1234’

(2)HEX_DATADB1234H

(1)设置了4个字节

(2)设置了2个字节

8.执行下列指令后,AX寄存器中的内容是什么?

TABLEDW10,20,30,40,50

ENTRYDW3

.

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

(AX)=40

9.指出下列指令的错误:

(1)MOVAH,BX

(2)MOV[SI],[BX](3)MOVAX,[SI][DI]

(4)MOVAX,[BX][BP](5)MOV[BX],ES:

AX(6)MOVBYTEPTR[BX],1000

(7)MOVAX,OFFSET[SI](8)MOVCS,AX(9)MOVDS,BP

(1)源、目的字长不一致

(2)源、目的不能同时为存贮器寻址方式

(3)基址变址方式不能有SI和DI的组合

(4)基址变址方式不能有BX和BP的组合

(5)在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式

(6)1000超出一个字节的表数范围

(7)OFFSET只用于简单变量,应去掉

(8)CS不能作为目的寄存器

(9)段地址不能直接送入数据段寄存器

10.变量DATAX和DATAY定义如下:

DATAXDW0148H

DW2316H

DATAYDW0237H

DW4052H

按下述要求写出指令序列:

(1)DATAX和DATAY中的两个字数据相加,和存放在DATAY和DATAY+2中。

(2)DATAX和DATAY中的两个双字数据相加,和存放在DATAY开始的字单元中。

(3)DATAX和DATAY两个字数据相乘(用MUL)。

(4)DATAX和DATAY两个双字数据相乘(用MUL)。

(5)DATAX除以23(用DIV)。

(6)DATAX双字除以字DATAY(用DIV)。

(1)MOVAX,DATAX

ADDAX,DATAY

MOVBX,DATAX+2

ADDBX,DATAY+2

MOVDATAY,AX

MOVDATAY+2,BX

(2)MOVAX,DATAX

ADDDATAY,AX

MOVAX,DATAX+2

ADCDATAY+2,AX

(3)MOVAX,DATAX

MULDATAY

MOVDATAY,AX

MOVDATAY+2,DX

(4)

MOVAX,WORDPTRDATAX

MOVBX,WORDPTRDATAY

MULBX

MOVRESULT,AX

MOVRESULT+2,DX

MOVAX,WORDPTRDATAY+2

MULBX

ADDRESULT+2,AX

ADCRESULT+4,DX

MOVAX,WORDPTRDATAX+2

MOVBX,WORDPTRDATAY

ADDRESULT+2,AX

ADCRESULT+4,DX

MOVAX,WORDPTRDATAX+2

MOVBX,WORDPTRDATAY+2

MULBX

ADDRESULT+4,AX

ADCRESULT+6,DX

(5)MOVAX,DATAX

MOVBL,23

DIVBL

MOVBL,AH

MOVAH,0

MOVDATAY,AX;

存放商

MOVAL,BL

MOVDATAY+2,AX;

存放余数

(6)MOVAX,DATAX

MOVDX,DATAX+2

DIVDATAY

MOVDATAY,AX

MOVDATAY+2,DX

11.试分析下面的程序段完成什么操作?

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

将DX:

AX中的双字左移4位(乘16)

12.编写程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串与NEWS不同,则执行NEW_LESS,否则顺序执行程序。

LEASI,OLDS

LEADI,NEWS

MOVCX,5

CLD

REPZCMPSB

JNZNEW_LESS

13.假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:

(1)若DX的值超过CX的值,则转去执行EXCEED

(2)若BX的值大于AX的值,则转去执行EXCEED

(3)CX中的值为0吗?

若是则转去执行ZERO

(4)BX的值与AX的值相减,会产生溢出吗?

若溢出则转OVERFLOW

(5)若BX的值小于AX的值,则转去执行EQ_SMA

(6)若DX的值低于CX的值,则转去执行EQ_SMA

(1)CMPDX,CX

JAEXCEED

(2)CMPBX,AX

JGEXCEED

(3)CMPCX,0

JEZERO

(4)SUBBX,AX

JOOVERFLOW

(5)CMPBX,AX

JLEQ_SMA

(6)CMPDX,CX

JBEQ_SMA

14.设(BX)=0158H,(DI)=10A5H,相对位移量disp=1B57H,(DS)=2100H,没有使用段前缀,计算下列寻址方式下的有效地址EA和物理地址PA(注意:

寄存器和基址用BX,变址用DI)

(1)直接寻址

(2)寄存器间接寻址(3)寄存器相对间接寻址

(4)变址寻址(5)寄存器相对变址寻址(6)基址加变址寻址

(7)基址加变址相对寻址

15.判断下列指令是否正确?

(1)MOVAL,BX

(2)MOVAL,CL(3)INC〔BX〕(4)MOV5,AL(5)MOV〔BX〕,〔SI〕(6)MOVBL,F5

(7)MOVDS,2000H(8)POPCS(9)PHSHCS(10)OUT258H,AL(11)MOV〔50-BP〕,AX(12)MUL35

(13)ADDBYTEPTR〔BX〕,〔DI〕(14)SALAX,4

16.已知一数据段中的数据为

DATAsegment

STR1DB0,1,2

STR2DB“012”

COUNTEQU30

NUMBDB3DUP

(2)

NUMWDW10H,-60H

POINDW0

Dataends

试画出数据段中的数据在存储器中存储的形式。

17.上题中,各变量的偏移地址与变量值各是多少?

第3章程序设计的基本技术

1.试编写一段汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

abc:

movah,1

int21h

cmpal,’a’

jbstop

cmpal,’z’

jastop

subal,20h

movdl,al

movah,2

jmpabc

stop:

2.已知整数变量A和B,试编写完成下述操作的程序:

(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;

(2)若两个数均为奇数,则两数分别加1,并存回原变量;

(3)若两个数均为偶数,则两变量不变。

dsegsegment

adw?

bdw?

dsegends

csegsegment

mainprocfar

assumecs:

cseg,ds:

dseg

start:

pushds

subax,ax

pushax

movax,dseg

movds,ax

begin:

movax,a

movbx,b

xorax,bx

testax,0001

jzclass

testbx,0001

jzexit

xchgbx,a

movb,bx

jmpexit

class:

testbx,0001

incb

inca

exit:

ret

mainendp

csegends

endstart

 

3.把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。

另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。

试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:

一个学生的名次等于成绩高于这个学生的人数加1)。

gradedw30dup(?

rankdw30dup(?

mainprocfar

cseg,ds:

dseg,es:

moves,ax

movdi,0

movcx,30

loop1:

pushcx

movsi,0

movax,grade[di]

movdx,0

loop2:

cmpgrade[si],ax

jbego_on

incdx

go_on:

addsi,2

looploop2

popcx

movrank[di],dx

sdddi,2

looploop1

ret

4.写出分配给下列中断类型号在中断向量表中的物理地址。

(1)INT12H

(2)INT8

(1)00048h

(2)00020h

5.试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;

如果其中任一状态寄存器的第3位为1,则整个输入过程结束。

两个状态寄存器的端口地址分别是0024H和0036H,与其相应的数据输入寄存器的端口则为0026H和0038H,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。

movsi,0

movdi,0

test12:

inal,0024h

testal,08

jnzexit

inal,0036h

dev1:

testal,01

jzdev2

inal,0026h

movbuff1[si],al

incsi

dev2:

inal,0036h

testal,01

jztest12

inal,0038h

movbuff2[di],al

incdi

jmptest12

6.给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT8,试问执行INT8指令后,SP,SS,IP,FLAGS的内容是什么?

栈顶的三个字是什么?

答案:

(SP)=00FA

(SS)=0300

(IP)=0040

(FLAGS)=0040

堆栈内容:

00A1H

0900H

0240H

7.编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。

加密表为;

输入数字:

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

密码数字:

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

scodedb7,5,9,1,3,6,8,0,2,4

bufferdb10dup(?

……

movcx,10

leabx,scode

input:

movah,01

cmpal,0ah

andal,0fh

xlat

movbuffer[si],al

incsi

loopinput

8.编写一个汇编语言程序,将字符串‘AssemblyLanguageProgramming’全部转换为大写字母,存放到原来所在单元。

9.编写一个将16位二进制数转换成BCD码数的程序。

10.编写一个将5位BCD码数(小于65536)转换成二进制数的程序。

11编写一个将16位二进制数转化为四位十六进制数的程序,并将十六进制数的各位显示出来。

第四章总线

1.采用一种总线标准进行微型计算机的硬件结构设计具有什么优点?

为适应用户不断变化的要求,微机系统设计必须采用模块化设计,不同的模块组合形成一定的功能。

模块之间的连接关系采用标准的总线结构可使不同功能的模块便于互连,兼容性好、生命周期长。

模块采用标准化总线结构设计可使模块的生产供应规模化、多元化、价格低、有利于用户。

2.一个总线的技术规范应包括哪些部分?

总线技术规范应包括:

(1)机械结构规范:

模块尺寸、总线插头插座形式与结点数以及模块与插头插座的机械定位。

(2)功能规范:

总线信号名称、功能以及相互作用的协议。

(3)电气规范:

总线中每个信号工作时的有效电平、动态转换时间、负载能力以及电气性能的额定值与最大值。

3.总线的定义是什么?

总线就是两个以上模块(或子系统)间传送信息的公共通道,通过它模块间可进行数据、地址码及命令的传输。

4.微型计算机系统总线由哪三部分组成?

它们各自的功能是什么

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

当前位置:首页 > 法律文书 > 辩护词

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

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