《汇编语言》习题2

                  《汇编语言程序设计》测试题

一、    填空:(15分)

  1、计算机语言指令包括:                    

  2、数据寄存器组包括AXBXCXDX ,其中AX         BX称为              CX               DX                      。四个段寄存器分别是                  IP寄存器中存放的是                                         

 4、数据的传送的基本单位分为三种字节、字、双字,其中一个整数字节的表示范围是              ,一个整数字的表示范围是

                    

 5、堆栈是                   的存储结构,         作为堆栈的栈顶指针寄存器使用。

  6DEBUG 中包括了若干条命令,其中U命令的功能是                 D命令的功能是               ,查看寄存器内容的命令是          .

二、    计算题:(25

1、          下列各数均为用16进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的数或字符的ASCII码时,它们所表示的十进制数和字符是什么?

1 4F     22B

2、          完成下列二进制数的计算:

00010101+00001101=

00111110+00101001=

0001111100000101=

3、          求下列二进制数的补码:

00010011                00111111

4、          求下列各数与 62A 0H的和,并根据结果设置标志位SFZFCFOF

(1)4321H          (2)9D60H

5、          写出下列存储单元地址的段地址、偏移地址和物理地址:

135490075     21FE000EA

三、    简答题:(20

1、          如果一个堆栈从地址12500000开始,它的最后一个字的偏移地址为0100HSP的内容为0052H

问:(1)栈顶地址是多少?

2)栈底地址是多少?

3)在SS中的段地址是多少?

4)存入数据 83A 0H后,SP的内容是多少?

2、          假定(DS=2000H,(ES=2100H,(SS=1500H,(BX=0100H,(SI= 00A 0H,(BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?

(1)MOV AX0ABH    

(2)MOV  AXBX

(3)MOV AX[100H]

(4)MOV AXVAL

(5)MOV AX[BX]

(6)MOV AXES[BX]

(7)MOV AX[BP]

(8)MOV AX[BX+10]

(9)MOV AX[BX][SI]

(10)    MOV AX[BX][SI]10

3、          指出下列指令中的错误:

(1)MOV AHBX

(2)MOV [BX][SI]

(3)MOV AX[SI][DI]

(4)MOV  MYDAT [BX][SI]ESAX

(5)MOV  BYTE  PTR[BX]1000

(6)MOV  BXOFFSET  MYDAT [SI]

(7)MOV  CSAX

(8)MOV  DSBP

4、          假定(DX=10111001B,(CL=03,(CF=1,确定下列各条指令单独执行后,DX中的值。

(1)SHR DX1

(2)SAR DXCL

(3)SHL DL1

(4)ROR DLCL

(5)RCR  DL1

四、    阅读下列程序段,说明完成什么工作?(15)

1、          程序段如下:

          MOV  AX1234H

          MOV  CL4

          ROL  AXCL

          DEC AX

          MOV  CX4

          MUL  CX

          INT 20H

试问:

(1)每条指令执行完后,AX寄存器内容是什么?

(2)每条指令执行完后,CFZFSF的值是什么?

(3)程序结束时,AXDX的内容是什么?

2、          读下列程序,并指出此程序执行结束后,显示器所显示的内容:

A  SEGMENT

NUM   DB  00111001B

BUF    DB  0AH0DH,‘(NUM=

BUF1   DB 4 DUP 0

          A  ENDS

          B  SEGMENT  STACK

DB  200 DUP 0

          B ENDS

          C  SEGMENT 

ASSUME  DSASSSTACKCSC

          BEGINMOV  AXA

                  MOV  DSAX

                  LEA   DIBUF1

                  MOV  ALNUM

                  MOV CL4

                  SHR ALCL

                  OR AL30H

                  MOV  [DI]AL

                  INC  DI

                  MOV  ALNUM

                  AND  AL0FH

                  OR   AL30H

                   MOV  [DI]AL

                   INC  DI

                   MOV  BYTE  PTR [DI],‘H

                   INC  DI

                   MOV  BYTE  PTR [DI],‘$’

                   LEA  DX,BUF

                   MOV  AH,9

                   INT  21H

                   MOV  AH,4CH

                   INT  21H

                         C  ENDS

END  BEGIN

 五、编写程序:(25分)

1、编写程序,求出首地址为DATA10个字数组中的最小奇数,并存入AX中。

        2、编写程序计算: S<—(A+B)—2*A  AND  B

3、从键盘输入一系列字符,以‘$’ 为结束符,然后对其中的数字字符计数,并显示结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值