《汇编语言》作业及答案.docx

上传人:b****1 文档编号:13594323 上传时间:2023-06-15 格式:DOCX 页数:15 大小:20.37KB
下载 相关 举报
《汇编语言》作业及答案.docx_第1页
第1页 / 共15页
《汇编语言》作业及答案.docx_第2页
第2页 / 共15页
《汇编语言》作业及答案.docx_第3页
第3页 / 共15页
《汇编语言》作业及答案.docx_第4页
第4页 / 共15页
《汇编语言》作业及答案.docx_第5页
第5页 / 共15页
《汇编语言》作业及答案.docx_第6页
第6页 / 共15页
《汇编语言》作业及答案.docx_第7页
第7页 / 共15页
《汇编语言》作业及答案.docx_第8页
第8页 / 共15页
《汇编语言》作业及答案.docx_第9页
第9页 / 共15页
《汇编语言》作业及答案.docx_第10页
第10页 / 共15页
《汇编语言》作业及答案.docx_第11页
第11页 / 共15页
《汇编语言》作业及答案.docx_第12页
第12页 / 共15页
《汇编语言》作业及答案.docx_第13页
第13页 / 共15页
《汇编语言》作业及答案.docx_第14页
第14页 / 共15页
《汇编语言》作业及答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《汇编语言》作业及答案.docx

《《汇编语言》作业及答案.docx》由会员分享,可在线阅读,更多相关《《汇编语言》作业及答案.docx(15页珍藏版)》请在冰点文库上搜索。

《汇编语言》作业及答案.docx

《汇编语言》作业及答案

习题一

1.在计算机内部,计算机能够直接执行的程序语言是。

A.汇编语言B.C++语言

C.机器语言D.高级语言

2.在堆栈段中,存放栈顶地址的寄存器是。

A.IPB.SPC.BXD.BP

3.指令指针寄存器IP用来存放代码段中的偏移地址。

在程序运行的过程中,它始终指向。

A.下一条指令的首地址  B.下一条指令的地址 

C.当前指令的首地址  D.当前指令的地址

4.编译程序的功能是。

A.检查源程序中的语法错误和逻辑错误

B.将源程序编译成目标程序

C.改正源程序中的语法错误

D.将高级语言源程序翻译成汇编语言源程序

5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。

A.目标程序   B.源程序   C.可执行程序    D.汇编程序

6.计算机中用来存储程序、数据等信息的记忆装置是。

A.控制器B.运算器C.CPUD.存储器

7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件,该文件可在系统中运行。

习题二

1当SS=3000H,SP=0100H时,执行PUSHAX指令后,堆栈顶部的物理地址

是()

A.30100HB.30098HC.30102HD.300FEH

2设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是()

A.-82、-126、-2  B.-2、-125、126

C.-2、-126、-125  D.-82、-125、125

3标志寄存器中属于控制标志位的是()

A.DF,OF,SFB.DF,IF,TF

C.OF,CF,PFD.AF,OF,SF

4设(AX)=4544H,在执行指令”SUBAH,AL”之后,()

A.CF=0,OF=0  B.CF=0,OF=1 

C.CF=1,OF=0  D.CF=1,OF=1

5若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSHAX,PUSHBX,POPCX,POPDX后,寄存器CX的内容为______19____________。

6若物理地址为2D8C0H,偏移量为B6A0H,则段地址为_2222H________。

7设(AL)=70H,分析在SUBAL,9AH后,标志寄存器中CF、OF、ZF、PF、SF的状态。

CF=1,OF=1,,ZF=0,PF=0,SF=1

习题三

1、下列指令中,正确的一条是。

A)MOVBYTEPTR[BX],1000

B)MOVAX,[SI][DI]

C)LEABX,4[BX]

D)MOVAX,ARRAY1+ARRAY2

2、指令SUBAX,5[BX+DI]的源操作数的寻址方式是。

A)寄存器寻址B)基址+变址寻址

C)变址寻址D)直接寻址

3、假设V1和V2是用DW定义的变量,下列指令中正确的是。

A)MOVV1,V2B)MOVV1,20H

C)MOV2000H,V2D)MOVAL,V1

4、设在内存单元(0010H)=12H,(0011H)=34H,对于从0010H处取一个字的叙述正确

的是________。

A)读出的字的值为1234H,需要访问两次存储器

B)读出的字的值为3412H,需要访问两次存储器

C)读出的字的值为3412H,需要访问一次存储器

D)读出的字的值为1234H,需要访问一次存储器

5、有指令“MOVSI,OFFSETDATA”,和它等效的指令是___LEASI,DATA_________。

6、对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:

TABLE1DB?

