您好,欢迎来到帮我找美食网。
搜索
您的当前位置:首页编程第五章 汇编语言程序设计

编程第五章 汇编语言程序设计

来源:帮我找美食网


第五章 汇编语言程序设计

一、选择题

1.下列指令中,错误的指令条数为( )

MOV SI,OFFSET[BX+3] XCHG AH,AL MUL 10 IN AX,380H

A.1 B.2 C.3 D.4 2.下面存储单元定义伪指令正确的是( )

A.BUF DW 99 B.BUF DB 25*60 C.BUF DD ‘ABCD’ D.BUF DW ‘D’

3.若BUFFER已定义为字变量,且BX=0,则下列4条指令中可相互替代的是(a.LEA SI,BUFFER b.MOV SI,OFFSET BUFFER c.LEA SI,[BX+BUFFER] d.MOV SI [BX+BUFFER

A.a、d B.a、b、c C.a、b、c、d D.a、b 4.下列几条伪指令经汇编后,变量COUNT的值为( )。

START DB 10 DUP(10) DW 5 DUP(5) COUNT EQU $-START

A.15 B.20 C.30 D.40 5.下面的两条伪指令汇编后,ND单元的值为( ) NC DB 2DUP(4,2DUP(4,2)) ND DB $-NC

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

二、 读简短程序题

1. NUM DW ?

NAME DW 10 DUP ( ? ) CNT EQU 10

LEN EQU $--NUM MOV AX, LEN 运行程序后AX=( )

2. TABLE DW 10, 20, 30, 40, 50, 60, 70, 80,

ENTRY DW 6

MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, BX 程序执行后, AX=( )

3. DAT1 DW ?,18 DUP(8)

DAT2 DB 80,66,12,10,178,100,8 DAT3 DD ?,?,16 COUT1 EQU $-DAT2 COUT2 EQU $-DAT1

问COUT1、COUT2的值以及上述数据定义占用内存的大小( )(

( ) ))

4. 某数据段定义如下:

DATA SEGMENT 设DATA的段地址是1000H,则 X DW 32 DUP(?)

M DD 32 DUP(?) 变量Z的偏移地址是( ) Y EQU 1234H

Z DB 20H 物理地址是( ) DATA ENDS

5. 执行下面的程序段后,寄存器AX的值是( ),寄存器BX的值是( )。

TABLE1 DD 1

TABLE2 DW 20 DUP(?)

MOV AX , 1 MOV BX ,2

ADD AX ,TYPE TABLE1 ADD BX ,SIZE TABLE2

三、 读完整程序题

1. DSEG SEGMENT

BLOCK DB 51, 30,43,107, ,90,200,197,70, COUNT $-BLOCK RESULT DB 0 DSEG ENDS CODE SEGMENT

ASSUME CS: CODE,DS: DSEG,SS:STACK MAIN: MOV AX, DSEG MOV DS, AX

MOV SI, offset BLOCK MOV CX, COUNT CON: MOV AL, [ SI ] TEST AL, 01H JZ NEXT INC RESURT NEXT: INC SI LOOP CON

MOV AH, 4CH INT 21H CODE ENDS

END MAIN 1) 程序完成的操作是( )

2) 程序执行后,RESULT 单元中的内容为( )

2. DADA SEGMENT BUF1 DB MM BUF2 DB ? DATA ENDS CODE SEGMENT

ASSUME CS: CODE, DS: DATA MAIN: MOV AX , DATA MOV DS , AX

MOV BX , OFFSET BUF1 MOV DI , OFFSET BUF2 MOV AH , [ BX ] TEST AH , 80H JZ NEXT1

MOV AH , 0FFH

JMP NEXT2

NEXT1:MOV AH , 00H NEXT2:MOV [DI],AH MOV AH, 4CH INT 21H CODE ENDS

END MAIN

设MM为一符号数,问:

1) 程序完成的操作是( )

2) 当MM为80H时,程序执行后BUF2单元的内容为(

3. 阅读下列程序:

DATA SEGMENT

DA1 DB 2,-3,-4,-5,34,-4,0,3,4,24 COUNT EQU $ -DAI NUM DB? DATA ENDS COSEG SEGMENT

ASSUME CS: CODE,DS: DATA START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET DA1 MOV CX,COUNT-1 XOR BL,BL

EXCHG: MOV AL,[SI];

XOR AL,[SI+1] TEST AL,80H JE NEXT INC BL

NEXT: INC SI

LOOP EXCHG MOV NUM,BL

COSEG ENDS

END START

回答以下问题:1)程序执行后, NUM单元中的内容为 ( )

