汇编复习题Word下载.docx

上传人:b****6 文档编号:19210858 上传时间:2023-01-04 格式:DOCX 页数:23 大小:26.35KB
下载 相关 举报
汇编复习题Word下载.docx_第1页
第1页 / 共23页
汇编复习题Word下载.docx_第2页
第2页 / 共23页
汇编复习题Word下载.docx_第3页
第3页 / 共23页
汇编复习题Word下载.docx_第4页
第4页 / 共23页
汇编复习题Word下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

汇编复习题Word下载.docx

《汇编复习题Word下载.docx》由会员分享,可在线阅读,更多相关《汇编复习题Word下载.docx(23页珍藏版)》请在冰豆网上搜索。

汇编复习题Word下载.docx

 A、MOVAX,1200H      (    )(     )

 B、CMPWORDPRT[SI],120H (    )(     )

 C、ADDAX,14[BX]     (    )(     )

 D、SUB[BX+DI],CX     (    )(     )

 E、ANDBX,BUF       (    )(     )

 F、LEADI,[SI]      (    )(     )

 G、XOR[BX+SI+3],DX    (    )(     )

  a.立即寻址;

    b.寄存器寻址;

    c.直接寻址;

  d.寄存器间接寻址;

 e.寄存器相对寻址;

  f.基址变址寻址;

  g.相对基址变址寻址.

19、某存储单元的地址为3A80:

13EBH,其中的3A80是______地址,13EB是______地址;

该存储单元的物理地址是______。

若段地址改变为20D4,则该存储单元的逻辑地址为______。

20、十进制数-100的8位二进制数的补码为(  )。

 A、11100100      B、01100100      C、10011100     D、11001110

21、下列是8位二进制数的补码,其中真值最大的是(  )。

 A、10001000      B、11111111      C、00000000     D、00000001

22、16位有符号数的补码所表示的十进制数的范围是(  )。

 A、-32767~+32768   B、-32768~+32767   C、-65535~+65536  D、0~65535

23、以下指令中,执行后AL中的数据不变的是(  )。

 A、ANDAL,CL     B、ORAL,AL     C、XORAL,AL    D、CMPAL,AL

 E、ADDAL,0     F、ANDAL,0FFH    G、XORAL,0FFH   H、ORAL,0FFH

24、下列指令中,执行后,不改变标志位CF的是(  )。

 A、NOTAL       B、ANDAL,AL     C、SALAL,1    D、MULAL

 E、MOVSB       F、INCAL       G、POPAX      H、POPF

25、下列指令中,执行后,不改变标志位ZF的是(  )。

 A、CMPAL,BL     B、ANDAL,AL     C、TESTAL,0FFH   D、RORAL,CL

26、执行指令CALLSUBB时,所要保护的断点在______寄存器中,而执行指令CALLFARPTRSUBB时,所要保护的断点在____________寄存器中。

二、根据给定的条件写出指令或指令序列:

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

2、将一个8位立即数与地址为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码相加,和送到第三个存储单元中。

三、按照给定的条件为程序定义一个数据段,并画出存储单元的示意图:

1、STR是字符串THISISADATA_SEGMENT。

2、DAT1是字节变量,初值为23,4BH,126,0D3H。

3、DAT2是16进制数字变量,初值为100,255,2DUP(3,5)

4、LEN是以上存储单元的字节数。

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

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

2、将DL中的4位二进制数转换成16进制数的ASCII码。

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

4、将AL和BL中的非压缩BCD码合并成一个压缩的BCD码,存在AL中。

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

6、用串扫描指令在一个字符串中查找字符'

*'

7、将输入的大写字母改变成小写输出。

8、输入一个字母,然后输出它的后续字母。

9、将DX:

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

10、完成计算7×

8。

五、分析指令和程序。

1、已知SS=2000H,SI=1000H,AX=0ABCDH,SP=0100H,BP=00FEH,给出下列指令执行后,指定寄存器中的内容,并画出指令执行中堆栈的变化示意图。

 PUSHAX       AX=      SP=

 PUSHSI       SI=      SP=

 POP AX       AX=      SP=

 PUSHBP       BP=      SP=

 POP SI       SI=      SP=

 POP BP       BP=      SP=

 POP BX       BX=      SP=

2、已知CS=2300H,IP=32B4H,且在数据段中有定义:

 ARYDB0AH,28H,00H,3FH

 分别给出下列指令执行后的CS和IP的内容:

 A、LEABX,ARY

  JMPWORDPTR[BX]     CS=    IP=

 B、MOVBX,OFFSETARY

  CALLWORDPTR[BX]    CS=    IP=

 C、MOVBX,OFFSETARY

  JMPDWORDPTR[BX]    CS=    IP=

3、

  MOVAL,0

  MOVBL,0

  MOVCX,10

L1:

INCBL

  INCBL

  ADDAL,BL

  LOOPLI

  HLT

 程序的功能是______________________,画出程序的流程图。

