期末汇编语言试题及答案

更新时间:2024-01-23 05:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 十进制数369转换成二进制数为(101110001)2,转换成十六进制数为(171)16. 2. 计算机中的指令由( 操作码 )和( 地址码 )两部分组成。 3. 8086的地址总线有20根,寻址范围为( 1M )字节。

4. 下一条将要执行的指令的地址存放在寄存器( 指令指针寄存器 )中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。

6. 汇编语言源程序需经过(汇编)程序汇编,( 连接 )程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=(27272H) 8. REP指令前缀与(字符 串)指令配合使用。

9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的( D )和( E )命令。

10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令( AND AL,3F );如果要求第0,1位变反,可使用指令( XOR AL,3F )

11. 宏汇编适合于(程序短),(参数多)的子功能段使用; 二、 选择题

1. 设字长N=16,有符号数7AE9H的补码表示为( D ) A. 9EA7H B. 76C4H C. 8417H D. 7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( C )

A. 相等 B. 小于 C. 大于 D. 不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( A )

A.16 d x(DS)+(BX)+(DI) B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI) D.16d x(CS)+(BX)+(DI) 4. 在指令 MOV AX,[1000H]中,源操作数的寻址方式为( B ) A.立即寻址 B.直接寻址 C.段内间接寻址 D.寄存器寻址 5. 中断矢量表中存放的是( D )

A. 中断类型号 B. 断点地址 C. 中断服务程序 D. 中断服务程序入口地址 6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( A ) A. 段内的任何地方 B. 距该指令偏移地址为-32768~+32767的地方 C. 距该指令偏移地址为-128~+127的地方. D. 段外 7. 能定义ASCII码字符串的数据定义语句有( D )

A. DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB;

8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( C ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9. 比较指令CMP( D )

A. 专用于有符号数比较 B. 专用于无符号数比较

C. 专用于串比较 D. 不区分比较的对象是有符号数还是无符号数 10. 数据传送指令对标志位的影响为( D )

A.都不影响; B.都影响;

C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、 判断题

( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。 T ( )32. PC机以位作最小寻址单位。 F ( )33. 当SRC是立即数时,DST可以使用存储器寻址。 F ( )34. 指定各个逻辑段偏移地址可以使用ORG伪指令。 T

( )35. LOOPE/LOOPZ是相等/为零时转移到标号,其退出条件是(CX)=0或ZF=0。T

( )36. POP IP F ( )37. 设327FH和0BFFFH为有符号数的补码表示,则327FH < 0BFFFH F ( )38. 多个模块间的符号交叉引用要用伪指令PUBLIC和EXTRN说明 T ( )39. MOV AX,VAR1-VAR2+100 F ( )40. ADD [SI],50 F 四、 程序分析题 1. A DW 1234H B DW 5678H PUSH A PUSH B POP A POP B

试回答:上述程序段执行后(A)= 5678H ,(B)= 1234H 2. 分析下面程序段, MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL ADD AL,BL

试问程序段执行后(BL)= 0E4H (AL)= 0DDH 3. STRING DB ‘ABCDEFGHIJ' MOV AH,01 ;从键盘输入字符1~9 INT 21H AND AL,0FH DEC AL XOR AH,AH

MOV BX,OFFSET STRING ADD BX,AX MOV BL,[BX]

MOV AH,02H ;显示输出 INT 21H 试回答:

(1)上述程序段的功能是什么? 根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。

(2)如从键盘输入字符‘4',程序段有什么结果? 显示器显示字符‘D’ 4. 有如下程序: AND AL,AL JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3

上述程序运行后,试回答:

(1)当(AL)=(AL)=0 时,程序转向BRCH1 (2)当(AL)=(AL)=1 时,程序转向BRCH2 (3)当(AL)=(AL)=-1 时,程序转向BRCH3

5. 下列程序段完成什么工作? 把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中

DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) ┇

MOV CX,10 MOV BX,20 MOV SI,0 MOV DI,0

NEXT:MOV AL,DAT1[BX][SI] MOV DAT2[DI],AL INC SI INC DI LOOP NEXT

6. 下面程序段执行完以后,AL的内容是什么? 0F00H MOV BX,00FFH AND BX,0FFFH OR BX,0F0FH XOR BX,00FFH

7. 执行下列指令后,AX寄存器中的内容是什么? 3000H START DW 10H,20H,30H,40H,50H EE1 DW 3 ┇

MOV BX,OFFSET START ADD BX,EE1 MOV AX,[BX]

8. 试分析下面程序段的功能是什么? 判断AL的内容,若为‘A’~‘Z’的大写字母时,程序转LETTER处理,否则转OTHER处理 CMP AL,‘A’ JC OTHER CMP AL,‘Z’+1 JNC OTHER JMP LETTER ┇ OTHER: ┇ LETTER: ┇

五、 程序填空题

1. 设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。 TEST AX,8000H JE K1或JZ K1 MOV PLW,BX JMP DONE

K1: MOV PLW,AX DONE:

2. 现有下列数据段: DATA SEGMENT STR1 DB‘ABCDEFGHIJKL' COUNT EQU -STR1 BUF DB COUNT DUP(0) DATA ENDS

下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。试把程序中所空缺的指令填上。 MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,COUNT __ CLD__ LOOP:MOVSB __ SUB SI,2__ LOOP LOP

或者(STD/ADD DI,2) 六、 程序设计题

1. 编程序段计算SUM=∑ai=a1+a2+...+a20,已知a1......a20依次存放在以BUF为首址i=1的数据区,每个数据占两个字节,和数SUM也为两个字节。(要求用循环结构编写,循环控制采用计数控制)。(此题勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。) 程序段:MOV AX,0 MOV BX,OFFSET BUF MOV CX,20 LOP:ADD AX,[BX] INC BX INC BX LOOP LOP MOV SUM,AX

2. 设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放了0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。 数据段如下: DATA SEGMENT

DAT DB XXH

SQRTAB DB 0,1,4,9,...81 SQR DB? DATA ENDS

STACL1 SEGMENT PARA STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX ┇

CALL SUBROT ┇

MOV AH,4CH INT 21H SUBROT PROC PUSH AX PUSH BX LEA BX,SQRTAB MOV AL,DAT TEST AL,80H JNS NEXT NEG AL

NEXT: XLAT SQRTAB MOV SQR,AL POP BX POP AX RET

SUBROT ENDP CODE ENDS END SRART

3. 试编写出把DX、AX中的双字右移四位的程序段。 MOV CL,04 SHR AX,CL MOV BL,DL SHR DX,CL SHL BL,CL OR BL,AH

4. 定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。

DATA SEGMENT

PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(‘ ’),‘$’ DATE ENDS CODE SEGMENT ┇ CLD

LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H LEA DX,DISPLAY INT 21H RET CODE ENDS

DATA SEGMENT

PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(‘ ’),‘$’ DATE ENDS CODE SEGMENT ┇ CLD

LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H LEA DX,DISPLAY INT 21H RET CODE ENDS

本文来源:https://www.bwwdw.com/article/aw7o.html

Top