微机原理习题解答_第1页
微机原理习题解答_第2页
微机原理习题解答_第3页
微机原理习题解答_第4页
微机原理习题解答_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

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

文档简介

第1章习题和解答

15.将下列十进制数分别转化为二进制数、十六进制数和BCD码。

(1)15.32=(00001111.01010001)2=(0F.5l)i6=(000l0101.00110010)BCD

(2)325.16=(000101000101.00101000)2=(145.28)I6=(001100100101.00010110)BCD

⑶68.31=(01000100.01001111)2=(44.4F)I6=(01101000.0011OOODBCD

(4)214.126=(11010110.00100000)2=(OD6.20)I6=(001000010100.000100100110)BCD

16,将下列二进制数分别转化为十进制数和十六进制数。

(1)10110101=181=OB5H

(2)l=203=0CBH

(3)10101.1001=21.5625=15.9H

(4)101101.0101=45.3125=2D.5H

17,将下列十六进制数分别转化为二进制数、十进制数。

(1)FAH=11111010B=250

(2)12B8H=(X)0100101011l(X)0B=4792

(3)5A8.62H=010110101000.01100010B=1448.3828125

(4)2DF.2H=001011011111.0010B=735.125

18,若X=-IO7,Y=+74按8位二进制可写出:。3]补=划,fYl补=4AH,[X+Y1补=ODFIIJX-Y1补=4DH。

19.X=34AH,Y=8CHo问:有三位和两位十六进制数X和Y,

(1)若X,Y是统数(无符号数).则:X+Y=3D6H:X-Y=2BEH.

(2)若X,Y是有符号数,则:X+Y=2D6H;X-Y=3BEH°

20.已知X=85,Y=76(均为卜进制数),求[-85]补4-76]补。并利用补码的加、减法运算规则计算[X-Y]补,

[-X+Y]补,[-X-Y]补。结果的各机器数及其真值请用十六进制表示,并由运算过程中的标记位OF推断结

果是否溢出。

答:[X]补=[85]补=55H,[Y]补=[76]补=4CH」-X]补=[-85]补=0ABH,[-Y]补=[-76]补=0B4H

[X-Y]补=[X]补+[-Y]补=55H+B4H=09H,OF=()

[-X+Y]补=[-X]补+[Y]补=ABH+4cH=0F7H,OF=0

[-X-Y]补=[-X]补+[-Y]补=ABH+B4H=5FH,OF=1

21.(1)设[X]补=101010l()B,则[1/2X]补=1/2[X]补=1l()l()101B

(2)设区]补=11010100B,则[-1/4X]补=[1/41X]补]补=[11110101]补=00001011B

第2章习题和解答

1.8086是多少位的微处理器?为什么?

答:8086是高性能的笫三代微处理器,是Intel系列的16位微处理器。

2.EU与BIU各自的功能是什么?如何协同工作?

答:EU其主要功能是执行吩咐。BIU其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。

总线接口部件BIU和执行部件EU并不是同步工作的,两者的动作管理遵循如下原则:

每当8086的指令队列中有2个空字节,BIU就会自动把指令取到指令队列中。而同时EU从指令队列取出

一条指令,并用几个时钟周期夫分析•、执行指令°当指令队列已满.而且EU对RIU又无总线访问恳求时.

BIU便进入空闲状态。

3.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:8086CPU内有14个16位的寄存器。其中有4个16位通用寄存器AX、BX、CX、DX,2个16位指

针寄存器SP、BP,2个16位变址寄存器SI、DI,4个16位段寄存器CS、DS、SS、ES,I个16位指令

指针寄存器IP及1个16位标记寄存器FLAGSo

寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。

4.8086对存储器的管理为什么采纳分段的方法?

答:8086CPU有20位地址总线,它可寻址的存储空间为1MB。而8086指令给出的地址编码只有16位,

指令指针和变址寄存器也都是16位的,所以CPU不能干脆寻址1MB空间,为此采纳分段管理。

5.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?详细说明。

答:逻辑地址=物理地址:偏移地址;

偏移地址;相对于段起始地址的距离;

物理地址二段地址*10H+偏移地址

6.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=OCOOEH,求出该内存单元的物理地址。