4、

  XDB14

  YDB4DUP(?

  MOVSI,0

  MOVAH,0

  MOVAL,X

  MULAL

  MULAX

  MOVWORDPTR[SI],AX

  INCSI

  MOVWORDPTR[SI],DX

 程序执行后X和Y的关系是_______________,画出程序的流程图。

5、

  MOVAX,4BD5H

  MOVDL,0

  MOVCX,16

SHLAX,1

  JC L2

  JMPL3

L2:

INCDL

L3:

LOOPL1

 程序的功能是___________,程序执行后BL=_________,DL=_________,AX=_________。

画出程序的流程图。

6、

  XORDX,DX

MOVAH,1

  INT21H

  CMPAL,'

$'

  JZ BACK

  CMPAL,30H

  JB L1

  CMPAL,39H

  JA L1

  ANDAL,0FH

  ADDDL,AL

  ADCDH,0

  JMPL1

BACK:

HLT

 程序的功能是______________________________,画出程序的流程图。

六、编写汇编语言程序,要有完整的格式(要有必要的数据段和代码段)

1、在屏幕上显示两个字符串,两个字符串要在不同的行。

  Thisisaprogram

  Diskoperationsystem

2、用移位指令将X乘以30,结果存入Y单元。

3、设有三个数A,B和C,如果其中一个为0,将另外两个也清零,否则求它们的和,存入D单元中。

4、在一个数组中查找最大数。

5、用查表法计算Y=X*X-2*X。

6、用字符串操作指令将有符号数数组ARY中的数转换成绝对值存回原单元。

7、输入一个字符串,将其中的小写字母转换成大写字母后输出。

8、从键盘输入一个一位数,然后响铃该数的次数。

9、从键盘输入一个字符串,再将它按相反次序输出在下一行。

10、统计一个16位二进制数中1的个数,并将结果输出。

11、用字符串扫描指令查找字符串中的第3个空格,找到显示FOUND,否则显示NOTFOUND。

12、从键盘输入两个一位数,求它们的和,将结果输出,分别用子程序完成

《汇编语言程序设计》考试题型例举

一、单项选择题

1.在循环(LOOP)和串处理指令中,用作计数器的寄存器是()

A.AX

B.BX

C.CX

D.DX

2.无条件段间转移指令的执行改变()

A.SP

B.SS和SP

C.IP

D.CS和IP

3.指令MOVAX,[BX][SI]中源操作数采用的寻址方式是()

A.寄存器

B.寄存器相对

C.寄存器间接

D.基址变址

二、填空题

1.8086/8088的地址总线有_______位,其最大的内存空间是_______字节。

2.在8086/8088寄存器组中,数据寄存器包括AX,BX,_______和_______。

3.在执行串处理指令时,为了使地址自动增量,应执行指令:

_______,该指令使得方向标志位_______。

三、简答题

1.简述8086/8088对内存的分段管理技术。

2.8086/8088CPU中,有哪些可编程寄存器。

3.简述在计算机上运行汇编语言程序的基本步骤。

四、改错题

1.指出下列语句的错误,并说明原因

(1)MOVBYTEPTR[BX],1024

(2)MOV[BX],[SI]

(3)SARAL,5

(4)MUL11H

(5)JNLFARPTRNEXT

(6)POPCS

2.找出下面程序中的错误,并改正

已知附加段中字符串STRING(长度为15)定义如下:

STRINGDB‘Computer&

math’

下面程序把STRing中的“&”用空格符代替。

MOVCX,15

LEADI,STRING

MOVAL,‘&

CLD

NEXT:

CMPSB

JNZC1

MOVBL,20H

MOVES:

[DI],BL

C1:

DECCX

JNZNEXT

五、程序分析题

1.假设程序中数据定义如下:

ORG0028H

PARTDW?

PNAMEDWDUP(0,2DUP(0,?

),$+2)

COUNTDD?

LENGEQU$-PART

(1)问:

Leng的值是_______,其含义是_______。

(2)指令MOVAX,[PART+12]执行后,(AX)=_______。

2.分析下面程序,指出该程序的功能,并画出流程图。

LEABX,TAB

MOVAX,0?

MOVAL,N

MOVDX,AX

ADDAX,AX

ADDAX,DX

ADDBX,AX

JMPBX

TAB:

JMPNEARPTRL0

JMPNeaRPTRL1

JMPNeaRPTRL7

汇编语言模拟试题

一、填空题(每空1分,共40分)

1.设(DS)=2000H,(ES)=3000H

(SS)=4000H,(BX)=1000H

(BP)=1000H,(ST)=0001H

(DI)=0002H

(21000H)=1234H,(21002H)=5678H

(31000H)=9ABCH,(31002H)=0DEF0H

(41000H)=3456H,(41002H)=789AH

计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。

MOVAX,ES:

[1000H] 

 

物理地址(AX)=

MOVAX,[BX] 

MOVAX,[BP+DI] 

MOVAX,[DX][SI] 

物理地址(AX)=

2.设(DS)=2000H

ORG2100H

TABLEDB10,3*5,10H

ADDRESSDDTABLE

ARRAYDW2DUP(3827H,?

写出下列各单元的内容:

(1)(2100H)=

(2)(2101H)=

(3)(2102H)=

(4)(2103H)=

(5)(2104H)=

(6)(2105H)=

(7)(2106H)=

(8)(2107H)=

(9)(2108H)=

(10)(2109H)=

(11)(210AH)=

(12)(210BH)=

(13)(210CH)=

(14)(210DH)=

(15)(210EH)=

3.下面的程序通过子程序调用,将数组ARRAY的COUNT个元素求和,并将结果送SUM单元,分析这段程序后,补充完整程序中的空格部分。

|

SUMDW?

ARRAYDW200DUP(?

COUNTDW200

MOVDX,OFFSETSUM

PUSHBX

MOVBX,OFFSETARRAY

MOVBX,OFFSETCOUNT

CALLSUMPRO

SUMPROPROCNEAR

PUSHAX

PUSHSI

PUSHDI

PUSHBP

MOVBP,SP

MOVSI,[BP+_____];

得到ARRAY的地址

MOVDI,[BP+_____];

得到COUNT的地址

MOVCX,[DI]

得到SUM的地址

XORAX,AX

ADDAX,[SI]

LOOPNEXT

MOV[],AX;

送求和结果

POP

POPDI

POPSI

POPAX

RET

SUMPROENDP

请填出用堆栈传送参数地址时,堆栈最满时的状态:

____________

|___________| 

|___________| 

二、判断题(每小题1分,共10分)[下面指令中出现的VAL为一字变量]

1.任何存储单元都只有唯一的段地址的偏移地址。

()

2.MOVCL,[BL]()

3.REPMOVSES:

WORDPTR[DI],DS:

[SI]()

4.RCR[BX+SI],CL()

5.MOVBX,VAL:

[DX]()

6.MOVDS,[BP+DI]()

7.JMPDWORDPTR[BX+SI]()

8.PUSHOFFSETVAL()

9.MOVCL,HIGHVAL()

10.TESTDL,00000100B()

三、简答题(每小题5分,共15分)

什么是中断?

什么是中断源?

什么是中断向量?

指令和伪指令的关系是什么?

I/O设备有哪几种数据传送方式?

它们各自有什么特点?

四、编程题(5分)

编写宏指令CLEARBLOCK,完成用空格符清除某一字符区的工作,字符区首地址及其长度为变元。

五、编程题(30分)

从键盘读入连续n个字符(0≤n≤150),将这串字符中的小写字母转化为大写字母后重新在屏幕上显示,然后统计这串字符中非数字字符(‘0’----‘9’以外的字符)的个数并以16进制的形式显示出来,请编制完整的汇编语言程序完成上述功能。

试题1从下列叙述中选择正确的叙述(10分)。

(1)汇编语言是用符号表示的面向机器的语言,因此它是机器语言。

(2)汇编语言是一种高级语言,其程序源代码必须编译成目标代码,程序才能执行。

(3)连接程序是把若干个模块连接起来成为可执行程序的系统程序。

(4)堆栈以先进后出的方式工作。

T

(5)零标志ZF=1,表示计算结果为0。

(6)汇编语言是最快最有效的计算机语言,在自动控制、通信与接口中是必不可少的。

(7)汇编语言与机器低层关系不大,所以它具有很好的移植性。

F

(8)8088/8086的控制寄存器有IP和PSW,它们都是16位寄存器。

(9)SP是保存当前栈顶地址的寄存器。

(10)将汇编语言源代码转换成机器目标代码的过程称为编译。

F

正确的答案:

(1)F,

(2)F,(3)T,(4)T,(5)T,(6)T,(7)F,(8)F,(9)T,(10)F

试题2选择填空题(20分)

设(DS)=2000H,(CS)=8000H,(BX)=1000H,(SI)=2000H,COUNT=3000H,

(20000H)=10H,(20001H)=0AH,(21000H)=20H,(21001H)=0BH,

(22000H)=30H,(22001H)=0CH,(23000H)=30H,(23001H)=0CH,

(24000H)=40H,(24001H)=0DH,(25000H)=50H,(25001H)=0EH,

(26000H)=60H,(26001H)=0FH,。

下列指令执行后,按要求填空。

(1)MOVAX,BX(AX)=

(2)MOVAX,[2000](AX)=

(3)MOVAX,[BX](AX)=

(4)MOVAX,COUNT[SI](AX)=

(5)MOVAX,COUNT[BX][SI](AX)=

(6)JMP[BX][SI](IP)=

(7)JMPBX(IP)=

下一条要执行指令的物理地址=

(8)JMPCOUNT[BX](IP)=

答案:

(1)1000H,(2

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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