|
《汇编语言》考前练兵
1.[单选题] 在微机汉字系统中,一个汉字的机内码占( )字节。
更多学习资料www.openhelp100.com
A.1
B.2
C.3
D.4
答:——B——
2.[单选题] 十进制33.25转换成十六进制数为( )。
A.B1.4H
B.1
C.19H
D.21.4H
E.33.4H
答:——C——
3.[单选题] 表示源程序结束的伪操作的格式是( )。
A.ENDS[LABEL]
B.END[LABEL]
C.ENDS
D.END
答:——B——
4.[单选题] 下列指令中操作数在代码段中的是( )。
A.MOV AX,25H
B.INC DS:[25H]
C.CMP AL,BL
D.ADD AH,BL
答:————
5.[单选题] 下列指令正确的是( )。
A.MOV CX, AL
B.MOV DS, 200h
C.MOV DS, CS
D.MOV DS, AX
答:————
6.[单选题] JMP FAR PTR XXXX(XXXX是符号地址)是( )。
A.寄存器寻址
B.寄存器间接寻址
C.段间直接转移寻址
D.段内间接转移寻址
答:————
7.[单选题] 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )。
A.AX,BX,CX,DX
B.BX,BP,SI,DI
C.SP,IP,BP,DX
D.CS,DS,ES,SS
答:————
8.[单选题] 执行除法指令后,影响的标志位是( )。
A.CF,OF
B.SF,ZF
C.CF,OF,SF
D.所有状态标志都不影响
答:————
9.[单选题] 对数值7DA3H做“非”运算的结果为( )。
A.824CH
B.825BH
C.825CH
D.825DH
答:————
10.[单选题] 没有语法错误的输出指令是( )。
A.OUT AX,30H
B.OUT DX,AL
C.OUT AL,DX
D.OUT 30H,AH
答:————
11.[单选题] 在DEBUG下,a命令的作用是 ( )。
A.反汇编
B.汇编
C.查看数据
D.写入数据
答:————
12.[单选题] 设CL=05H,要获得CL=0AH,可选用的指令是( )。
A.XOR CL,0FH
B.NOT CL
C.OR CL,0AH
D.AND CL,0FH
答:————
13.[单选题] 下列指令执行后能使BX中数据必为奇数的是( )。
A.XOR BX,01H
B.OR BX,01H
C.AND BX,01H
D.TEST BX,01H
答:————
14.[单选题] 将字符串‘HOW ARE YOU!’存入变量AYB( )。
A.DB “HOW ARE YOU!”
B.AYB=“HOW ARE YOU!”
C.AYB DB“HOW ARE YOU!”
D.AYB DB HOW ARE YOU!
答:————
15.[单选题] 下面有语法错误的指令是( )。
A.MOV AX,[BX][SI]
B.MOV AX,-2[BX][DI]
C.MOV AX,[BX][BP]
D.MOV AX,-1[BX][SI]
答:————
16.[单选题] 使用DOS功能调用时,子程序的编号应放在寄存器( )中。
A.AH
B.AL
C.AX
D.任意指定
答:————
17.[单选题] 8位无符号整数的表示范围为0--255,写成16进制形式为( )。
A.0-80H
B.0-0FFH
C.0-FF
D.0-255H
答:————
18.[单选题] 下列操作中允许段超越的是( )。
A.取指令
B.存目的串
C.以BP为基址存取操作数
D.堆栈操作
答:————
19.[单选题] 执行CALL DWORD PTR [BX]指令的含义是 ( )。
A.调用一个位于数据段的子程序,该地址由BX间接寻址得到
B.调用子程序的首地址保存于数据段内,该地址由BX间接寻址得到
C.调用一个堆栈段的子程序,该地址由BX间接寻址得到
D.调用一个代码段的子程序,该地址由BX间接寻址得到
答:————
20.[单选题] DF=1,执行MOVSB指令后 ( )。
A.SI减1,DI减1
B.SI加1,DI加1,CX减1
C.SI减1,DI减1,CX减1
D.SI加1,DI加1,CX加1
答:————
21.[单选题] 执行指令 MOV AL,[BP] 时,所读取的数据应在( )。
A.CS段中
B.DS段中
C.SS段中
D.ES段中
答:————
22.[单选题] 某微机有16条地址线,能够覆盖的地址范围是( )。
A.0001H-FFFFH
B.00001H-FFFFFH
C.0000H-FFFFH
D.00000H-FFFFFH
答:————
23.[单选题] 计算机存储数据的最小单位是( )。
A.位(比特)
B.字节
C.字长
D.千字节
答:————
24.[单选题] 定义字节的伪指令是( )。
A.DD
B.DB
C.DW
D.DQ
答:————
25.[单选题] 下列指令正确的是 ( )。
A.CMP [SI], 100
B.CMP WORD PTR [SI], 100
C.CMP [SI], 100h
D.CMP 100h, [SI]
答:————
26.[单选题] CPU执行算术运算指令不会影响的标志位是( )。
A.溢出标志
B.符号标志
C.零标志
D.方向标志
答:————
27.[单选题] JMP BX指令的寻址方式是 ( )。
A.寄存器寻址
B.寄存器间接寻址
C.段内直接转移寻址
D.段内间接转移寻址
答:————
28.[单选题] 条件转移指令JNE的测试条件为( )。
A.ZF=0
B.CF=0
C.ZF=1
D.CF=1
答:————
29.[单选题] 在DEBUG下,u命令的作用是 ( )。
A.反汇编
B.汇编
C.查看数据
D.写入数据
答:————
30.[单选题] 设DL=0AAH,执行指令后能使DL=55H的指令是( )。
A.TEST DL,55H
B.OR AL ,55H
C.NEG DL
D.XOR DL,0FFH
答:————
31.[单选题] Intel 8086 I/O寻址空间为 ( )。
A.1MB
B.1KB
C.64KB
D.32KB
答:————
32.[单选题] 内中断的分类为 ( )。
A.执行中断指令INT n,CPU出错引起的中断,为调试程序设置的中断
B.除法出错的中断、溢出中断、单步中断、软件中断
C.可屏蔽中断、不可屏蔽中断、中断指令INT n
D.可屏蔽中断、不可屏蔽中断、断点中断
答:————
33.[单选题] 与NOT AX;NEG AX指令等效的指令是( )。
A.DEC AX
B.INC AX
C.SUB AX,AX
D.ADD AX,AX
答:————
34.[单选题] 执行乘法指令后,影响的标志位是( )。
A.CF,OF
B.SF,ZF
C.CF,OF,SF
D.AF,CF,OF,PF,SF,ZF都不确定
答:————
35.[单选题] 对寄存器AX的内容乘以4的正确指令序列是( )。
A.SHR AX,1 /SHR AX,1
B.SHL AX,1/ SHL,AX,1
C.ROL AX,1 /ROL AX,1
D.RCR AX,1/ RCR AX,1
答:————
36.[单选题] 与MOV BX,OFFSET VAR指令完全等效的指令是( )。
A.MOV BX,VAR
B.LDS BX,VAR
C.LES BX,VA R
D.LEA BX,VAR
答:————
37.[单选题] 执行下面指令序列后,MOV AL,82H / CBW,结果是( )。
A.AX=0FF82H
B.AX=8082H
C.AX=0082H
D.AX=0F82H
答:————
38.[单选题] 栈顶内容弹出送字变量AYW( )。
A.POP
B.PUSH
C.PUSH AYW
D.POP AYW
答:————
39.[单选题] 地址表达式AYY[4]的偏移地址送字变量ADDR( )。
A.MOV ADDR,OFFSET AYY[4]
B.MOV ADDR, AYY[4]
C.OFFSET AYY[4]
D.LEA OFFSET AYY[4]
答:————
40.[单选题] 把汇编语言翻译成机器语言的过程称为( )。
A.编译
B.汇编
C.编辑
D.链接
答:————
41.[判断题] INC CX,1 ( )
A.对
B.错
答:————
42.[判断题] TEST [BP],BL ( )
A.对
B.错
答:————
43.[判断题] MOV [BX][BP],AX ( )
A.对
B.错
答:————
44.[判断题] PUSH 45[DI] ( )
A.对
B.错
答:————
45.[判断题] AND DH,DL ( )
A.对
B.错
答:————
46.[判断题] MOV [BX][BP],BX ( )
A.对
B.错
答:————
47.[判断题] AND [BP],AL ( )
A.对
B.错
答:————
48.[判断题] SUB [SI],DA_BYTE ( )
A.对
B.错
答:————
49.[判断题] TEST DH,DL ( )
A.对
B.错
答:————
50.[判断题] SHL AX,2 ( )
A.对
B.错
答:————
51.<Fillup> 在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在##段中,段地址在SS寄存器中。
答:————
52.<Fillup> 数据段定义如下: ##
X1 DB 10H,50,1
X2 DW 10H,20,3
X3 DD ?
COUNT EQU X3-X1
变量COUNT的值是
答:————
53.<Fillup> 十六进制数0FFF8H表示的十进制正数为##。
答:————
54.<Fillup> 设AH=0,AL=06H,BL=09H,执行指令##
ADD AL,BL AAA
之后,其结果应是
答:————
55.<Fillup> PSW寄存器中共有##位条件状态位。
答:————
56.<Fillup> 计算机系统通过???##与外围设备通信。
答:————
57.<Fillup> 中央处理器包括运算器、控制器、##。
答:————
58.<Fillup> 逻辑地址由段基值和?##组成。
答:————
59.<Fillup> DB ‘AB’定义了2个字节,在内存中的16进制代码按顺序为##。
答:————
60.<Fillup> 注释项用于说明程序段或是一条和几条指令的功能,一般用##表示注释的开始。
答:————
61.<Fillup> 重复前缀指令REP的重复次数由????##决定。
答:————
62.<Fillup> CPU的标志寄存器中标志位,可以分为两大类,其中一类称为##标志位,另一类称为控制标志位。
答:————
63.<Fillup> 串指令中的目的操作数地址是由##提供。
答:————
64.<Fillup> 主程序和所调用的子程序在同一代码段中,子程序的属性应定义为##
答:————
65.<Fillup> 条件转移指令JNE的测试条件为##
答:————
66.<Fillup> 用二进制代码书写指令和程序的语言,称为##
答:————
67.<Fillup> 将逻辑地址转换为物理地址的公式是##其中的段基值是由?段寄存器?存储。
答:————
68.<Fillup> 调用C语言函数时参数的进栈顺序是##。
答:————
69.<Fillup> 执行“MUL BL”之后,积存放在##中。
答:————
70.<Fillup> DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送##寄存器后执行INT??21H。
答:————
71.<Fillup> DR1 DB 10H,30H,LENGTH DR2 请问指令执行后,CL的值为 ## 。
DR2 DW 10H DUP(0,2 DUP(2))
……
MOV BL,LENGTH DR1
MOV CL
答:————
72.<Fillup> 当标志位##=1时表示无符号数运算产生溢出。
答:————
73.<Fillup> 在程序执行过程中,IP寄存器中始终保存的是##。
答:————
74.<Fillup> 循环指令LOOPNZ终止循环的条件是## 。
答:————
75.<Fillup> 执行如下程序:
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)=##
答:————
76.<Fillup> 当指令“SUB AX,BX”执行后,CF=1,说明最高有效位 ##
答:————
77.<Fillup> DEBUG命令中,汇编命令 ## 。
答:————
78.<Fillup> MOV AX,3*4中的乘法是在##计算的。
答:————
79.<Fillup> 在8086中,一个逻辑段最长为##字节。
答:————
80.<Fillup> 数据段定义如下: ##
X1 DB 10H,50,1
X2 DW 10H,20,3
X3 DD ?
COUNT EQU X3-X1
变量COUNT的值是
答:————
81.<Fillup> 设AH=0,AL=06H,BL=09H,执行指令 ##
ADD AL,BL AAA
之后,其结果应是
答:————
82.<Fillup> PSW寄存器中共有##位条件状态位。
答:————
83.<Fillup> 计算机系统通过 ##与外围设备通信。
答:————
84.<Fillup> 中央处理器包括运算器、控制器、##。
答:————
85.<Fillup> 逻辑地址由段基值和 ##组成。
答:————
86.<Fillup> DB ‘AB’定义了2个字节,在内存中的16进制代码按顺序为##。
答:————
87.<Fillup> 注释项用于说明程序段或是一条和几条指令的功能,一般用 ## 表示注释的开始。
答:————
88.<Fillup> 重复前缀指令REP的重复次数由 ##决定。
答:————
89.<Fillup> CPU的标志寄存器中标志位,可以分为两大类,其中一类称为##标志位,另一类称为控制标志位。
答:————
90.<Fillup> 串指令中的目的操作数地址是由##提供。
答:————
91.<Fillup> 主程序和所调用的子程序在同一代码段中,子程序的属性应定义为##
答:————
92.<Fillup> 条件转移指令JNE的测试条件为##
答:————
93.<Fillup> 用二进制代码书写指令和程序的语言,称为##
答:————
94.<Fillup> 将逻辑地址转换为物理地址的公式是##其中的段基值是由 段寄存器 存储。
答:————
95.<Fillup> 调用C语言函数时参数的进栈顺序是##。
答:————
96.<Fillup> 执行“MUL BL”之后,积存放在##中。
答:————
97.<Fillup> DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送##寄存器后执行INT 21H。
答:————
98.<Fillup> DR1 DB 10H,30H,LENGTH DR2 请问指令执行后,CL的值为 ## 。
DR2 DW 10H DUP(0,2 DUP(2))
……
MOV BL,LENGTH DR1
MOV CL
答:————
99.<Fillup> 当标志位##=1时表示无符号数运算产生溢出。
答:————
100.<Fillup> 循环指令LOOPNZ终止循环的条件是##。
答:————
101.<Fillup> 执行如下程序:
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)=##
答:————
102.<Fillup> 当指令“SUB AX,BX”执行后,CF=1,说明最高有效位##
答:————
103.<Fillup> DEBUG命令中,汇编命令##。
答:————
104.<Fillup> MOV AX,3*4中的乘法是在##计算的。
答:————
105.<Fillup> 在8086中,一个逻辑段最长为##字节。
答:————
106.<Fillup> 加1指令是##,其指令格式是##。
答:————
107.<Fillup> 逻辑运算指令中##指令只有一个操作数;欲把某操作数指定的一位或多位置0,需用指令(##;置1需用指令##;变反需用指令##。
答:————
108.<Fillup> 借位减法指令是##,若在执行此指令前,CF为0,则执行此指令与不带进位的减法指令是否相同##(填写“同”或“不同”)。
答:————
109.<Fillup> SAL是##指令;SHR是##指令;
答:————
110.<Fillup> ADC是##指令,其格式##;ADD是##指令。
答:————
111.<Fillup> PUSH是##指令。
答:————
112.<Fillup> 十六进制数A2B转换为二进制数为##。
答:————
113.<Fillup> 存储单元的逻辑地址是2B0C:2C3H,则其物理地址是##。
答:————
114.<Fillup> CPU的四个段寄存器是##、##、##、##。
答:————
115.<Fillup> 执行10101011+01010101运算后,CF=##,OF=##,SF=##,ZF=##。
答:————
116.<Fillup> 出下列指令中源操作数的寻址方式:MOV DS,AX##;
ADC AX,0ABH[BX] ##;AND BL,[0FFH] ##。
答:————
117.<Fillup> 二进制数110111100101.1011转换为十六进制数为##。
答:————
118.<Fillup> SEG运算符的功能是取得变量或标号的##;OFFSET运算符是取得变量或标号的##。
答:————
119.<Fillup> 进行堆栈操作时,隐含使用的是堆栈指针##(写出堆栈指针的名字)
答:————
120.<ShortAnswer> 在指令系统中,段内、段间返回均为RET指令。试回答:
(1)执行段内返回RET指令时,执行的操作是?
(2)执行段间返回RET指令时,执行的操作是?
答:————
121.<ShortAnswer> 现有如下程序段:
DATA SEGMENT DA3 EQU 1234H
ORG 0020H DA4 EQU $-DA2
DA1 DW 12H,23H DA5 DB 31H,32H
DA2 DB 11H,21H DATA ENDS
注意:程序是从左到右看,先把左边的程序段看完了再看右边的程序段。下面的程序段以相同的方法进行读解。
请回答:
(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少?
答:————
122.<ShortAnswer> 0P1 DB 1,2
0P2 DW 3412H,5678H
┇
MOV AX,OP1+1;字单元(OP1+1) AX
MOV BL,OP2+1;字节单元(OP2+1) BL
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。
答:————
123.<ShortAnswer> 什么叫寻址方式?常用的寻址方式有哪些?
答:————
124.<ShortAnswer> 简述下面两条指令分别是什么语法错误
MOV [BX],[SI]
MOV AX,DL
答:————
125.<ShortAnswer> 阅读如下程序:
ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0
NUM EQU $ -ADRR LOOPZ DON
RETT DB? JNZ NEXT
… MOV BL,OFFH
MOV CX,NUM NEXT:MOV RETT,BL
MOV BX,-1 HLT
DON:INC BX
请问:(1)该程序完成的功能是什么?(2)程序执行后指出RETT字节单元中的内容是什么?
答:————
126.<ShortAnswer> DATA SEGMENT
S9 DB0,1,2,3,4,5,6,7,8,9
DATA ENDS
┇
LEA SI,S9
LEA,DI,S9+1
MOV CX,5
LOP: MOV AL,[SI]
XCHG AL,[DI]
MOV [SI],AL
ADD SI,2
ADD DI,2
LOOP LOP
上述程序段运行后,S9开始的10个字节存储单元内容是什么?
答:————
127.<ShortAnswer> 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)上述程序段的功能是什么?
(2)如从键盘输入字符‘4',程序段有什么结果?
答:————
128.<ShortAnswer> 现有下列程序段:
MOV AX,6540H
MOV DX,3210H
MOV CL,04
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
试问上述程序段运行后, (AX)= (BL)= (DX)=
答:————
129.<ShortAnswer> 已知
AX=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX
执行上述指令序列后,AX=____________________,CF=____________________。
答:————
130.<ShortAnswer> 现有下列数据段:
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
_______________或 _______________
LOOP:MOVSB
________________或________________
LOOP LOP
答:————
131.<ShortAnswer> 试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。
答:————
132.<ShortAnswer> 试编写一完整程序,实现88242567H与0A435C218H两个32位无符号数相加的功能。(要求编写完整源程序,含程序框架)
答:————
133.<ShortAnswer> 下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。试把空白处填上适当指令.
____ XOR AH,AL_______________
AND AH,08H
_____ JE ZERO______________
MOV AH,OFFH
JMP NEXT
ZERO:MOV AH,0
NEXT:……
答:————
134.<ShortAnswer> DA1 DB‘ABCDEFGHI’
DA2 DB 9 DUP(0)
┇
LEA SI,DA1
LEA DI,DA2
MOV CX,9
CLD
LOP: LODSB
SUB AL,10H
STOSB
LOOP LOP
. . .
试问:①写出程序执行后DA2各字节中的数据。
②保持程序功能情况下,程序中 可否改写为
答:————
135.<ShortAnswer> DA3 EQU WORD PTR DA4
DA4 DB 0ABH,89H
┇
SHR DA3,1
MOV DX,DA3
SHL DA4,1
MOV CX,DA3
上述程序段运行后,CX=_______________,DX=_______________。
答:————
136.<ShortAnswer> 阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1]
RESULT DB? JNG NEXT
… MOV AL,[SI+1]
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI] LOOP LOP1
INC SI MOV RESULT,AL
MOV AL,[SI] HLT
请问:(1)该程序完成的功能是什么?(2)该程序循环的次数是多少?
答:————
137.<ShortAnswer> 下面程序的功能是什么?
STRING DB 100 DUP(?)
MOV AX,SEG STRING
MOV DS,AX
LEA SI,STRING
MOV CX,100
LAB: MOV AL,[SI]
CMP AL,’a’
JB LAB1
CMP AL,’z’
JA LAB1
SUB AL,32
MOV [SI],A
LAB1: INC SI
LOOP LAB
答:————
138.<ShortAnswer> BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。 (1) (2) (3)
MOV CX,32H
LEA SI,BEG
MOV DI,SI
DON:MOV AL,[SI]
MOV [SI],AL
DEC DI
LOOP DON
HLT
答:————
139.<ShortAnswer> 写一个把字符串中的大写字母改写为小写字母的子程序(近过程)。设字符串以0为结束标志。
答:————
140.<ShortAnswer> 编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。
答:————
141.<ShortAnswer> BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。
MOV CX,32H
LEA SI,BEG
MOV DI,SI
(1)
DON:MOV AL,[SI]
(2)
MOV [SI],AL
(3)
DEC DI
LOOP DON
HLT
答:————
142.<ShortAnswer> MOV DL,AL
NOT DL
TEST DL,04H
JE NEXT
┇
NEXT:…
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?
答:————
143.<ShortAnswer> 执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=______,(BX)=______,(CX)=______。
答:————
144.<ShortAnswer> 下面程序的功能是什么?
MOV AX,X
CMP AX,Y
JGE LAB
XCHG AX,Y
LAB:MOV X,AX
答:————
145.<ShortAnswer> 某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。
STRING DB‘COMPUTER’,‘$’
┇
MOV BX,0FFSET STRING
LOP:MOV DL,[BX]
MOV AH,02H
INT 21H
_____ _______________
_____ ________
JNE LOP
答:————
146.<ShortAnswer> FACT PROC
PUSH DX
MOV DX,AX
CMP AX,0
JZ DONE
DEC AX
CALL FACT
MUL DX
POP DX
RET
DONE:MOV AX,1
POP DX
RET
FACT ENDP
若执行以上子程序前,(AX)=5,则子程序完成的功能是: ,执行该子程序后(AX)= 。
答:————
147.<ShortAnswer> 在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
答:————
148.<ShortAnswer> 编定程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是"Y",则转向YES程序段;如字符是"N",则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。(考生勿需写出源程序格式,只需写出与试题要求有关的指令序列) (YES和NO分别是两程序段入口处的标号)
KEY:MOV AH,1
INT 21H
CMP AL,‘Y’
JE YES
CMP AL,‘N’
JE NO
JMP KEY
答:————
149.<ShortAnswer> 已知
AX=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX
执行上述指令序列后,AX=__________________________,CF=__________________________。
答:————
150.<ShortAnswer> 现有下列数据段:
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
____________________或 ____________________
LOOP:MOVSB
_____________________或_____________________
LOOP LOP
答:————
151.<ShortAnswer> 下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。试把空白处填上适当指令.
_____ XOR AH,AL____________________
AND AH,08H
______ JE ZERO__________________
MOV AH,OFFH
JMP NEXT
ZERO:MOV AH,0
NEXT:……
答:————
152.<ShortAnswer> DA3 EQU WORD PTR DA4
DA4 DB 0ABH,89H
┇
SHR DA3,1
MOV DX,DA3
SHL DA4,1
MOV CX,DA3
上述程序段运行后,CX=____________________,DX=____________________。
答:————
153.<ShortAnswer> 执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUM
NUM DW 12H MOV CL,BYTE PTR NUM+1
… MOV CH,TYPE NUM
MOV AX,NUM HLT
请问:(AX)=________,(BX)=________,(CX)=________。
答:————
154.<ShortAnswer> 某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。
STRING DB‘COMPUTER’,‘$’
┇
MOV BX,0FFSET STRING
LOP:MOV DL,[BX]
MOV AH,02H
INT 21H
______ ____________________
______ __________
JNE LOP
答:————
更多学习资料www.openhelp100.com
|
|