汇编作业集锦.docx

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

汇编作业集锦.docx

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

汇编作业集锦.docx

汇编作业集锦

汇编作业集锦

作业一:

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

A.汇编语言B。

C++语言

C.机器语言D。

高级语言

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

A.IPB.SPC.BXD.BP

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

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

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

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

4.编译程序的功能是B。

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

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

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

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

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

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

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

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

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

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

是(D )

A.30100H   B.30098H       C.30102H        D.300FEH

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

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

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

 

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

 

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

 

作业二:

1.8086在基址变址的寻址方式中,基址、变址寄存器分别是(  B )。

A.AX或CX、BX或CX    B.BX或BP、SI或DI 

C.SI或BX、DX或DI      D.CX或DI、CX或SI

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

A.33CECH                            B.33CF2H

 

3。

设(AX)=0C544H,在执行指令ADDAH,AL后,相应的状态为(   C)。

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

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

4.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?

若该操作数为存储器操作数,请计算其物理地址。

(1) MOV AX,DS:

[0100H]

直接寻址

PA=20000H+0100H=20100H

(2) MOV BX,0100H

立即寻址

(3) MOV AX,ES:

[SI]

寄存器间接寻址

PA=30000H+00B0H=300B0H

(4) MOV CL,[BP]

)寄存器间接寻址

PA=15000H+0020H=15020H

(5) MOV AX,[BX][SI]

寄存器间接寻址

PA=20000H+1000H+00B0=210B0H

6) MOV CX,BX

寄存器寻址

(7) MOV AL,3[BX][SI](8) MOV AL,[BX+20]

基址变址寻址

PA=20000H+1000H+00B0H+3=210B3HPA=20000H+1000H+20=21000H+0014H=21014H

作业三:

1设(SP)=000CH,(SS)=00A8H,在执行POPAX指令后得到的栈顶的物理地址为(  B   )

   A. 000B6H  B.00A8EH  C.000B2H    D.00A8AH

 

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

A.用BUF表示25

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

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

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

 

3. 假设VAR为变量,则指令MOV SI,OFFSET VAR的源操作数的寻址方式是(D )

A.间接寻址  B.存储器寻址  C.寄存器寻址   D.立即寻址

 

4.数据定义BUF DB‘1234’,执行指令MOV CL,LENGTHBUF后,CL寄存器的内容是( A)

A. 1    B.2        C.3         D.

 

5.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(  B )

A.2108:

00EA B.2025:

0F2A C.2100:

117A D.2000:

017A

 

设数据段定义如下:

(6~8题均采用该数据段)

    ORG   3050H

    COUNT EQU  4

DBUF  DB   ‘MOUSE.MOU!

DBUF1 DW   3040H

DB   ‘TERMINER’

             DB   506

6.DBUF+16单元中的内容是(   D  )

A.’E’  B.’T’    C.’M’    D.’I’

7.DBUF1表示的地址是(  A )

A.305AH   B.305CH  C.305BH    D.3059H

 

8.上面伪指令使用出错的是( D   )

A.DB   ‘MOUSE.MOU!

’   B.DW   3040H 

C.DB   ‘TERMINER’D.DB   506

 

9执行下面的程序段后,BX=(   C )

      NUM= 100

      MOV BX,NUM NE50

A. 50    B.0        C.0FFFFH         D.1

使用8086/8088汇编语言的伪操作命令定义:

10VAR DB2 DUP(1,2,3DUP(3),2DUP(1,0))

则在VAL存储区前十个字节单元的数据是 (       D      )

A.1,2,3,3,2,1,0,1,2,3

B.1,2,3,3,3,3,2,1,0,1

C.2,1,2,3,3,2,1,0,2,1

D.1,2,3,3,3,1,0,1,0,1

 

作业四:

1、设计指令序列,完成下列功能:

(1)写出将AL的最高位置1,最低位取反,其它位保持不变的指令段。

ORAL,10000000B

XORAL,00000001B

(2)写出将AL中的高四位和低四位数据互换的指令段。

ROLAL,1

ROLAL,1

ROLAL,1

ROLAL,1

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

A.NEGAXB.NOTAX

C.INCAXD.DECAX

 

3、以下三指令执行后,DX=(C)

MOVDX,0

MOVAX,0FFABH

CWD

A.0FFABHB.0C.0FFFFHD.无法确定

 

4、将累加器AX内容清零的错误指令是(D)

A.ANDAX,0B.XORAX,AX

C.SUBAX,AXD.CMPAX,AX

 

5、INC 指令不影响(B)标志

A.OFB.CFC.ZFD.SF

 

6、设AL中的值为84H,CF=1,现在执行RCRAL,1指令,AL中的值和CF分别

为(C)

A.0C2H,1B.42H,1C.0C2H,0D.42H,0

 

7、  MOVAL,BL

NOTAL

XORAL,BL

ORBL,AL

程序段执行后,AL=__0FFH____、BL=___0FFH____。

 

8、执行下列指令后:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

HLT

寄存器AH的值是8DH,寄存器AL的值是00H

寄存器DX的值是0000H。

 

设数据段定义如下:

(9~11题均采用该数据段)

     DATA  SEGMENT

     NA    EQU   15

     NB    EQU   10

     NC    DB     2DUP(4,2DUP(5,2))

     CNT   DB     $-NC

     CWT  DW     $-CNT

     ND    DW     NC

     DATA  ENDS

9.从DS:

0000开始至CNT单元之前存放的数据依次是(   D )

A.15,10,4,5,2,5,2,4,5,2,5,2   B.15,10,4,2,5,2,4,2,5,2 