答:物理地址二段地址*10H+偏移地址=OCO()EOH+20coH=0C21AOH

7.8086/8088为什么采纳地址/数据引线复用技术?

答:8086/8088CPU具有40条引脚,采纳分时复用地址数据总线,从而使8086/8088CPU用40条引脚

实现20位地址、16位数据、限制信号及状态信号的传输。

8.8086与8088的主要区分是什么?

答:8086有16位数据线,8088有8位数据线。

9.怎样确定8086的最大或最小工作模式?

答:8088/8086CPU的引脚固定接+5V时,CPU处于最小模式下,引脚固定接地时,

CPU处于最大模式下。

10.8086被复位以后,有关寄存器的状态是什么?微处理器从何处起先执行程序?

答:复位信号输入之后,CPU结束当前操作,并对处理器的标记寄存器、IP、DS、SS、ES寄存器及指

令队列进仃清零操作,而将CS设置为OFFFFHo

11.8086基本总线周期是如何组成的?各状态中完成什么基本操作?

答:一个基本的总线周期由4个T状态组成,我们分别称为个状态,在每个T状态下,CPU完

成不同的动作。

「状态:依据10而确定对存贮器或I/O操作,20位地址M〜An,信号有效,地址锁存信号ALE有效,

给出DT/R信号限制8286额据传输方向。

Tz状态:高四位地址/状态线送出状态信息Sa〜&,低J竺7.地址/数据线浮空,为下面传送数据打算;

WR或RD有效,表蔻对存贮器/I/O端口进行读或写;°刎有效,使得总线收发器(驱动器)可以传输数

据,

T3状态:从存贮器或者I/O端口读出的数据送上数据总线(通过力15~4)。

Tw状态:若存贮器或外设速度较慢,不能刚好送上数据的话,则通过READY线通知CPU,CPU在

看的前沿(即马结束末的下降沿)睑测READY,若发觉READY=0,则在与结束后自动插入1个或几个图,

并在每个图的前沿处检测READY,等到READY变高后,则自动脱离门,进入北。

T4状态:在岂与看(或备)的交界处(下降沿),采集数据,使各限制及状态线进入无效。

13.8086中断分哪两类?8086可处理多少种中断?

答:中断共分为两类:硬件中断和软件中断,8086可处理256种中断。

14.8086可屏蔽中断恳求输入线是什么?“可屏蔽”的涵义是什么?

答:硬件中断又可分为两类:可屏蔽中断和不行屏蔽中断。不行屏蔽中断:由NMI引脚引入,它不

受中断允许标记IF的影响,每个系统中仅允许有一个,都是用来处理紧急状况的,如掉电处理。这种中断

一旦发生,系统会马上响应;可屏蔽中断:由INTR引脚引入,它受中断允许标记IF的影响,也就是说,

只有当IF=1时,可屏蔽中断才能进入,反之则不允许进入。

15.中断向量表的功能是什么?已知中断类型码分别是84H和0FAH,它们的中断向量应放在中断向量表

的什么位置?

答:中断向量表存放的是各中断程序的入口地址即16位偏多地址和16位段地址,只要绐出中断类型

码,可以算出中断程序在中断向量表的什么位置:

中断向量表地址:中断类型码*4

中断向量表地址l=84H*4=210H

中断向量表地址2=0FAH*4=3E8H

(3)JMPW0RDPTR[BX1DS段物理地址=3000H*10H+1000H=31000H

IP=(31()00H)=1250HCS=1COOH:CS段指令物理地址=1(XX)IF1OH+125OH=11250H

«4)JMPDWORDPTR|BX+DATAJDS段物理地址=3OOOH*1DH+1OOOH+5OH=31O5OH

IP=(31050H)=2400HCS=(31052H)=6000HCS段指令物理地址=6000H*10H+2400H=62400H