2)指令MOV SI ,OFFSET DA1可用指令( )替代。

4. 阅读程序:

DATA SEGMENT

TABLE DB 60H,40H,50H,80H,30H COUNT DB $_TABLE DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA MAIN : MOV AX ,DATA

MOV DS ,AX

MOV CX ,COUNT MOV DX ,CX DEC DX

LEA BX ,TABLE

LOP0: MOV SI ,00H

MOV CX ,DX

LOP1: MOV A L,[BX+SI]

CMP AL ,[BX+SI+1] JBE NEXT

XCHG AL,[BX+SI+1] MOV [BX+SI],AL

NEXT: INC SI

LOOP LOP1 DEC DX JNZ LOP0

MOV AH, 4CH INT 21H

CODE ENDS

END MAIN 回答以下问题:

1)该程序的功能是( )

2)程序运行结束时,TABLE+3单元的内容是( ) 3)程序中DX寄存器的作用是( )

4)若将JBE NEXT改为JAE NEXT,则对程序的影响是(

5. 阅读程序

DATA SEGMENT NUM DW 8088H RESULT DB? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN: MOV AX ,DATA

MOV DS ,AX MOV CX ,16 MOV AX ,NUM

LOP1: AND AX ,AX

JZ DONE SHL AX ,1 JNC NEXT INC CH

NEXT: DEC CL

JNZ LOP1 MOV RESULT,CH

CODE ENDS END MAIN 回答以下问题:

1)该程序的功能是( )

2)程序运行结束时,RESULT单元的内容是( ) 3)指令AND AX,AX在程序中的作用是( )

6. 阅读下列程序:

DATA SEGMENT

DATA1 DB 9,-3,-4,-7H,34,-18,0,3,-6,21 COUNT EQU $ -DATAI DATA ENDS COSEG SEGMENT

ASSUME CS: CODE,DS: DATA START: MOV AX ,DATA

MOV DS ,AX

MOV DI ,OFFSET DA1 MOV CX ,COUNT-1 XOR BX ,BX

EXCHG: MOV AL ,[DI];

XOR AL ,[DI+1] TEST AL ,80H JE NEXT INC BX

NEXT: INC DI

LOOP EXCHG

COSEG ENDS

END START

回答以下问题:1)该程序的功能是( )

2)程序运行结束时,BX寄存器中的内容是( )

7. DATA SEGMENT

DA1 DB 95H,34H,6BH DA2 DB 05H,2EH,72H DA3 DB ?,?,? COUNT EQU 3 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX ,DATA MOV DS ,AX LEA DI ,DA1 LEA SI ,DA2 XOR AL ,AL

MOV BX ,OFFSET DA3+2 MOV CX ,COUNT

MU1: MOV AL ,[DI+03H] ADC AL ,[SI+03H] MOV [BX],AL DEC DI DEC SI DEC BX LOOP MU1 CODE ENDS

END STATR 回答以下问题:

1)该程序完成的操作是( )

2)程序运行结束后,DA3开始的三个单元中的内容为(

8.已知下列程序段:

DATA SEGMENT

DB1 DB 12H,34H,0,56H

DW1 DW 78H,90H,0AB46H,1234H ADR1 DW DB1 ADR2 DW DW1

BUF DB 5 DUP(0) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START PROC FAR

BEGIN:MOV AX ,DATA

MOV DS ,AX XOR CX ,CX MOV CL ,3 ADD ADR1,CX SUB ADR2,CX MOV BX ,ADR1 MOV DI ,BX MOV SI ,ADR2 MOV AL ,DB1[BX] MOV BUF [DI],AL MOV AX,DW1[BX][SI] MOV WORD PTR BUF,AX MOV AH,4CH INT 21H START ENDP CODE ENDS

END BEGIN

上述程序运行结束后,BUF中各字节单元内容是什么?

地址偏移量 内 容 BUF

四、编程题

1.在内存DATA1中,存放着10个带符号的8位二进制数,试编程求它们的最大值,最小值,

以及它们存放的单元(即找出该数存放单元的地址)?

2.试编制一程序,实现十个一位十进制数的累加,累加后以未组合形式存放在AH(高位)和AL(低位)中?

3.试编制一程序,计算出从2开始的前50个质数。

4.设有100个学生的成绩存放在RECORD为首地址的字数组之中,试编写一个子程序统计60~69分,70~79分,80~分,90~99分及100分的人数(假设学生的成绩都及格),分别存放到G6,G7,G8,G9和G10单元中。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务