实验复习题新Word格式.docx

上传人:b****1 文档编号:4408120 上传时间:2023-05-03 格式:DOCX 页数:22 大小:22.95KB
下载 相关 举报
实验复习题新Word格式.docx_第1页
第1页 / 共22页
实验复习题新Word格式.docx_第2页
第2页 / 共22页
实验复习题新Word格式.docx_第3页
第3页 / 共22页
实验复习题新Word格式.docx_第4页
第4页 / 共22页
实验复习题新Word格式.docx_第5页
第5页 / 共22页
实验复习题新Word格式.docx_第6页
第6页 / 共22页
实验复习题新Word格式.docx_第7页
第7页 / 共22页
实验复习题新Word格式.docx_第8页
第8页 / 共22页
实验复习题新Word格式.docx_第9页
第9页 / 共22页
实验复习题新Word格式.docx_第10页
第10页 / 共22页
实验复习题新Word格式.docx_第11页
第11页 / 共22页
实验复习题新Word格式.docx_第12页
第12页 / 共22页
实验复习题新Word格式.docx_第13页
第13页 / 共22页
实验复习题新Word格式.docx_第14页
第14页 / 共22页
实验复习题新Word格式.docx_第15页
第15页 / 共22页
实验复习题新Word格式.docx_第16页
第16页 / 共22页
实验复习题新Word格式.docx_第17页
第17页 / 共22页
实验复习题新Word格式.docx_第18页
第18页 / 共22页
实验复习题新Word格式.docx_第19页
第19页 / 共22页
实验复习题新Word格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验复习题新Word格式.docx

《实验复习题新Word格式.docx》由会员分享,可在线阅读,更多相关《实验复习题新Word格式.docx(22页珍藏版)》请在冰点文库上搜索。

实验复习题新Word格式.docx

6:

CSEGSEGENT

7:

ASSUMECS:

CSEG;

DS:

DSEG

8:

BEGIN:

MOVAX,DATA

9:

MOVDS,AX

10:

MOVAX,ARGX

11:

ORAL,AL

12:

JSABS1

13:

JEMOVE

14:

CMPAL,8

15:

JBEONE

16:

CMPAL,0FH

17:

JGEMOVE

18:

SHLAL,2

19:

ADDAL,ARGX

20:

SUBAL,2

21:

JMPMOVE

22:

ONEADDAL,10

23:

24:

ABS1NEGAL,AL

25:

MOVEMOVRLT,AX

26:

HALT

27:

DSEGENDP

28:

ENDSSTART

2.下列程序中至少有10个语法性的错,请将这些错误找出来。

;

********EXAM?

.?

DATADB14H,26H,03H,8A,11H,FFH

MAX:

DB?

DATAENDS

CSEGSEGMENT

CSEG:

SMAXMOVAX,DATA

LEASI,DATA

MOVAL,[SI]

AGAN:

INCSI

MOVBL,[SI]

CMPBL,FFH

JELOAD

CMPAL,BX

JAAGAIN

MOVAL,BL

ADDAL,ARGY

JRAGAIN

LOD:

MOVMAX,AX

CSEGENDP

ENDSSMAX

3.已知下述程序是从两个无符号数中选出较大者送入MAX中,但程序有错,请改正。

DSEGSEGMENT

DAX:

DBA0H

DAYDB300

MAXDW0

DSEGEND

CSEGSEGMENT

ASSUMECS:

CSEG;

DS:

DSEG

BEGIN:

MOVDS,DSEG

MOVAL,DAX

CMPAL,DAY

JGLMAX

MOVAL,DAY

LMAXMOVMAX,AL

HLT

CSEGENDS

ENDSTART

4.下面是从一组数据中找最大数的程序,该程序有逻辑性的错误,请将错误找出并改正过来。

已知数据为不带符号的字数据,并存放在LIST开始的单元中,数据的个数存放在CNT字单元,找出的最大值存放在MAX单元。

LISTDW1,200,30,400,0,7,4000

CNTDB7

MAXDW?

DSEGENDS

CSEGSEGMNET

CSEG,DS:

FMAX:

MOVDX,DSEG

LEASI,LIST

MOVCX,CNT

CLD

LODSW

DECCX

CMPAX,[SI]

JLESMALL

SMALL:

LOOPAGAIN

MOVMAX,SI

HLT

CSEGENDS

ENDSTART

5.下列程序求一组带符号字节数据的平均值,数据的首地址为DATA,数据个数存放在CNT字单元,但程序有逻辑错误,请将错误改正过来,使之完成预定功能。

DSEGSEGMENT         

DATADB100,-100,90,20,-120,60

CNTDW0005H

AVERDB?

MAINPROCFAR

PUSHDS

XORDX,DX

PUSHDX

MOVAX,DS

MOVSI,OFFSETDATA

MOVCX,OFFSETCNT

AGAIN:

ADDDL,[SI]

ADCDH,0

DIVCL

MOVAVER,AL

RET

MAINENDP

ENDMAIN

6.下述程序执行后,应将DATA数组中的最大值存入MAX单元,数组元素为带符号

