求编译期末考试题
填空
1.十进制数369转换成二进制数()2和十六进制数()16。
2.计算机中的指令由()和(地址码)组成。
3.8086有20条地址总线,寻址范围为()字节。
4.要执行的下一条指令的地址存储在寄存器()中。
5.写出IBM PC的三个子程序返回的指令(RET)、(IRET)、(IRTD)。
6.汇编语言源程序需要经过()程序汇编和()程序连接生成可执行文件。
7.如果一个存储单元的地址表示为2314h: 4132h,那么它的偏移地址=(4132),物理地址=()。
8.REP指令前缀与()指令一起使用。
9.您可以使用DEBUG()和()命令查看和修改显示器上存储单元的内容。
10.(阿尔)=BFH。如果要屏蔽0,1位,应该执行指令();如果需要反转位0,1,可以使用指令()。
11.宏汇编适用于()和()的子功能段;
二、选择题
1.设字长N=16,有符号数7AE9H的补数表示为()。
A.9EA7H b . 76C4H c . 8417H d . 7a e9h
2.有符号数3260H与0B425H比较,关系是()。
A.等于b .小于c .大于d .无法比较
3.指令JMP字PTR [BX][DI]中传输的目标地址是()。
A.16 d x(直布罗陀)+(BX)+(直布罗陀)
C.16d x(SS)+(BX)+(迪)
4.在指令MOV AX[1000h]中,源操作数的寻址方式是()。
A.立即寻址b .直接寻址c .段内间接寻址d .寄存器寻址
5.存储在中断向量表中的是()
A.中断类型号b .断点地址c .中断服务程序d .中断服务程序入口地址
6汇编语言指令系统中的条件转移指令。8086可以使程序转移到()。
A.b段中的任何地方,其中指令的偏移地址是-32768 ~+32767。
C.d .段外,此指令的偏移地址为-128~+127。
7.可以定义ASCII码字符串的数据定义语句有()
A.DB,DW,DD,DQ,DT B. DB,DW,DD C. DB,DW D. DB
8.如果(AL)=87H,则加了AL和0F5H后,S,Z,C,O,P的状态为()。
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()
A.专用于有符号数比较
C.专用于字符串比较d .不区分比较的对象是有符号的还是无符号的。
10.数据传输指令对标志位的影响是()
A.不影响;b .两者都影响;
C.除了SAHF·SAHF,POPF,其他什么都不会影响。除了控制标志位之外,其他都不会影响。
三、判断题
() 31.段间调用的子程序必须用伪操作FAR描述为远程过程。
() 32.PC使用位作为最小寻址单位。
() 33.当SRC是一个立即数时,DST可以使用内存寻址。
() 34.您可以使用ORG指令来指定每个逻辑段的偏移地址。
() 35.当loope/loopz等于/零时,会转移到标签上,其退出条件为(CX)=0或ZF=0。
( )36.流行IP
() 37.设327FH和0BFFFH为有符号补码表示,则327FH
() 38.多个模块之间的符号交叉引用应该用伪指令PUBLIC和EXTRN来解释。
( )39.MOV AX,VAR1-VAR2+100
( )40.添加[SI],50
四、程序分析问题
1.图纸1234H
b图纸5678H
推一个
按B
砰的一声
波普湾
试答:(a)=(b)=执行上述程序后。
2.分析下列程序段,
MOV·阿尔,200
SAR AL,1
MOV·布莱
MOV CL,2
特区行政区
添加AL,BL
程序段执行后(BL) = (Al) =怎么样?
3.字符串数据库' ABCDEFGHIJ '
MOV啊,01;从键盘输入字符1~9。
INT 21H
还有AL,0FH
十二月
异或啊,啊
MOV BX,偏移字符串
加上BX,斧头
MOV·布莱,[BX]
MOV啊,02H显示输出
INT 21H
试着回答:
(1)以上程序段的作用是什么?
(2)如果从键盘输入字符‘4’,程序段的结果是什么?
4.有以下程序:
还有阿尔,阿尔
JZ BRCH1
RCR阿尔,1
JZ BRCH2
RCL阿尔,1
INC AL
JZ BRCH3
以上程序运行后,试着回答:
(1)当(Al) =,程序转向BRCH1。
(2)当(al) =,程序转向BRCH2。
(3)当(Al) =,程序转向BRCH3。
5.下面的程序段实现了什么?
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?)
┇
MOV CX,10
MOV·BX,20岁
MOV SI,0
MOV迪,0
下一位:MOV·艾尔,DAT1〔BX〕斯
MOV数据2〔迪〕,铝
公司SI
公司DI
下一次循环
6.执行下面的程序段后,AL的内容是什么?
MOV·BX,00FFH
还有BX,0FFFH
或者BX,0F0FH
异或BX,00FFH
7.执行以下指令后,AX寄存器中的内容是什么?
开始DW 10H,20H,30H,40H,50H
EE1 DW 3
┇
MOV BX,偏移开始
添加BX,EE1
MOV斧,〔BX〕
8.下列程序段的作用是什么?
CMP AL,' A '
JC其他
CMP AL,' Z'+1
JNC其他
JMP信
┇
其他:┇
信:┇
五、填空。
1.假设AX和BX其中一个为正,另一个为负。以下程序段完成将正数发送到PLW单元进行存储。请填写程序中缺少的指令语句。
测试AX,8000H
BX MOV·PLW
JMP完成了
K1:
完成:
2.以下数据段可用:
数据段
STR1分贝' ABCDEFGHIJKL '
EQU伯爵-STR1
缓冲数据库计数DUP(0)
数据结束
下面的程序段是实现将STR1中的所有字符反向传递到BUF缓冲区(即STR1中的第一个字符发送到BUF的最后一个单元,STR1中的最后一个字符发送到BUF的第一个单元)。尝试填写程序中缺少的指令。
MOV SI,偏移量BUF-1
MOV DI,偏移缓冲区
MOV·CX伯爵
__ __
循环:MOVSB
__ __
循环LOP
或者()
不及物动词编程问题
1.编程部分计算SUM = ∑ AI = A1+A2+...+A20,并且已知A1...A20存放在以BUF为头地址的数据区,i=1,每个数据占用两个字节,总和也是两个字节。(要求用循环结构编写,循环控制采用计数控制)。(此题不需要写源程序格式,只需写试题要求的相关指令序列即可。)
2.DAT单元存储一个-9 ~+9的字节数据,0~9的平方值存储在SQRTAB数据区。请直接查表写一个子程序,在SQRTAB中找出DAT单元中数据对应的平方值并发送给SQR单元。并写出主程序的调用方法。
数据段如下:
数据段
DAT DB XXH
SQRTAB DB 0,1,4,9,...81
SQR DB?
数据结束
3.尝试编写一个程序段,将DX和AX中的双字右移四位。
4.定义一个数据区,包含23H、24H、25H、26H四个字符的数据,将该数据区复制20次,并显示复制结果。
2005-2006学年第二学期期末考试汇编语言复习题及参考答案。
填空
1.十进制数369转换成二进制数(1011001)2,转换成十六进制数(171) 10。
2.计算机中的指令由(操作码)和(地址码)组成。
3.8086有20条地址总线,寻址范围为(1M)字节。
4.要执行的下一条指令的地址存储在寄存器(指令指针寄存器)中。
5.写出IBM PC的三个子程序返回的指令(RET)、(IRET)、(IRTD)。
6.汇编语言源程序需要由(汇编)程序汇编,由(连接)程序连接,生成可执行文件。
7.如果一个存储单元的地址表示为2314h: 4132h,那么它的偏移地址=(4132),物理地址=(27272H)。
8.REP指令前缀与()指令一起使用。
9.要查看和修改显示器上存储单元的内容,可以使用DEBUG的(d)和(e)命令。
10.(阿尔)=BFH。如果需要屏蔽0,1位,则执行指令(和AL,3F);如果需要反转位0,1,可以使用指令(XOR AL,3F)。
11.宏汇编适用于程序短、参数多的子功能段;
二、选择题
1.设字长N=16,有符号数7AE9H的补码表示为(d)。
A.9EA7H b . 76C4H c . 8417H d . 7a e9h
2.有符号数3260H与0B425H比较,关系为(c)。
A.等于b .小于c .大于d .无法比较
3.在指令JMP字PTR [BX][DI]中传送的目标地址是(A)。
A.16 d x(直布罗陀)+(BX)+(直布罗陀)
C.16d x(SS)+(BX)+(迪)
4.在指令MOV AX[1000h]中,源操作数的寻址方式是(b)。
A.立即寻址b .直接寻址c .段内间接寻址d .寄存器寻址
5.存储在中断向量表中的是(D)
A.中断类型号b .断点地址c .中断服务程序d .中断服务程序入口地址
6汇编语言指令系统中的条件转移指令。8086可以使程序转移到(a)
A.b段中的任何地方,其中指令的偏移地址是-32768 ~+32767。
C.d .段外,此指令的偏移地址为-128~+127。
7.可以定义ASCII码字符串的数据定义语句是(D)
A.DB,DW,DD,DQ,DT B. DB,DW,DD C. DB,DW D. DB
8.如果(AL)=87H,则S、Z、C、O、P在加AL 0F5H后的状态为(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.专用于有符号数比较
C.专用于字符串比较d .不区分比较的对象是有符号的还是无符号的。
10.数据传输指令对标志位的影响是(D)
A.不影响;b .两者都影响;
C.除了POPF的SAHF·SAHF什么都没有。除了控制标志位之外,什么都没有。
三、判断题
() 31.段间调用的子程序必须用伪操作FAR描述为远程过程。T
() 32.PC使用位作为最小寻址单位。F
() 33.当SRC是一个立即数时,DST可以使用内存寻址。F
() 34.您可以使用ORG指令来指定每个逻辑段的偏移地址。T
() 35.当loope/loopz等于/零时,会转移到标签上,其退出条件为(CX)=0或ZF=0。T
( )36.流行IP F
() 37.设327FH和0BFFFH为有符号补码表示,则327FH
() 38.多个模块之间的符号交叉引用应该使用伪指令PUBLIC和EXTRN来解释t。
( )39.MOV AX,VAR1-VAR2+100 F
( )40.添加[SI],50°F
四、程序分析问题
1.图纸1234H
b图纸5678H
推一个
按B
砰的一声
波普湾
试答:(a) = 5678h,(b) = 1234h以上程序段执行后。
2.分析下列程序段,
MOV·阿尔,200
SAR AL,1
MOV·布莱
MOV CL,2
特区行政区
添加AL,BL
程序段执行后(BL) = 0e4h (Al) = 0ddh怎么样?
3.字符串数据库' ABCDEFGHIJ '
MOV啊,01;从键盘输入字符1~9。
INT 21H
还有AL,0FH
十二月
异或啊,啊
MOV BX,偏移字符串
加上BX,斧头
MOV·布莱,[BX]
MOV啊,02H显示输出
INT 21H
试着回答:
(1)以上程序段的作用是什么?根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示字符串中的哪个字符。
(2)如果从键盘输入字符‘4’,程序段的结果是什么?显示屏显示字符“d”
4.有以下程序:
还有阿尔,阿尔
JZ BRCH1
RCR阿尔,1
JZ BRCH2
RCL阿尔,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迪,0
下一位:MOV·艾尔,DAT1〔BX〕斯
MOV数据2〔迪〕,铝
公司SI
公司DI
下一次循环
6.执行下面的程序段后,AL的内容是什么?0F00H
MOV·BX,00FFH
还有BX,0FFFH
或者BX,0F0FH
异或BX,00FFH
7.执行以下指令后,AX寄存器中的内容是什么?3000小时
开始DW 10H,20H,30H,40H,50H
EE1 DW 3
┇
MOV BX,偏移开始
添加BX,EE1
MOV斧,〔BX〕
8.下列程序段的作用是什么?判断铝的含量。如果是从' a '到' z '的大写字母,程序会转到字母,否则会转到其他。
CMP AL,' A '
JC其他
CMP AL,' Z'+1
JNC其他
JMP信
┇
其他:┇
信:┇
五、填空。
1.假设AX和BX其中一个为正,另一个为负。以下程序段完成将正数发送到PLW单元进行存储。请填写程序中缺少的指令语句。
测试AX,8000H
JE K1或JZ K1
BX MOV·PLW
JMP完成了
K1: MOV PLW,AX
完成:
2.以下数据段可用:
数据段
STR1分贝' ABCDEFGHIJKL '
EQU伯爵-STR1
缓冲数据库计数DUP(0)
数据结束
下面的程序段是实现将STR1中的所有字符反向传递到BUF缓冲区(即STR1中的第一个字符发送到BUF的最后一个单元,STR1中的最后一个字符发送到BUF的第一个单元)。尝试填写程序中缺少的指令。
MOV SI,偏移量BUF-1
MOV DI,偏移缓冲区
MOV·CX伯爵
__ CLD__
循环:MOVSB
__ SUB SI,2__
循环LOP
Or(标准/添加DI,2)
不及物动词编程问题
1.编程部分计算SUM = ∑ AI = A1+A2+...+A20,并且已知A1...A20存放在以BUF为头地址的数据区,i=1,每个数据占用两个字节,总和也是两个字节。(要求用循环结构编写,循环控制采用计数控制)。(此题不需要写源程序格式,只需写试题要求的相关指令序列即可。)
节目片段:MOV AX,0
MOV BX,抵消BUF
MOV·CX,20岁
洛浦:加斧,[BX]
BX公司
BX公司
循环LOP
MOV苏姆,斧头
2.DAT单元存储一个-9 ~+9的字节数据,0~9的平方值存储在SQRTAB数据区。请直接查表写一个子程序,在SQRTAB中找出DAT单元中数据对应的平方值并发送给SQR单元。并写出主程序的调用方法。
数据段如下:
数据段
DAT DB XXH
SQRTAB DB 0,1,4,9,...81
SQR DB?
数据结束
堆栈1段对位堆栈
DW 20H DUP(?)
堆栈1结束
代码段
假设CS:CODE,DS:DATA,SS:STACK1
开始:MOV斧,数据
MOV DS,AX
┇
呼叫SUBROT
┇
MOV啊,4CH
INT 21H
SUBROT过程
推斧
推BX
李·BX,SQRTAB
MOV·阿勒达特
试验铝,80小时
下一个是JNS
阴性铝
下一个:XLAT SQRTAB
MOV·SQR
波普·BX
爆破筒
浸水使柔软
代位ENDP
代码结束
结束SRART
3.尝试编写一个程序段,将DX和AX中的双字右移四位。
MOV CL,04
石斧,CL
MOV边界
SHR DX,CL
中国上海
还是BL啊
4.定义一个数据区,包含23H、24H、25H、26H四个字符的数据,将该数据区复制20次,并显示复制结果。
数据段
模式DB 23H,24H,25H,26H
显示DB 80 DUP('),' $ '
日期结束
代码段
┇
CLD
LEA SI,模式
李迪,展示
MOV·CX,80岁
代表MOVSB
MOV啊,09H
LEA DX,显示
INT 21H
浸水使柔软
代码结束