6.设堆栈指针SP的初值为2500H,(AX尸1234H,(BX)=5678H。执行指令PUSHAX后,(SP尸,再执行指令

PUSHBX及POPAX之后,(SP户(AX)=(BX)=

PUSHAXSP=SP-2=2500H-2=24FEH

PUSHBXSP=SP-2=24FEH-2=24FCH

POPAXSP=&P+2=24FCH+2=24FEHAX=5678HBX=5678H

7.分析下列指令的正误,对于错误的指令要说明缘由并加以改正。

(l)MOVAH,BX错数据结构不同MOVAX,BX或MOVAH,BL

(2)MOV[BX],[SIJ错二存储单元间不允许干脆传送数据MOVAX,[SI]MOV|BX],AX

(3)MOVAX,[SI][DI]错源又都为变址寄存器MOVAX,[BX][DI]或MOVAX,[BX][SI]

⑷MOVMYDAT[BX][SI],ES:AX错段前缀应指向存储单元MOVES:MYDAT[BX][SI],AX

(5)MOVBYTEPTR[BX],1000错数据结构不同MOVBYTEPTRfBX],100

(6)MOVBX,OFFSETMAYDAT[SI]错MAYDAT为符号地址MOVBX,OFFSETMAYDAT

(7)MOVCS,AX错不允许给CS赋值MOVDS,AX

(8)MOVDS,BP错赋值方式不对MOVAX,BPMOVDS,AX

8.设VARI、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。

(l)ADDVARI,VAR2错VARI、VAR2为字变量(代表2个存储单元地址)

MOVAX,VAR2ADDVAR1,AX

(2)MOVAL,VAR2错数据结构不同MOVAX,VAR2

(3)SUBAL,VARI错数据结构不同SUBAX,VARI

(4)JMPLAB[SI]错LAB为标号地址JMPLAB

(5)JNZVARI错VARI为字变量不是标号地址JNZLAB

9.已知(人匚)=601,8匕)=0人9乩执行指令人口口人111后,AF、CF、OF、PF、SF、和ZF的值各为多少?

ADDAUBLAL=6CH+A9H=15HAF=1CF=1OF=0PF=0SF=OZF=0

10.试推断下列程序执行后,(BX尸的内容。

MOVCL,5

MOVBX,01C9HBX=01C9H

ROLBXJBX=0392H

RCRBX,CLBX=201CH

II.写出能够完成下列操作的8086CPU指令。

(1)把4629H传送给AX寄存器;MOVAX,4629H

⑵从AX寄存器中减去3218H;SUBAX,3218H

(3)把BUF的偏移地址送入BX中。LEABX,BUF

12.依据以下要求写出相应的汇编语言指令。

(1)把BX和DX寄存器的内容相加,结果存入DX寄存器中;ADDDX,BX

(2)用BX和SI的基址变址寻址方式,把存储器中的一个字节与AL内容相加,并保存在AL寄存器中;

ADDAL,[BX][SI]

(3)用寄存器BX和位移量21B5H的变址寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器

单元中;ADDWORDFER[BX+21B5H],CX

(4)用位移量2158H的干脆寻址方式把存储器中的一个字与数3160H相加,并把结果送回该存储器中;

ADDWORDPTR[2158H],3160H

(5)把数25H与(AL)相加,结果送回寄存器AL中。ADDAL.25H

13.按下列要求写出相应的指令或程序段。

(1)使BL寄存器中的高、低四位互换;MOVCL,4ROLBL,CL

(2)屏蔽AX寄存器中的biO和b5位;ANDAX,111110111101HUB

(3)分别测试AX寄存器中bl3和b2位是否为10

TESTAX,0000000000000100B测试AX寄存器中b2位是否为1

TESTAX,001000a)00000000B测试AX寄存器中bl3位是否为1

14.执行以下两条指令后,标记寄存器FLAGS的六个状态为各为何值?

MOVAX,95CSH

ADDAX,8379HAX=194IHAF=ICF=IOF=1PF=ISF=OZF=0

15.若(AL)=85H,(BL)=11H,在分别执行指令MUL和IMUL后,其结果是多少?

MULBLAL*BL=85H*UH=133*17=226lfAX=08D5H(无符号数相乘)

IMULBLAL*BL=-7BHS:11H=(-123)*17=-2091TAX=0F7D5H(有符号数相乘)

第4章习题和解答

1.请分别用DB、DW、DD伪指令写出在DATA起先的连续8个单元中依次存放数据UH、22H、33H、

44H、55H、66H、77H、88H的数据定义语句。

DATADB11H,22H,33H,44H,55H,66H,77H,88H

DATADW1122H,3344H,5566H.7788HDATAI10H0000H

DATADD11223344H.556677881120110001H

2.若程序的数据段定义如下,写出各指令语句独立执行后的结果:30H0002H

0003H

DSF.GSEGMENT

0004H

DATAIDB10H,20H,30H;3个字节(数据为l()H,20H,30H),地址0000H-0002H•

11

DATA2DW10DUP();20个字节(数据全为未知数),地址0003H-0016H0015H

STRINGDB'123';3个字节(数据为31H,32H,33H),地址0017H-(X)19H0016H

DSEGENDSSTRING31H0017H

(l)MOVAL,DATAIAL=IOH32H0018H

33H0019H

(2)MOVBX,OFFSETDATA2BX=0003H

(3)LEASI,STRINGSI=0017H

ADDBX,SIBX=001AH

MOVAL,|SI+2]AL-33H