字节数据,数据个数在CNT单元。

现已知程序有错,请改正,使之完成预定功能。

DATADB12H,203Q,56H,7E,63H,128

CNTDB06

MAXDW0

DSEG,CS:

FMAXMOVAX,[SI]

CMPAX,[SI+1]

JAFMAX1

MOVAL,[SI+1]

FMAX1:

LOOPFMAX

MAIN:

PROCFAR

PUSHCS

XORAX,AX

PUSHAX

MOVCX,CNT

CALLFMAX

MOVMAX,AX

ENDP

ENDMAIN

六、写出完成下列功能的程序段

1.将一个字节的立即数送到地址为NUM的存储单元中。

2.将一个8位立即数与地址为BUF的存储单元内容相加并放回BUF单元中。

3.将地址为ARRAY的存储单元中的字数据循环右移一位。

4.将16位立即数与地址为MEM的存储单元中的数比较。

5.测试地址为BUFFER的字数据的符号位。

6.将AX寄存器及CF标志位同时清零。

7.用直接寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。

8.用寄存器寻址方式将首地址为ARRAY的字数组中第5个数送往寄存器BX中。

9.用相对寻址方式将首地址为ARRAY的字数组中第8个数送往寄存器BX中。

10.用基址变址寻址方式将首地址为ARRAY的字数组中第N个数送往寄存器BX中。

11.将首地址为BCD_BUF存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。

12.将AL中的两位BCD码分离,分别存放DL和DH中。

13.将DL中的低4位二进制数转换成16进制数的ASCII码。

14.将AL中的8位二进制数高4位和低4位交换。

15.将AL和BL中的非压缩BCD码合并成一个压缩的BCD码(BL作高位),存在AL中。

16.将AL中的8位有符号数转换成它的绝对值。

17.用串扫描指令在一个字符串中查找字符'

*'

18.将输入的大写字母改变成小写输出。

19.输入一个字母,然后输出它的后续字母。

20.将DX:

AX寄存器中的32位数向右移两位。

21.完成计算7×

8。

22.编写完成下列功能的小程序段:

①将寄存器AL的第4、3位变反,其余位保持不变。

②将寄存器AL的第4、3位清零,其余位保持不变。

③将寄存器AL的第4、3位置1,其余位保持不变。

④将寄存器AL的第4、3位写入MEM单元中的第4、3位,其余位保持不变。

⑤将寄存器AL的第i位写入MEM单元的第i位,其余位保持不变,i值在CL中。

⑥将寄存器AL的第i+1、i位写入MEM单元的第i+1、i位,其余位保持不变,i值在CL中。

23.利用移位、传送和加法指令,完成AX与10的乘法运算。

24.编写指令序列,测试DL寄存器的低4位是否为0。

25.用尽可能少的指令分别实现下述功能

⑴如果AH的第4,3位为00,则将AH清0,否则置全1。

  

⑵如果AH的第4,3位为01,则将AH清0,否则置全1。

⑶如果AH的第4,3位为10,则将AH清0,否则置全1。

⑷如果AH的第4,3位为11,则将AH清0,否则置全1。

⑸如果AH中的数据为偶数,则将AL清0,否则将AL置0FFH。

⑹如果AH中的数据为正数,则将AL清0,否则将AL置0FFH。

⑺如果AH中的数据满足偶校验,则将AL清0,否则将AL置0FFH。

⑻设AX和BX分别存放着一个无符号的整数,如果AX中的数据是BX中数据的整数倍,则将DX清0,否则将DX置全1。

⑼如果BX中的数据与CX中的数据相加产生溢出,则将AL清0,否则将AL置0FFH。

26.假设数据段定义如下:

DATASEGMENT

STRINGDB'

abcde'

COUNT=5

DATAENDS

现想用指令REPNZSCASB从地址STRING开始正向查找元素'

c'

,试写出有关的程序段。

27.假设数据段定义如下:

STR1DB'

abcdef'

STR2DB'

abcdfe'

COUNT=6

FLAGDB0

现想用指令CMPSB比较两个串STR1和STR2是否相等,若相等则将FLAG单元置1,否则清0,试写出有关的程序段。

28.将DX:

BX:

AX中的数右移4位。

29.字变量ADDR的段地址在DS中,将ADDR字单元中1的个数存入CX 

