2025年微机原理及接口技术吴宁冯博琴权威题库与答案解析集锦_第1页
2025年微机原理及接口技术吴宁冯博琴权威题库与答案解析集锦_第2页
2025年微机原理及接口技术吴宁冯博琴权威题库与答案解析集锦_第3页
2025年微机原理及接口技术吴宁冯博琴权威题库与答案解析集锦_第4页
2025年微机原理及接口技术吴宁冯博琴权威题库与答案解析集锦_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,试确定在如下多种寻址方式下的

有效地址是什么?

(1)立即寻址

(2)直接寻址

(3)使用BX的寄存器寻址

(4)使用BX的间接寻址

(5)使用BX的寄存器相对寻址

(6)基址变址寻址

(7)相对基址变址寻址

答:(1)立即数寻址的有效地址是目前IP的内容;

(2)直接寻址,若使用位移曷D=3237H讲行,则有效地址为3237H:

(3)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址;

(4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH;

(5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H;

(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H;

(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H;

2.写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。规定使用如下几种

寻址方式:

(1)寄存器间接寻址

(2)寄存器相对寻址

(3)基址变址寻址

答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的

指令为:

MOVBX,BLOCK

ADDBX,12

MOVDX,[BX]

(2)使用寄存器相对寻力二,把首地址为BLOCK的字数组的第6个字送到DX寄存端的指令

为:

MOVBX,BLOCK

MOVDX,[BX+12]

(3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令

为:

MOVBX,BLOCK

MOVSI,12

MOVDX,[BX+SI]

3.既有(DS)=H,(BX)=O1DOH,(SI)=0002H,(0H)=12H,(1H)=34H,(2H)=56H,

(3H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试阐明下列各

条指令执行完后AX寄存器的内容。

(1)MOVAX,1200H

(2)MOVAX,BX

(3)MOVAX,[1200H]

(4)MOVAX,[BX]

(5)MOVAX,[BX+1100]

(6)MOVAX,[BX+SI]

(7)MOVAX,[BX+SI+1100]

答:⑴指令MOVAX,1200H执行完后AX寄存器的内容为1200H;

(2)指令MOVAX,BX执行完后AX寄存器的内容为0100H;

(3)指令MOVAX,[1200H]是将从物理地址二(DS)*10H+l200H=21200H开始的两个单

元内容送AX,执行完后AX寄存器的内容为4c2AH:

(4)指令MOVAX,[BX]是将从物理地址:(DS)*10H+(BX)=0H开始的两个单元内容

送AX,故执行完后AX寄存器的内容为3412H:

(5)指令MOVAX,[EX+11OO]是将从物理地址二(DS)*10H+(BX)+1100H=21200H开始

的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH;

(6)指令MOVAX,[EX+SI]是将从物理地址:(DS)*10H+(BX)+(SI)=2H开始的两

个单元内容送AX,故执行完后AX寄存器的内容为7856H;

(7)指令MOVAX,[EX+SI+11OO]是将从物理地址=(DS)*10H+(BX)+(SI)

+1100H=21202H开始的两个单元内容送AX,故执行完后AX寄存器的内容为65B7H;

4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SD=OOAOH,(BX)=0100H,

(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻

址方式是什么?其物理地址值是多少?

(1)MOVAX,OABH(2)MOVAX,BX

(3)MOVAX,[100H](4)MOVAX,VAL

(5)MOVAX,[BX](6)MOVAX,ES:[BX]

(7)MOVAX,[BP](8)MOVAX,[SI]

(9)MOVAX,[BX+1D](10)MOVAX,VAL[BX]

(11)MOVAX,[BX][SI](12)MOVAX,[BP][SI]

答:(1)在指令MOVAX,OABH中,源操作数字段的寻址方式是立即数寻址,其物理地址

值=(CS)*10H+(IP);

(2)在指令MOVAX,BX中,源操作数字段的寻址方式是寄存器寻址,操作数在BM

中,无物理地址;

(3)在指令MOVAX,[100H]中,源操作数字段的寻址方式是直接寻址,其物理地址值

=(DS)*10H+100=29000H+100H=29100;

(4)在指令MOVAX,VAL中,源操作数字段的寻址方式是直接寻址,其物理地址值二

(DS)*10H+50H=29000H+50H=29050H;

(5)在指令MOVAX,[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地

址值=(DS)*10H+(BX)=29000H+100H=29100H;

(6)在指令MOVAX,3S:[BX]中,源操作数字段的寻址方式是寄存器间接寻址,其物

理地址值二(ES)*10H+(BX)=2地00H+100H=2U00H;

(7)在指令MOVAX,[BP]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地

址值=(SS)*10H+(BP)=15000H+10H=15010H;

(8)在指令MOVAX,[SI]中,源操作数字段的寻址方式是寄存器间接寻址,其物理地

址值=(DS)*10H+(SI)=29000H+0A0H=290A0H;

(9)在指令MOVAX,FBX+101中,源操作数字段的寻址方式是寄存器相对•寻址,其物

理地址值=(DS)*10H+(BX)+OAH=29000H+100H+0AH=2910AH;

(10)在指令MOVAX,VAL[BX]中,源操作数字段的寻址方式是寄存器相对寻址,其物

理地址值;(DS)*10H+(BX)+50H=29000H+100H+50H=29150H;

(11)在指令MOVAX,[BX][SI]中,源操作数字段的寻址方式是基址变址寻址,其物

理地址值;(DS)*10H+(BX)+(SI)=29000H+100H+0A0H=291A0H;

(12)在指令MOVAX,[BP][SI]中,源操作数字段的寻址方式是基址变址寻址,其物

理地址值=(SS)*10H+(BP)+(SI)=15000H+10H+0A0H=150B0H

5.分别指出下列指令中的源操作数和目的操作数的寻址方式。

(1)MOVSI,200

(2)MOVCX,DATA[SI]

(3)ADDAX,[BX+DI]

(4)ANDAX,BX

(5)MOV[SI],AX

(6)PUSHF

答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻

址;

(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;

(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;

(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;

(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;

(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;

6.试述指令MOVAX,H和MOVAX,DS:[H]的区别。

答:指令MOVAX,H是将立即数H送AX寄存器,而指令MOVAX,DS:[H]是将DS段有效地

址为H的两个单元的内容送AXo

7.写出如下指令中内存操作数的所在地址。

(1)MOVAL,FBX+5]

(2)MOV[BP+5],AX

(3)INCBYTEPTR[SI+3]

(4)MOVDL,ES:[BX+DI]

(5)MOVBX,[BX+SI+2]

答:(1)指令MOVAL,[BX+5]中内存操作数的所在地址=(DS)*10H+(BX)+5:

(2)指令MOV[BP+5],AX中内存操作数的所在地址二(SS)*10H+(BP)+5和(SS)

*1011+(BP)+6;

(3)指令INCBYTEPTR[SI+3]中内存操作数的所在地址=(DS)+(SI)+3;

(4)指令MOVDL,ES:[BX+DI]中内存操作数的所在地址=(ES)*10H+(BX)+

(DI);

(5)指令MOVBX,「BX+SI+21中内存操作数的所在地址=(DS)*10H+(BX)+(SI)+2

和(DS)*10H+(BX)+(SI)+3;

8.判断下列指令书写与否对的,如有错误,指出错在何处并用对的的程序段(一条或多条

指令)实现原错误指令((8)、(13)除外)期望实现的操作。

(1)MOVAL,BX(9)MOVES,3278H

(2)MOVAL,SL(10)PUSHAL

(3)INC[BX](11)POP[BX]

(4)MOV5,AL(12)MOV[1A8H],23DH

(5)MOV[BX],[SI](13)PUSHIP

(6)MOVBL,F5H(14)MOV[AX],23DH

(7)MOVDX,H(15)SHLAX,5

(8)POPCS(16)MULAX,BX

答:(1)MOVAL,BX错,源操作数为字类型,目的操作数为字节类型,两者不一致。应改

为:MOVAX,BX或MOVAL,BL;

(2)MOVAL,SL错,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。应改

为:MOVAX,SI

(3)INC[BX]错,未指定操作数的类型。应改为:INCBYTEPTR[BX]

(4)MOV5,AL错,目的操作数使用了立即数,在指令中一般不容许。应改为:MOV

DS:[5],AL

(5)MOV[BX],[SI]错,源操作数和目的操作数均为志存单元,不容许。

应改为:MOVAX,[SI]

MOV[BX],AX

(6)MOVBL,E5H错,源操作数错,以A〜F开头的数字前应加0。应改为:MOVBL,0F5H

(7)MOVDX,H对的。

(8)POPCS错,不能将栈顶数据弹至CS中。

(9)MOVES,3278H错,立即数不能直接送ES寄存器。

应改为:MOVAX,3278H

MOVES,AX

(10)PUSHAL错,栈操作不能按字节进行。应改为:PUSHAX

(11)POP[BX]对的。

(12)MOV[1A8H],23DH错,源操作数是立即数,目的操作数必须使用寄存器指出。应改

为:

MOVBX,1A8H

MOV[BX],23DH

(13)PUSHIP错,不能用IP寄存器做源操作数。

(14)MOV[AX],23DH错,不能用AX寄存器间接寻址。应改为:MOVBX,AX

MOV[BX],23DH

(15)SHLAX,5错,不能用不小于己于1的立即数指出移位位数。应改为:

MOVCL,5

SHLAX,CL

(16)MULAX,BX错,目的操作数AX是隐含的,不能在指令中写出。应改为:MULBX

9.设堆栈指针SP的初值为H,AX=3000H,BX=5000H,试问:

(1)执行指令PUSHAX后(SP)=?

(2)再执行PUSHBX及POPAX后(SP)=?(AX)=?(BX)=?

答:(1)执行指令PUSHAX后(SP)=H-2=1FFEH;

(2)再执行PUSHBX及POPAX后(SP)=1FFEH,(AX)=5000H,(BX)=5000H

10.要想完毕把[H]送[1000H]中,用指令:MOV[1000H],[H]与否对的?假如不对的,应用

什么措施?

答:把[H]送[1000H]中,用指令MOV[1000H],[H]不对的,应改为:MOVAX,[H]MOV

[1000H],AX

11.假如想从200中减去AL中的内容,用SUB200,AL与否对的?假如不对的,应用什么

措施?

答:想从200中减去AL中的内容,用SUB200,AL不对的,应改为:MOV

BL,200SUBBL,AL

12分别写出实现如下功能的程序段

(1)双字减法(被减数7B1D2A79H,减数53E2345FH)。

(2)使用移位指令实现一种字乘18的运算。

(3)使用移位指令实现一种字除以10的运算。

(4)将AX中间8位,BX低四位,DX高四位拼成一种新字。

(5)将数据段中以BX为偏移地址的持续四个单元的内容颠倒过来

(6)将BX中的四位压缩BCD数用非压缩BCD数形式次序放在AL、BL、CL、DL中。

答:(1)双字减法的程序段是:

MOVAX,2A79H;被减数的低位字送AX

SUBAX,345FH;低位字相减,成果送AX

MOVBX,7B1DH;被减数的高位字送BX

SBBBX,53E2H;高位字相减处并减去低位字相减产生的借位,成果送BX

(2)使用移位指令实现•种字乘18的程序段是:

MOVAX,05F7H;被乘数送AX

SHLAX,1;被乘数乘以2,成果在AX中

MOVBX,AX;被乘数乘以2的成果暂存到BX

MOVCL,3;设置移位位数3

SHLAX,CL:被乘数再乘以8(共乘以16),成果在AX中

ADDAX,BX:被乘数再乘以18,成果在AX中

(3)使用移位指令实现一种字除以10的运算,必须将X/10拆提成多项的和,而每一项都应

是非的某次新的倒数。运用等比级数的前N项和公式,可求出A0=X/8,公比Q=-l/4,故

X/10=X/8-X/32+X/128-X/512+...,

所求的程序段是:

MOVAX,FEOOH;被除数送AX

MOVCL,3;设置移位位数3

SHRAX,CL;被乘数除以8,成果在AX中

MOVBX,AX;被乘数除以8的成果暂存到BX

MOVCL,2;设置移位位数2

SI1RAX,CL;被乘数除以4(合计除32),成果在AX中

SUBBX,AX;被除数/8-被除数/32,成果在数中

MOVCL,2;设置移位位数2

SI1RAX,CL;被乘数除以4(合计除128),成果在AX中

ADDBX,AX;被除数/8-被除数/32+被除数/128,成果在BX中

MOVCL,2;设置移位位数2

SHRAX,CL;被乘数除以4(合计除512),成果在AX中

SUBBX,AX;被除数/8-被除数/32+被除数/128-被除数/512,成果在BX中

(4)将AX中间8位,BX低四位,DX高四位拼成一种新字的程序段是:

ANDl)X,OFOOOH:将DX的低12位清零,高4位不变

ANDAX,OFFOH;将AX的低4位清零,高4位清零,中间8位不变

ANDBX,OFH;将1双的高12位清零,低4位不变

ADI)AX,BX

ADDAX,DX;按规定构成一种新字,成果放在AX中。

(5)将数据段中以BX为偏移地址的持续四个单元的内容颠倒过来的程序段是:

MOVAL,[BX];数据段中BX为偏移地址的字单元内容送AX

XCHGAL,[BX+3]:数据段中BX+3为偏移地址的字单元内容与AX的内容互换

MOV[BX],AL;数据段中BX+3为偏移地址的字单元内容送BX为偏移地址的字单元

MOVAL,[BX+1]:数据段中BX+1为偏移地址的字单元内容送AX

XCHGAL,[BX+2];数据段中BX+2为偏移地址的字单元内容与AX的内容互换

MOV[BX+1],AL;数据段中BX+2为偏移地址的字单元内容送BX+1为偏移地址的字单元

(6)将BX中的四位压缩BCD数用非压缩BCD数形式次序放在AL、BL、CL、DL中的程序段

是:

MOVDL,BL;四位压缩BCD数的低位字节送DL

ANDDL,OFH;DL的高4位清零,得四位非压缩BCD数的最低位,放入DL中

MOVCL,4;设置移位位数4

SHRBX,CL:BX中的数据谡辑右移4位,便四位压缩BCD数的次低位位于BL的低4位

MOVCH,BL:将BL的内容暂存到CH中保留

ANDCH,OFH;CH的高4位清零,得四位非压缩BCD数的次低位,放CH中

MOVCL,4;设置移位位数4

SHRBX,CL;BX中的数据逻辑右移4位,使四位压缩BCD数的次高位位于BL的低4位

MOVAL,BL:将BL的内容暂存到AL中保留

ANDBL,OFH;BL的高4位清零,得四位非压缩BCD数的次高位,放BL中

MOVCL,4;设置移位位数4

SHRAL,CL;使四位压缩BCD数的最高位位于AL的低4位,得四位非压缩BCD数的次

;位,放入BL中

MOVCL,CH;将四位车压缩BCD数的次低位移入CL中

10.编写一种程序,规定运行时屏幕显示'BELL',同步响铃一次(响铃的ASCII

码为07)o

答:所求程序为:

CodeSEGMENT

ASSUMECS:code

Start:MOVDL,42H

MOVAH,2

INT21H

MOVDL,45H

MOVAH,2

INT21H

MOVDL,4CH

MOVAH,2

INT21H

MOVDL,4CII

MOVAH,2

INT21H

MOVDL,7

MOVAH,2

INT2111

MOVAH,4CH

INT21H

CodeENDS

ENI)Start

11.假设在数据段X_SEG,附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X、Y

和Z,试编制一完整的程序计算X+Y+Z,并将成果送X。

答:所求程序为:

XSEGSEGMENT

XDW12eH

X_SEGENDS

YSEGSEGMENT

YDW4d2H

YSEGENDS

Z_SEGSEGMENTSTACK'STACK'

ZDW2CAH

Z_SEGENDS

CodeSEGMENT

ASSUMECS:Code,DS:X_SEG,ES:Y_SEG,SS:Z_SEG

Start:MOVAX,XSEG

MOVDS,AX

MOVAX,YSEG

MOVES,AX

MOVAX,ES:Y

ADDX,AX

MOVBP,0

MOVAX,[BP+Z]

ADDX,AX

MOVAH,4CH

INT21H

CodeENDS

ENDStart

12.写一种完整的程序放在代码段C.SEG中,规定把数据段D_SEG中的DADD1和附

加段E_SEG中的DADD2相加,并把成果寄存在D_SEG段中的SUM中。其中DADD1、

DADD2和SUM均为双字类型,DADD1赋值为98765,DADD2赋值为-15893。

答:所求程序为:

D_SEGSEGMENT

DADD1DD98765

SUMDD?

D_SEGENDS

E_SEGSEGMENT

DADD2DD-15893

E_SEGENDS

C_SEGSEGMENT

ASSUMECS:C_SEG,DS:D_SEG,ES:E_SEG

Start:MOVAX,I)_SEG

MOVl)S.AX

MOVAX,忆SEG

MOVES,AX

MOVAX,WORDPTRDADD1

MOVBX,WORDPTRDADD1+2

ADI)AX.WORDPTRES:DADD2

ADCBX,WORDPTRES:DADD2+2

MOVWORDPTRSUM,AX

MOVWORDPTRSUM+2,BX

MOVAH,4CH

INT21H

CSEGENDS

ENDStart

一、填空题

1、执行部件EU的组织有:4个通用寄存器,4个专用寄存器和1个标志寄存流和算术逻辑

部件。

2、8086CPU从偶地址访问内存1个字时需占用1个总统周期,而从奇地址访问内存1个字

操作需占用—2个总线周期。

3、IBM-PC机中的内存是按段寄存信息的,一种段最大存贮空间为―64K字节。

4、8086微处理机在最小模式下,用_M/万一来控制输出地址是访问内存还是访问

I/0o

5、一台计算机能执行多少种指令,是在一设计—时确定的。

三、简答题

1.微处理器内部构造由哪些部件构成?

答案:微处理器由两部分构成,总线接口单元和执行单元

2.论述8086CPU的最小方式和最大方式的区别。

8086CPU的最小方式和最大方式的区别是:最小方式,MN/MX接+5V(MX为

低电平),用于构成小型单处理机系统,支持系统工作的器件:(1)时钟发生器,

8284A,⑵总线锁存器,74LS373,⑶总线收发器,74LS245,控制信号由CPU提

供。最大方式,MN/MX接地(MX为低电平),用于构成多处理机和协处理机系统,支

持系统工作的器件:(I)时钟发生器,8284A,(2)总线锁存器,74LS373,(3)总线收发

器,74LS245,(4)总线控制芯片,8288,控制信号由8288提供。

3.论述指令周期、机器周期和时钟周期间的关系。

执行一条指令所需要的时间称为指令周期;(2).一种CPU同外部设备和内存储

器之间进行信息互换过程所需要的时间称为总线周期;(3).时钟脉冲的反复周期称为时

钟周期;(4).一种指令周期由若干个总线周期构成,一种总线周期又由若干个时钟周期

构成;(5).8086CPU的总线周期至少由4个时钟周期构成;(6).总线周期完毕一次

数据传播包括:传送地址,传送数据;(7)等待周期--在等待周期期间,总线上的

状态一直保持不变;(8)空闲周期一.总线上无数据传播操作

4.试比较8086CPU与8086CPU的异同之处。

8088CPU和8086CPU内部寄存器都是16位,数据总线均有是16位,地址总线均

有是2()位,指令系统相似。重要不一样点有:

(1)8086指令队列是6个字节长,而8088指令队列是4个字节长。

(2)外部数据总线位数不一样,8086为16位ADu~AD1,,8088为AD..-AD;

(3)34脚和28脚功能不一样,34脚8086中是数据总线容许瓦正/S7,8088是

SSO,28脚,8086是M/10,8088是IOM

5.8086CPU从功能上分为几部分?各部分由什么构成?各部分的功能是什么?

8086从功能上可分为执行单元和总线接口单元。执行单元的功能是负责指令的执

行,将指令译码并运用内部寄存器和ALU对数据进行处理.。它由4个通用寄存器(AX、

BX、CX、DX),4个专用寄存器(BP、SP、SI和DI),标志寄存器和算术逻辑部件构

成。总线接口单元的功能是存储器、I/O端口传送数据。它由4个段寄存器(CS、DS、

ES、SS),指令指针寄存器IP,20位地址加法器和6个字节的指令队列构成。

6.8086系统中的物理地址是怎样得到的?假如CS=2500H,IP=2100II,其物理地址是多

少?

在8086系统中,用16位的段地址和16位的偏移地址来表达2()位的物理地址,

物理地址二段地址*16+偏移址得到物理地址。

该题CS=2500H,IP=2100H,则物理地址=CS*16+IP=2500H*16+2100H=27100H

6.什么是最大模式?什么是最小模式?用什么措施将8086/8088置为最大模式和最小

模式?

最大模式是相对最小模式而言,系统中包括两个或多种处理品,其中一种主处理器

就是8088/8086,其他处理器是协处理器,它是协助主处理器工作的。将MN/MX*置0即为

最大模式。

最小模式又是相对于最大模式,就足在系统中只有一种处理器,所有的总线控制信号

均有由8088/8086产生,系统中总线控制逻辑电路少,洛MN/MX*置1即为最大模式。

7.存储器分段组织有何优越性?

减少了指令的长度,提高了执行速度。内存分段为程序浮动加载发明了条件。使程序

保持完整的相对性,具有了浮动性。

8.试述BHE与A。组合怎样选择数据字?

BHE的作用是高8位数据容许,A(FO是低8位数据容许,在「状态时,BHE和

Ao组合起来表达连接在数据总线上的存储器和I/O端口目前的数据在总线上出既有格式。

9.CPU响应中断时,为何要执行两个持续的中断响应周期?

CPU响应中断时,执行两个持续的中断响应周期,每个响应周期都给出中断响应信号

INTA。这是由于第一种总线周期告知中断请示设备,微处理器准备响应中断,应当准备

好中断类型码,第二个总线周期中,微处理器接受中断类型码,以便得到中断向量,即中

断服务程序的入口地址。

六、请阅读下列程序,分析其功能或成果

1、MOVAH,00

INT16H

MOVAH,OAH

MOVCX,0()

MOVBH,00

INT10H

读取键盘输入,并显示在显示屏上

2、MOVAH,00

MOVAL,66

MOVDX,00

INT17H

MOVAH,00

MOVAL,ODH

INT17H

在打印机一输出字符'B,,并回车。

3、MOVAH,07

MOVAL,00

MOVBL,70H

MOVCH,02

MOVCL,05

MOVDH,22

MOVDL,38

INTIOH

屏幕初始化,左上角行号为2,左上角列号为5,右下角行号为22,右下角列号为

38,使用整个空白窗口。

4、MESSDB'PRESSANYKEY',ODH,OAH,'$'

MOVAH,09

MOVDX,SEGMESS

MOVDS,DX

MOVDX,OFFSETMESS

INT21H

在屏幕上输出PRESSANYKEY并换行回车

5、MOVAH,2

MOVDL,I

INT21H

在屏幕上输出1

七、编写程序

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

abc:movah,l

int21h

cmpal、'a'

jbstop

cmpal、'z'

jaslop

subal.20h

movdl,al

movah,2

int21h

jmpabc

stop:ret

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

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

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

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

dsegsegment

adw?

bdw?

dsegends

cscgsegment

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

jzexit

incb

inca

exit:ret

maincndp

csegends

endstart

5.把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表达学号为i+1

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

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

中(提醒:一种学生的名次等于成绩高于这个学生的人数加1)

5、答案:

dsegsegment

gradedw30dup(?)

rankdw30dup(?)

dsegends

csegsegment

mainprocfar

assumecs:cseg,ds:dseg,es:dseg

start:pushds

subax,ax

pushax

movax,dseg

movds,ax

moves,ax

begin:movdi,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论