3.试编写求两个无符号双字长数之和的程序。两数分别在MEM1和MEM2单元中,和放在SUM单元。

DATASSEGMENT

MEM178H0000H

MEM1DD82349678H

96H0001H

MEM2DD9876A432H34110002H

SUMDD82H0003H

DATASENDSMEM232H0004H

CODESSEGMENTA4H0005H

76H0006H

ASSUMECS:CODES,DS:DATAS

9811000711

START:MOVAX.DATAS

MOVDS,AX;取定义的DS段的段地址fDS

LEABX.MEM1:取MEM1偏移地址BX=OOOOH

LEASI,MEM2;取MEM2偏移地址SI=0004H

LEADI,SUM;取SUM偏移地址D1=0008H

MOVAX.WORDPTR|BX|;将[000()川地址的内容9678H9Ax=967811

ADDAX,WORDPTR[SI];AX+[0()04H]地址的内容A432HTAX=3AAAH,有进位CF=1

MOVWORDPTR[DI].AX:将AX的内容今偏移地址DI=0008H字单元中

INCBX:BX=BX+1=000114

INCBX;BX=BX+l=0002H

INCSI;SI=SI+l=0005H

INCSI;Sl=SI+l=0()06H

INCDI:DI=DI+l=0009H

INCDI;DI=DI+1=00OAH

MOVAX.WORDPTR[BX];将[0002川地址的内容8234H9AX=8234H

ADCAX,WORDPTR[SI];AX+[0006H]地址的内容9876H+CFTAX=1AABH,有进位CF=I

MOVWORDPTR[D1].AX;将AX的内容-偏移地珏DI=000AH字单元中

MOVAH.4CH

INT21H

CODESENDS

ENDSTART

4.试编写程序,测试AL寄存器的第4位是否为0?

TESTAL.0(X)01000B

JZLP

5.编写程序,将BUFFER中的一个8位二进制数转换为ASCII码,并按位数凹凸依次存放在ANSWER

起先的内存单兀中O

DATASEGMENT

BUFFERDB3CH

ANSWERDB,

DATAENDS

CODESEGMENT

ASSUMECS:CODE.DS:DATA

START:MOVAX.DATA

MOVDS,AX

MOVAL.BUFFER;AL=3CH

MOVCL,4

SHRAL.CL;将八匕内容右移4位八L-03H,先取高四位3

CMPAL.9

JGLPI;若AL内容大于9,说明AL内容在A-F之间

ADDAL,30H;否则AL内容小于9,将AL内容转换为ASCII码即AL+30H->AL

JMPLP2

LP1:ADDAL,37H;将AL内容转换为ASCII码即AL+37H->AL(如OCH+37H=43H大写C的ASCII码)

LP2:MOVANSWER.AL;将结果存入ANSWER第一个单元

MOVAL.BUFFER;AL=3CH

ANDAL,OFH;取AL内容低四位C

CMPAL.9;DATAi4811000011H

JGLP3;若AL内容大于9,说明AL内容在A.F之间45H000111E

4CH0002HL

ADDAL.30H;否则AL内容小于9

4CH0003HL

JMPLP4;将AL内容转换为ASCII码即AL+30H>AL

4FH0004H0

;骨ALIT什管步{力AdCll口勺

21H0005H1

LP4:MOVANSWER+1,AL;符结果存入ANSWER其次个单元20110006H

MOVAH,4CH47H0007HG

INT21H4FH0008H0

CODEENDS4FH0009H0

4411OOOAHD

ENDSTART

2011OOOIJH

6.假设娄【据项定义如下:

4DHOOOCHM

DATAIDB*HELLO!GOODMORNING!*

4FHOOODH0

DATA2DB20DUP()52HOOOEHR

用串操彳E指令编写程序段,使其分别完成以下功能:4EHOOOFHN

i.从左到右将DATA1中的字符串传送到DATA2中;49H001011I

LEASI,DATAI;SI=OOOOH4EH0011HN

47H0012HG

LEADI.DATA2;DI=0CH4H

21H0013Hj

MOVCX,20;20个字符

DATA20014H

1a

1•

0026H

REPMOVSB;将DATAI中的字符串传送到DATA2中

ii.传送完后,比较DATA1和DATA2中的内容是否相同;

LEASI,DATA1

LEADI,DATA2

MOVCX,20;20个字符

REPECMPSB:CX不为零时,字符相同接着比较,不同指令停止

JNZSTOP;若不同->STOP

;否则都相同

iii.把DATA1中的第3和第4个字节装入AX:TABLEOAH0000H

OOH0001H

MOVAX,WORDPTRDATA1+2

14H0002H

iv.将AX的内容存入DATA2+5起先的字节单元中。

OOH000311

MOVWORDPTRDATA2+5,AX

1EII000411

7.执行卜列指令后,AX寄存器中的内容是多少?OOH0005H

TABLEDW10,20,30,40,5028H0006H

ENTRYDW3OOH0007H

•••32H0008H

OOH0009H

MOVBX,OFFSETTABLE;BX=00()0H(地址)

ENTRY03HOOOAH

ADDBX,ENTRY:BX=0003H

OOHOOOBH

MOVAX,|BX];AX=1EOOH

8.编写程序段,将STRING1中的最终20个字符移到STRING2中(依次不变)。

DATASEGMENT

STRINGIDBtk0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZM;36个字符ASCH码

STRING2DB20DUP()

LEQUSTRING2-STRING1;STRING1的长度=36

DATAENDS

CODESEGMENT

ASSUMECS:CODE.DS:DATA,ES:DATA

START:MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,STRING1;取STRING1串的首地址二000()H

LEADI,STRING2;取STRING2串的首地址=0024H=36

MOVCX,20

MOVAX,L;AX=36=0024H

SUBAX,CX;AX=36-20=(X)24H-0014H=0010H

ADDSI,AX;SI=SI+AX=0000H+00i0H=001OH

REPMOVSB

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

9.假设一个48位数存放在DX:AX:BX中,试编写程序段,将该48位数乘2。

CODESEGMENT

ASSUMECS:CODE

START:MOVBX,9ABCH;设DXAXBX=123456789ABCH

MOVAX,5678H:DXAXBX*2二将DXAXBX左移一次

MOVDX,I234H

SHLBX,1:BX=BX*2=3578H,CF=1

RCLAX,1;AX=AX*2+CF=ACF1H,CF=0

RCLDX,1;DX=DX*2+CF=2468H,CF=0

MOVAH,4CH

INT2IH

CODEENDS

ENDSTART

10.试编写程序,比较AX,BX,CX中带符号数的大小,并将最大的数放在AX中。

CODESEGMENT

ASSUMECS:CODE

START:MOVAX,-5

MOVBX,6

MOVCX,10

CMPAX,BX

JGELL1

XCHGAX,BX

LL1:CMPAX,CX

JGELL2

XCHGAX.CX

LL2:MOVAH,4CH

INT21H

CODEENDS

ENDSTART

11.若接口03F8H的状态的数据(bl)和(b3)同时为I,表示接口03F8H有打算好的8位数据,当CPU将数

据我走后,bl和b3就不再同时为1了。仅当又有数据打算好时才再同时为lo

试编写程序,从上述接口读入20个数据,并依次放在DATA起先的地址中。

DATASSEGMENT

DATADB20DUP()

DATASENDS

CODESSEGMENT

ASSUMECS:CODES.DS:DATAS

START:MOVAX,DATA

MOVDS,AX

MOVCX,20

LEABX,DATA

MOVDX,03F8H

LOP:INAL,DX;读接口状态

NOTAL;将AL内容取反,若bl=l和b3=l取反后全为0

TESTAL,00001010b;推断接1103F8H的状态的数据(bl)和(b3)是否同时为1

JNZLOP;若相与的结果不为零表示接口没有打算好,接着读状态

INAL,DX;若相与的结果为零表示接11打算好;读接11数据

MOV[BX],AL;存数据

INCBX

DECCX

JNZLOP;从接口读入20个数据

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

12.画图说明下列语句安排的存储空间及初始化的数据值

(l)DATAIDB'BYTE',12,I2H,2DUP(0,?,3)

(2)DATA2DW2DUP(0,1,2),?,-5,256H

13.请用子程序结构编写如下程序:从键盘输入一个二位十进制的月份数(01〜12),然后显示出响应的英

文缩写名。

14.给出下列等值语句:DATAI42H0000HDATA2OOCOH0000H

LPHAEQU10059H0001H00C1H0002H

55H0002H00C2H0004H

BETAEQU25

45H0003HOOCOH0006H

GRAMMEQU4

OCH000411OOCHI000811

试求出下列表达式的值;

12H0005H00G2HOOOAH

(1)ALPHA*100+BETA;OOH0006HOOOCH

MOVAL,LPHA0007HFFFBOOODH

MOVBL,10003110008H0256HOOOEH

MOVCX,BETAOOH0009H001OH

HOOOAH0012H

MULBL;AL*BL->AX

03HOOOBH0014H

ADDAX,CX

(2)(ALPHA+4产BETA-2

MOVAL,LPHA

ADDAL,4

MOVBL,BETA

MULBL;AL*BL->AX

SUBAX,2

DATAI10H0000H

;

(3)(BETA/3)MOD53411000111

MOVAX,BETA07H0002H

MOVBL,309H0003H

DIVBLDATA242H0004H

MOVAL,ALMOD5OOH0005H

(4)GRAMMOR342H000611

OOH0007H

MOVAL,GRAMM

DATA348H0008H

ORAL,345H0009H

15.图示以下数据段在存储器中的存放形式。4CHOOOAH

DATASEGMENT4CHOOOBH

DATA1DB10H,34H,07H,09H4FHOOOCH

DATA2DW2DUP(42H)DATA5CDHOOODH

ABHOOOEH

DATA3DB'HELLO'

OOHOOOFH

DATA4EQU12

0011001011

DATA5DDOABCDH

DATAENDS

16.阅读下边的程序段,试说明它实现的功能是什么?

DATASSEGMENT

DATA1DB'ABCDEFG'

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:MOVAX,DATAS

MOVDS,AX

MOVBX,OFFSETDATA1;BX取DATA1地址,BX=0000H

MOVCX,7

NEXT:MOVAH,2;DOS功能2

MOVAL,IBX]

XCHGAL,DL:将要显示字符的ASCII送DL

INCBX

INT2IH

LOOPNEXT;功能是显示字符ABCDEFG

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

17.编写•程序段,把BUFFER起先的100个字节的内存区域初始化为55H、OAAH、55H、0AAH、

55H、0AAHo

DATASSEGMENT

BUFFERDB100DUP()

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:MOVAX,DATAS

MOVDS,AX

LEABX,BUFFER;BX取BUFFER地址,BX=0000H

MOVCX,50

LP:MOV[BX],55H

INCBX

MOV[BX1.0AAH

INCBX

DECCX

JNZLP

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

18.有16个字节,编程序将其中第2、5、9、14、15个字节内容加3,其余字节内容乘2(假定运算不会溢

出)。

DATASSEGMENT

NUMODB1,2,345,6,7区9J0,11J2,13,14J5/6

LIDB2,5,9,14,15

L2DB1,3,4,6,7,8,10,11,12,13,16

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:MOVAX,DATAS

MOVDS,AX

LEASI,LI

LEADI,L2

MOVCX,5

LP1:LEABX,NUM0

ADDBL,[SI]

SUBBLJ

ADDBYTEPTR[BX],3

INCSI

LOOPLP1

MOVCX,11

LP2:LEABX,NUM0

ADDBL,[DI]

SUBB

温馨提示

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

评论

0/150

提交评论