(例如:

[ADDR]=1000000100000100B,则1的个数为3 

七、程序填空题(每空格只能填一条指令)

1.下面程序段判断CX和BX中的符号位是否相同。

如相同,AL置0,否则AL置-1。

试在空白处填上合适的指令。

____________________

ANDCX,8000H

___________________

MOVAL,0FFH

JMPEXIT

ZERO:

MOVAL,0

EXIT:

2.下面程序段是判AL和BL中的数据是否同号,若是,则把AL中的数据变负并送到AH中,否则0→AH。

横线处填入适当指令(每处仅填一条指令)。

____________

JNSK

MOVAH,0

JMPEND0

K:

____________

MOVAH,AL

END0:

……

3.下面程序执行后,AL的内容为ARRAY数组中的最小数,在空白处各填一条指令。

ARRAYDB3,5,-3,-2,4,5,-8,6

MOVCX,7

MOVDI,0

MOVAL,ARRAY

A1:

INCDI

JLEA2

MOVAL,ARRAY[DI]

A2:

_______________

4.程序段的功能是依次产生0~9的10个ASCII码,并存入BUF1数据区,请在空白处填上指令(每一空白处仅填一条指令)。

BUF1DB10DUP(?

LEABX,BUF1

MOVCX,10

XORAL,AL

LOP:

MOVAH,AL

ADDAL,30H

______

INCBX

INCAL

LOOPLOP

5.以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。

BUFDB5,6,7,58H,62,45H,127,……

COUNTEQU$-BUF

MAXDB?

MOVBX,OFFSETBUF

MOVCX,COUNT-1

MOVAL,[BX]

LOP1:

_____________________

JAENEXT

NEXT:

DECCX

MOVMAX,AL

6.已知数据段DAT单元存放某一数N(-6≦N≦6)下面的程序段用查表法求数N的平方值,结果送SQR单元,请将程序填写完整。

TABLEDB0,1,4,9,16,25

DATDBN

SQRDB?

LEABX,TABLE

MOVAL,DAT

_______

JGENEXT

XLAT

HLT

7.下面程序段完成将存储单元A1中一个压缩型BCD码拆成二个非压缩型BCD码,高位BCD码存放在A3单元,低位BCD码存放在A2单元,再分别转换为对应的ASCⅡ码。

请将程序补充完整。

MOVAL,A1

MOVCL,4

__________

ORAL,30H

MOVA3,AL

MOVA2,AL

8.现有下列数据段:

  DATASEGMENT

  STR1DB‘ABCDEFGHIJKL'

  COUNTEQU$-STR1

  BUFDBCOUNTDUP(0)

  DATAENDS

下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。

试把程序中所空缺的指令填上。

  MOVSI,OFFSETBUF-1

  MOVDI,OFFSETBUF

  MOVCX,COUNT

  _________________

 LOP:

MOVSB

  _______________________________

9.已知存储器中有一个首地址为BUF的COUNT个字节数据区。

下列程序段把数据区中的每一项加1(不考虑溢出),请将程序填写完整。

BUFDB45H,79H,0ABH,...,86H

COUNTEQU____________________

LEABX,BUF

MOVCX,COUNT

AGN:

____________________

LOOPAGN

10.NUM和NUM+1单元分别存有一个8位带符号数,下面程序段将两数中大者放NUM单元,小者放NUM+1单元,请在划线处各填一条指令补充完整。

MOVAL,NUM

CMPAL,NUM+1

______________

_______________

MOVNUM,AL

DONE:

11.下面程序段是判断两个存储单元是否同为正数,如是,则AX置全0,否则AX置非0。

试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。

VAR1DW×

×

VAR2DW×

MOVAX,VAR1

MOVBX,VAR2

XORAX,BX

______________

TESTBX,8000H

MOVAX,0

12.下列程序段求数组FLD的平均值,结果在AL中。

请将程序填完整(不考虑溢出)

FLDDW10,-20,30,-60,-71,80,79,56

MOVCX,8

XORAX,AX

R1:

ADDSI,2

LOOPR1

MOVCL,8

IDIVCL

13.下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。

试把空白处填上适当指令。

ANDAH,08H

MOVAH,0FFH

JMPNEXT

ZERO:

MOVAH,0

……

14.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。

  TESTAX,8000H

  ________________________________

  MOVPLW,BX

  JMPDONE

  K1:

______________________________

  DONE:

15.下面程序段完成将以BUF为首址的100个字节数据的位置颠倒过来,请在空白处各填上一条指令。

____________

LEASI,BUF

MOVDI,SI

ADDDI,99

NEXT:

MOVAL,[SI]

________________

MOV[SI],AL

INCSI

DECDI

LOOPNEXT

16.下面程序段实现把DA1字单元内容取绝对值后送到DA2中,请各填一条指令。

DA1DW×

DA2DW?

MOVAX,DA1

______________

JNSK

K:

MOVDA2,AX

17.DA1数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。

MOVCX,50

LEASI,DA1

LEADI,DA2

K1:

MOVAL,[SI]

MOV[DI],AL

INCSI

INCDI

_____________

18.某程序段欲用单个字符显示的2号DOS功能调用去显示一字符串“STRING”。

试在下面空白处填上适当的指令(每一空白处仅填一条指令)。

STR1DB‘STRING'

,‘$'

MOVBX,OFFSETSTR1

MOVDL,[BX]

MOVAH,02H

INT21H

_______________

JNELOP

19.下面程序段是判断AL和BL中第4位是否相同,如相同,则AL置全0,否则AL置全1。

试把空白处填上适当的指令。

(每一空白处填一条指令)

________________

    ANDAL,10H

MOVAL,0FFH

NEXT:

20.下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。

21.以BUF为首

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

当前位置:首页 > 工程科技 > 能源化工

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

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