汇编语言程序设计实现 c=a b,《汇编语言程序设计》阶段测试A卷

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

重要说明!试卷选择错误,将按照 0 分处理!

一、 单选题(每小题 2 分,共 20 分)

1.已知 X=78,Y=-83 则[X+Y]补=( )A.0F5H B.0A1H C.0FBH D.65H1

2

3[-5] 在计算机中负数以补码的形式存在。

原码:00000101 反码 11111010 补码 11111011

0FB 所以答案选C

2.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址的是( )。A.185A2H B.00020H C.01004H D. 0AB568H1

2答案:B

段基地址最低四位为0

3.MOV AX,COUNT[BX][SI],则源操作数的寻址方式为( )A.立即寻址 B.寄存器相对寻址 C.相对基址变址寻址 D.基址变址寻址1

2答案:C

在相对基址变址寻址中通常把BX和BP看作是基址寄存器,把Si和Di看作为变址寄存器。它是把一个基址寄存器BX或BP的内容,加上变址寄存器Si或Di的内容,再加上指令中给定的8位或16位位移量,并以一个段寄存器作为地址基准,作为操作数的地址。

4.设在数据段中有如下数据说明:BUFFER DW 10 DUP(?) 则以下指令中,经汇编后的指令相当于 MOV AX,20 的是( )。A.MOV AX,TYPE BUFFER B.MOV AX,LENGTH BUFFER

C.MOV AX,SIZE BUFFER D.MOV AX,OFFSET BUFFER1

2size 指令

答案选 C

5.以下指令中常用于对操作数的特定位置 1 的指令是( )。A.AND B.OR C.NOT D.XOR1

2

3AND 0

OR 1

答案选 B

6.在串操作指令前使用重复前缀指令 REPE,终止串的重复操作条件是( )。A.CX=0 且 ZF=0 B.CX=0 且 ZF=1 C.CX=0 或 ZF=0 D.CX=0 或 ZF=11

2REPE(repeat equal) 通过检测b标志位ZF是否为0来判断两个字符是否相等

当ZF为1则两个字符相等则比较下一个字符直到CX = 0 或 ZF = 0 停止循环

7.完成将累加器 AL 清零,并使进位标志 CF 清零,以下不能完成该功能的指令是( )。A.MOV AL,00H B.AND AL,00H C.XOR AL,AL D.SUB AL,AL1MOV 不影响标志位

8.设数据段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有语法错误的语句是( )。A.ADR1 DW DA1 B.MOV DA1+1,AX C.MOV BYTE PTR DA2+1,AL D.MOV WORD PTR DA1+1,AX1

2答案为B

mov word ptr DA1 + 1, AX

9.测试 BL 寄存器内容是否与数据 4FH 相等,若相等则转 NEXT 处执行,可实现的方法是 ( )。A.TEST BL,4FH B.XOR BL,4FH JZ NEXT JZ NEXT C.AND BL,4FH D.OR BL,4FH JZ NEXT Z NEXT1答案为:B

10.设(AX)=6000H,将 AX 中的内容看作是带符号数,以下指令能实现将(AX)乘以 2 的是( )。A.SAR AX,1 B.SAL AX,1 C.DIV 2 D.IDIV 21

2左乘右除

答案为 B

二、 填空题(每空 2 分,共 20 分)

1.已知存储器单元(12000H)=06H,(21000H)=0AH.段寄存器(DS)=1000H, (SS)=2000H.寄 存器 (BX)=0B00H, (BP)=0C00H, (SI)=1500H, (DI)=0400H, (AX)=0。 执行指令 MOV AL, [BX+SI]之后,(AL)=_;接着执行指令 ADD AL, [BP+DI]之后,(AL)=___。1

2

3

4

5(bx + si) + DS = 12000

(BP + DI) + SS = 21000

BP 是 基址指针 ss为段基地址

(AL) = 06H

(AL) = 10H

2.在存储器的实模式下,每段的最大寻址空间是___,此时逻辑地址由 _和段内偏移两部分组成,逻辑地址转换为物理地址的计算公式为 _。11MB 段地址 段地址 * 16 + 偏移地址

3.计算机指令由___和操作数两部分组成,其中前者用于指示计算机所要执行的操 作。 4.下列 ASCII 串(包括空格符)依次存储在起始地址为 CSTRING 的字节单元中: CSTRING DB ‘BASED ADDRESSING’ 请分别按要求写出相应的指令。(每空填一条指令) (1 )将字符串中的第 2 个字符传送到 DL 中。___ (2 )将字符串中的第 4、5 个字符合起来传送到 DX 寄存器。___1

2mov dl, CSTRING[1]

mov dx, word ptr CSTRING + 3

5 . CPU 与 外 设 之 间 的 数 据 传 送 主 要 有 ___ 、 中 断 控 制 方 式 和 ___。1

2DMA

程序直接控制I/O方式

三、 简答题(每小题 10 分,共 30 分)

1.80x86微机的存储器中存放信息如下图,试读出 30022H 和 30024H 字节单元的内容, 以及 30022H 和 30023H 字单元的内容,并指出每次读取内容需要访问内存的次数。(注: 格式为:字节:(300XX)=XX,字(300XX)=XXXX。) 30020 12H 30021 34H

30022 ABH 30023 CDH 30024 EFH

解答:

地址 | 数值

—|—

30020H | 12H

30021H | 34H

30022H | ABH

30023H | CDH

30024 | EFH1

2

3

4(30022H) = ABH

(30024H) = EFH

(30022H) = CDABH

(30023H) = EFCDH

2.假设 VAR1和VAR2为字节变量,试指出下列指令哪些是非法的,并说明原因。(1) ADD VAR1,VAR2 (2) CMP VAR1,24 (3) MOV AX,VAR2 (4) JNZ VAR21

2

3(1) 不能都为立即数

(3) 类型错误

(4) 是字节变量不是符号地址

3.阅读以下程序: MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是: (2)AX=1

23个64H相加

AX = 012H

四、程序设计题(每小题 15 分,共 30 分)

①.试编写小程序:对键盘输入的小写字母用大写字母显示出来。1

2

3

4

5

6

7

8

9

10

11

12BEGIN:MOV AH,1

INT 21H

CMP AL,‟a‟

JB STOP

CMP AL,‟z‟

JA STOP

SUB AL,20H

MOV DL,AL

MOV AH,2

INT 21H

JMP BEGIN

STOP:RET

②. (1)使用 IF 条件伪操作定义宏 RESULT:比较两个数 X 和 Y(X、Y 为数,不是地址), 若 X>Y,则执行 X+2Y→RESULT;否则执行 Y +2X→RESULT。 (2)宏调用指令为:RESULT 1,2,SUM,写出宏展开指令。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

272、DATAS SEGMENT

SUM DW ? ;此处输入数据段代码

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS ;,SS:STACKS

START:

CALCULATE MACRO A,B,RESULT

MOV AX,A

SHL AX,1

ADD AX,B

MOV RESULT,AX

ENDM

FINSUM MACRO X,Y,SUM

IF X GT Y

CALCULATE Y,X,SUM

ELSE

CALCULATE X,Y,SUM

ENDIF

ENDM

FINSUM 1,2,SUM

MOV AH,4CH

INT 21H

CODES ENDS

END START

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值