C.0FH,0AH,4,5,2,5,2     D.4,5,2,5,2,4,5,2,5,2

 

10.ND单元中的值是(    A )

A.0000H   B.0200H  C.0003H    D.0002H

 

11.CWT单元中的值是(   B  )

A.2   B.1  C.11    D.12

 

  设数据段定义如下:

(12~14题均采用该数据段)

     DATA  SEGMENT

DATA  SEGMENT

     ORG  0100H

X1    DB 25,’25’

     X2    DW  ?

Y1    EQU   X1

        Y2    EQU   $-Y1

     DATA  ENDS

12.MOVBX,OFFSETX1指令执行后,BX中的内容是(B )

A.25    B.0100H 

C.0000H  D.’25’

13.汇编后Y2的值是( B)

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

14.MOV AL,Y1+1指令执行后,AL中的内容是( D)

A.19H   B.01H  C.35H    D.32H

 

作业五:

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

     VAR1   DB 86H

     VAR2   DW 2005H,0021H,849AH,4000H

         MOV AL,VAR1

         CBW

         LEA  BX,VAR2

         MOV DX,2[BX]

      SUB  AX,DX.

AX=FF65H.

DX=0021H

 

2试分析下列程序段:

   ADD AX,BX

   JNO L1

   JNC L2

   SUB AX,BX

JNC L3

   JNO L4

   JMP SHORT L5

   如果AX和BX的内容如下:

        AX             BX

(1)14C6H          80DCH   

(2)B568H          54B7H

   (3)42C8H          608DH

   (4)D023H          9FD0H

(5)9FD0H          D023H

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

(1).L1

(2)L1(3)L2(4)L5(5)L5

3

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

     ORG  3000H

DB 11H,12H,13H,14H,15H

MOV BX,3000H

STC

         ADC BX,1

         SAL  BL,1

         INC BYTEPTR[BX]

A.    程序段执行完,3004H单元中的内容是什么?

程序段执行后BX中的内容是什么?

CF的值是1还是0?

3.16H,3004H,0

 

作业六:

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

栈顶的物理地址是多少?

C>DEBUG

-R

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

   DI=0000  DS=10E4 ES=10F4 SS=21F0  CS=31FFIP=0100  NVUP DIPL

                                                              NZNAPONC

21F0H,31EEEH

2. 有指令JMPDX,在执行前,DX=1234H ,IP=5678H,执行该指令后,寄存器变化正确的是___B_____。

 A)DX=1234H ,IP=5678H   B)DX=1234H ,IP=1234H

  C)DX=5678H ,IP=5678H   D)  DX=5678H ,IP=1234H

 

3. 若要检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。

3.CMPAL,0

JLNEXT  

4.试用一条指令将一字节的立即数5AH与符号地址为NUM的存储器字节单元内容相比较

4.CMPBYTEPTRNUM,5AH

5.

试分析下列程序段,说明它完成什么操作?

程序执行后,HEXNUM字节单元中的内容是什么?

     ASCNUM   DB 38H

     HEXNUM   DB  ?

         MOV AL,ASCNUM

         CMP AL,39H

         JBE  NEXT

         SUB  AL,7

NEXT:

 SUB AL,30H

         MOVHEXNUM,AL

         HLT

5.将ASCNUM中的所表示的十六进制数的ASCII码转换为十六进制数,并放入字节单元的低四位。

HEXNUM=08H

 

作业七

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

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

 段间调用,  2

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

由于子程序需要用到一些寄存器或存储单元,而这些寄存器或存储单元可能被主程序使用,为了不破坏主程序原来的信息,所以要保护现场。

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

              SUN   PROC

                     PUSH  AX                    

                     ADD   BX,AX

                   PUSH  BX

                     POP   BX

                     RET

SUN   ENDP

IP=1122H,SP=5566H

4设在DAT单元存放一个-9~+9的字节数据,在SQTAB数据区中存放了0~9的平方值,下面程序段利用直接查表法在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。

请补充空格处,完善程序功能。

DSEG  SEGMENT

DAT   DB  XXH;XXH表示在-9~+9之间的任意字节数据

SQTAB DB  0,1,4,9,...81

SQR    DB ?

DSEG  ENDS

SSEG  SEGMENT  STACK

STK   DB  100DUP(?

SSEG  ENDS

CSEG  SEGMENT

ASSUME CS:

CSEG,DS:

DESG,SS:

SSEG

 START:

MOV AX,DSEG

         MOV DS,AX

         MOV AL,DAT

         AND AL,__AL_____

         JNS NEXT

         NEGAL___________

 NEXT:

MOV BX,OFFSETSQRTAB

         ___XLAT_________

         MOV SQR,AL

         MOV AH,4CH

         INT  21H

DESG ENDS

END  START

 

作业八:

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

JMP  MOV  RET   ADD  INT

JC   LODS  CALL  MUL  POP

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

 

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

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

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

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

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

 

3、对于下列程序段:

    AGAIN:

MOV ES:

[DI],AL

            INC DI

            LOOP AGAIN

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

A.REP MOVSB

B.REP STOSB

C.REP LODSB    

D.REP SCASB

 

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

        AAA           MOVSB          MUL BH

CBW           SCASB           XLAT

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

 

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

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

     CLD

     LEA DI,ES:

ARRAY

     MOV AL,‘G’

     MOV CX,9

     REPNE SCASB

     HLT

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

 

6.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01H,02H,03H,…,0FFH,00H。

问下列程序段执行后,0000~0009H的内容是些什么值。

MOV SI,0000H

MOV DI,0001H

MOV CX,0080H

CLD

                REP  MOVSB

 

6.0000到0009H都是01H

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

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

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

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