TABLE2DW20DUP(?

TABLE3DB‘ABCD’

MOVAX,TYPETABLE1;AX=①

MOVBX,TYPETABLE2;BX=②

MOVCX,LENGTHTABLE2;CX=③

MOVDX,SIZETABLE2;DX=④

MOVSI,LENGTHTABLE3;SI=⑤

AX=1,BX=2,CX=20,DX=40,SI=1.

习题四

1.MOVAL,20H

MOVBL,AL

ADDAL,BL

SBBAL,10H

CBW

DIVBL

上述程序段执行后,(AH)=___10H________,(AL)=___01H_______

2.语句”BUFDB25”的含义是()

A.用BUF表示25

B.定义BUF为字节变量,初始值为25

C.从标号BUF对应的地址起分配25个单元

D.定义BUF为变量,其地址为25

3.除法指令DIV的格式中,只有一个源操作数。

若其类型属性为字节,则目的操作数在_______AX__________中。

4.执行一列三条指令后,AX寄存器中的内容是()。

MOVAX,‘8’

ADDAL,‘9’

AAA

A.0071H   B.0107H  C.0017H   D.0077H

5.逻辑移位指令SHL用于()

A.带符号数乘2B.带符号数除2

C.无符号数乘2D.无符号数除2

6.CWD指令的功能是()

A.把源操作数的符号位扩展到目的操作数中

B.把AL中的符号位扩展到AH中

C.把AH中的符号位扩展到AL中

D.把AX中的符号位扩展到DX中

7.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()

A.DIVBX

B.CWD

IDIVBX

C.XORDX,DX

D.CBW

DIVBXIDIVBX

8.使AL中的操作数0,1位变反,其它位不变的指令是_____XOR_03H_______________。

9.写出将寄存器BX,AX的内容互换的正确指令是____XCHG_AX,BX___________________。

10.设(AX)=2012H,执行CMPAX,2012H后(AX)=__2012H_________。

习题五

(1)设(SS)=338AH,(SP)=0450H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是()。

A.33CECHB.33CF2H

C.33CF4HD.33CE8H

(2)若(AX)=-15,要得到(AX)=15应执行的指令是()。

A.NEGAXB.NOTAXC.INCAXD.DECAX

(3)将累加器AX内容清零的错误指令是()。

A.ANDAX,0B.XORAX,AX

C.SUBAX,AXD.CMPAX,AX

(4)填写执行下列程序段后的结果。

MOVDX,8F70H

MOVAX,54EAH

ORAX,DX

ANDAX,DX

NOTAX

XORAX,DX

TESTAX,DX

(AX)=__________、(DX)=__________、SF=__________

OF=________、CF=_________、PF=_________、ZF=__________

(AX)=0FFFFH,(DX)=8F70H,SF=1,OF=0,CF=0,PF=0,ZF=0

(5)DAT1DW12H,23H,34H,46H,57H

DAT2DW03H

LEABX,DAT1

ADDBX,DAT2

MOVDX,[BX]

MOVAX,4[BX]

SUBAX,DX

执行上列程序段后,AX的内容为。

(AX)=2300H

(6)执行下列程序段后,AX和CF中的值是多少?

STC

MOVCX,0403H

MOVAX,0A433H

SARAX,CL

XCHGCH,CL

SHLAX,CL

(AX)=4860,CF=1

习题六

1.已知AX=0FFFFH,DX=0001H

MOVCX,2

LOP:

SHLAX,1

RCLDX,1

LOOPLOP

上述程序段执行后,(DX)=0007H,(AX)=0FFFCH

2.已知AX=78H,BX=0804H

SHRBX,1

ANDBX,0F0FH

MOVCX,4

LOP:

XCHGBH,BL

DIVBL

SALAX,1

LOOPLOP

上述程序段执行后,(AX)=001EH,(BX)=0402H

3.CODESEGMENT

ASSUMECS:

CODE,DS:

CODE,SS:

CODE

ORG100H

BEGIN:

MOVAX,01H

MOVBX,02H

MOVDX,03H

MOVCX,04H

L20:

INCAX

ADDBX,AX

SHRDX,1

LOOPNEL20

RET

CODEENDS

ENDBEGIN

当执行以上程序后,AX、BX、CX、DX中的值分别是多少?

AX=①

BX=②

CX=③

DX=④

(AX)=03H,(BX)=07H,(CX)=02H,(DX)=0

4.已定义了两个字变量A和B,补充下列程序段使之完成下列功能:

A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。

B.若两个数均为奇数,则将两数均加1后存回原变量。

C.若两个数均为偶数,则两个变量均不改变。

MOVAX,A

TESTAX,_0001H_____

JZA_EVEN

MOVBX,B

TESTBX,0001H

JZB_EVEN

_INC_AX_____________

MOVA,AX

_INC_BX__________

MOVB,BX

B_EVEN:

_JMP_EXIT___________

A_EVEN:

MOVBX,B

TESTBX,0001H

JZEXIT

XCHG_AX,BX___________

MOVA,AX

MOVB,BX

EXIT:

习题七

1.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?

栈顶的物理地址是多少?

段基址21F0H,物理地址31EEEH

C>DEBUG

-R

AX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000

DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPL

NZNAPONC

2.分析下列程序段执行后,AX寄存器的内容是什么?

......

TABLEDW10H,20H,30H,40H,50H,60H,70H,80H

ENTRYDW6

......

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

(AX)=0040H

3.试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?

......

VAR1DB86H

VAR2DW2005H,0021H,849AH,4000H

......

MOVAL,VAR1

CBW

LEABX,VAR2

MOVDX,2[BX]

SUBAX,DX

(AX)=FF65H,(DX)=0021H

4.试分析下列程序段,回答所提问题。

ORG3000H

DB11H,12H,13H,14H,15H

......

MOVBX,3000H

STC

ADCBX,1

SALBL,1

INCBYTEPTR[BX]

(1)程序段执行后,3004H单元中的内容是什么?

16H

(2)程序段执行后,BX中的内容是什么?

CF的值是1还是0?

(BX)=3004H,CF=0

习题八

1.分析下面的程序段,执行后AX的内容为多少?

ARRAYDW10DUP

(2)

XORAX,AX

MOVCX,0AH

MOVSI,12H

NEXT:

ADDAX,ARRAY[SI]

SUBSI,02H

LOOPNEXT

(AX)=20//或14H

2.执行下列程序段后,给出指定寄存器的内容。

MOVAX,0

MOVBX,1

MOVCX,5

A:

ADDAX,BX

INCBX

LOOPA

HLT

执行后的结果为AX=__15____;

BX=__6____。

该程序段的功能是____计算0+1+2+3+4+5____________________。

3.设(AX)=1122H,(BX)=3344H,(SP)=5566H,执行如下程序段后,IP和SP的值分别是什么?

SUNPROC

PUSHAX

ADDBX,AX

PUSHBX

POPBX

RET

SUNENDP

IP=1122H,SP=5566H

4、

执行下列程序段后,AX和CF中的值是多少?

STC

MOVCX,0403H

MOVAX,0A433H

SARAX,CL

XCHGCH,CL

SHLAX,CL

(AX)=4860H,CF=1

5、下列程序段运行后,HCOD和HCOD+1两字节单元内容是什么?

HEXDB‘0123456789ABCDEF’

HCODDB?

,?

  ┇

MOVBX,OFFSETHEX

MOVAL,1AH

MOVAH,AL

ANDAL,0FH

XLAT

MOVHCOD[1],AL

MOVCL,12

SHRAX,CL

XLAT

MOVHCOD,AL

‘1’,’A’

习题九

1、CALLDWORDPTR[BX]指令是段间调用还是段内调用。

它一共向堆栈中压入几个字?

两个字

2、在子程序设计时,为什么要保护和恢复现场?

由于汇编语言所操作处理的对象主要是CPU寄存器,而主程序在调用子程序时,已经占用了一定的寄存器,子程序执行完毕返回主程序后,又要保证主程序按原有状态继续正常执行,这就需要对这些寄存器的内容加以保护

3、试分析下列程序段:

ADDAX,BX

JNOL1

JNCL2

SUBAX,BX

JNCL3

JNOL4

JMPSHORTL5

如果AX和BX的内容如下:

AXBX

(1)14C6H80DCH

(2)B568H54B7H

(3)42C8H608DH

(4)D023H9FD0H

(5)9FD0HD023H

试问该程序分别在上面几种情况下执行后,程序转向哪里

L1,L1,L2,L5,L5

习题十

1、下列指令中,在指令执行后有可能影响CS值的指令数目是()

JMPMOVRETADDINT

JCLODSCALLMULPOP

A.3   B.4  C.5   D.6

2、下面关于宏指令的叙述不正确的是()

A.宏指令可以简化源程序的书写;

B.宏指令可以简化目标程序;

C.宏指令和子程序的存储形式和执行方式均不相同;    

D.从形式上看,宏指令可以扩充机器的指令系统。

3、对于下列程序段:

AGAIN:

MOVES:

[DI],AL

INCDI

LOOPAGAIN

可用指令()完成相同的功能。

A.REPMOVSB

B.REPSTOSB

C.REPLODSB    

D.REPLODSB

4、在下列指令中,隐含使用AL寄存器的指令有()条。

AAAMOVSBMULBH

CBWSCASBXLAT

A.2B.3C.4D.5

5、假设ES段中有一个字符中串‘12FG3LM5C’,其名为ARRAY。

当以下程序段执行后,CX的值是。

CLD

LEADI,ES:

ARRAY

MOVAL,‘G’

MOVCX,9

REPNESCASB

HLT

A.0B.5C.4D.9

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

当前位置:首页 > 初中教育 > 语文

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

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