当前位置:文档之家› 汇编试题单选题(常熟理工题库+答案)

汇编试题单选题(常熟理工题库+答案)

汇编试题单选题(常熟理工题库+答案)
汇编试题单选题(常熟理工题库+答案)

标题

用户为了解决自己的问题,用汇编语言所编写的程序,称为

十进制数–100 的8 位二进制数的补码为

将.OBJ文件转换为.EXE可执行文件的是

对汇编语言源程序进行翻译的程序是

将高级语言程序翻译成机器语言代码的实用程序是

查看用户程序中数据段10号存储单元的DEBUG命令是

在DEBUG下,修改寄存器AX的命令是

从200H开始反汇编的DEBUG命令是

把汇编源程序变成代码程序的过程是

能被计算机直接识别的语言是

在微机系统中分析并控制指令执行的部件是

在计算机的CPU中执行算术逻辑运算的部件是

在标志寄存器中表示溢出的标志是

在汇编语言中,能够翻译成二进制代码的指令是

若计算机字长16位,则无符号整数的范围用十六进制表示为

在计算机中一个字节有几位二进制数组成

设物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,从地址10FF1中取用什么指出下一条要执行的指令所在单元的偏移地址

代码段寄存器是

在80x86标志寄存器中,ZF=1表示

两个操作数运算时,下列哪种结果会发生溢出

设有一个双精度数12A034B0H,将它存放在双字单元12000H,那么123002H中存堆栈的逻辑地址由什么组成

某内存单元的逻辑地址为3458:2C92H,其物理地址是

唯一代表存储空间中每个字节单元地址的是

IP指令指针寄存器是属于

某个加法运算结果使标志ZF=1,则标志SF为

8086/8088 确定下一条执行指令物理地址的计算表达式为

若用户堆栈位于存储区10000H~1FFFFH,则该堆栈的段地址是

有效地址是指

执行指令PUSH CX后,堆栈指针SP自动

指令MOV AX,[1000H],源操作数的寻址方式是

指令MOV AX,ES:COUNT[DI],源操作数的寻址方式是

指令MOV DX,COUNT[BP][DI]的执行结果是

若(AX)=2530H,(BX)=18E6H,则MOV [BX],AL指令正确的执行结果为

若(DS)=1240H,(BX)=8936H,则MOV AX,[BX]指令源操作数的物理地址是

若(SS)=1383H,(DS)=2378H,(SI)=492AH,则ADD AX,[SI]指令源操作数的物若(SI)=1310H,(BX)=3213H,(DS)=3593H,则SUB DX,[BX][SI]的有效地址是指令MOV BX,MASK[BP],若MASK=3540H,(SS)=1200H,(DS)=1300H,(BP)=116指令MOV AX,COUNT[BX]完成的操作是

指令MOV DX,DELTA[BX][SI]的源操作数保存在

操作数地址由BX寄存器指出,则它的寻址方式是

指令MOV ES:[BX],AX中,目的操作数的寻址方式为

一条指令中目的操作数不允许使用的寻址方式是

下列哪句话是错误的

不能用MOV指令赋初值的段寄存器是

下列传送指令中,有错误的是

若AX=1E30H,BX=12E4H,则ADD AL,BL的执行结果为AL=?,CF=?

若AX=1240H,CX=9939H,则ADD AX,CX执行后,AH=?

若BL=83H,CF=1,则ADC BL,90H执行后,BL=?

若DX=1010H,BX=0923H,则SUB DX,BX的执行结果为

SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值是

换码指令XLAT要求给出存储单元的有效地址为

下列哪个指令可以把字扩展为双字

关于字节乘法指令错误的说法是

关于字除法指令错误的说法是

下列四条指令执行后不影响标CF志位的是

已知(AX)=0001H,下列四条指令执行后,不能使ZF=1的语句是

在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有

指令MOV AX,1234H中的立即数1234H是存储在

完成将AX清零,并且使CF清零,下面错误的指令是

VAR是数据段中定义的变量,指令 MOV AX,VAR 源操作数的寻址方式是

下列指令执行后,一定能使 CF=0的指令是

下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是

执行INC指令除对于SF、ZF有影响外,还要影响的标志位是

下列传送指令中有语法错误的是

下面指令执行后,改变AL寄存器内容的指令是

如AX=1000H,则连续两条NEG AX指令执行后,AX的值为

下面所列通用数据传送指令的几种传送中,错误的传送方式是

完成对DX的有符号数除以2的指令是

使进位位置1的指令是

设(AL)=-15,要使(AL)=15应使用的指令是

下面的XCHG指令中,语法正确的是

在执行NEG指令时,对标志位CF有影响,其影响的规则是

算术右移SAR和逻辑右移SHR两条指令执行结果完全相同的情况是

指令MOV CX,[BP+16]的源操作数采用的段寄存器是

指令MOV AX,ES:[BX][SI]源操作数的物理地址是

运算类指令的寻址和转移类指令的寻址,两者的不同之处是

下列指令中,属于非法指令的是

下列指令中,有语法错误的是

若标志DF为0,则执行串操作MOVS指令后,寄存器SI、DI会

假设SS=2000H、SP=0100H、AX=2021H,执行指令PUSH AX,存放数据21H的将寄存器AX的内容乘以2的正确指令序列是

执行DEC指令不影响的标志位是

下面指令执行后,将改变AL寄存器内容的指令是

执行除法指令后,影响的标志位是

下列指令中,不影响标志位的指令是

下列指令中,执行后,不改变标志位CF的是

下列指令执行后,总是使CF=OF=0的是

CBW指令的功能是

下列4条指令MUL BX、DIV BL、IN AX,20H、OUT 21H,AL中,有几条指令需要使用一条指令实现AX←BX+SI的方法是

设AX=1000H,则执行下列指令

NEG AX

NOT AX

后,AX=?

当执行指令“ADD AX,BX”后,设置的奇偶标志位PF=1,则下面的叙述正确的完成对寄存器BX的内容求补运算,下面错误的指令是

下列指令中不等价的是

在MOVSB指令中,其目的串的物理地址为

若DX=1010H,则AND DX,DX的执行结果为

能实现有符号数乘以2的移位指令是

将AL的2、6位屏蔽为0,其余位保持不变的指令是

将AL的第4位置1,其余位不变,指令是

不能将AL清0的指令是

对键盘输入的数字和字母进行判断,用指令

将键盘输入的小写字母变为大写,指令是

顺序执行PUSH AX和POP BX两条指令,其功能等同于

逻辑移位指令SHL可用于

执行IN AL,DX指令后,进入AL寄存器的数据来自

将十进制数75以压缩BCD码送入AX,正确的指令是

设AH=10H,执行NEG AH指令后,正确的结果是

如果SS=600H,则说明堆栈段起始于物理地址

下列指令中有操作数在代码段中的是

假设AL=5,要使得AL=0AH,应执行的指令是

执行OR AL,80H后,可以肯定的执行结果是AL寄存器的

MUL CL指令实现的功能是

经过汇编产生的二进制目标文件是

汇编语言源程序是指

在汇编期间,为汇编程序提供分段信息的是

在COUNT DB 5这条存储单元定义伪指令中,COUNT称为

将10个字数据3456H存放在存储单元中的伪指令是

将字符串“INPUT”保存到存储单元MESS,正确的伪指令是

若X已经定义为字型,可以用哪个操作改变为字节型

INC WORD PTR [BX]指令中的操作数的数据类型是

如果想让程序从100H开始存放及执行,须用指令

用来指出一条汇编指令所在存储单元地址的符号称为

汇编语言中存储单元的属性不能是

用指令MOV BX,SEG COUNT指令,可以得到存储单元COUNT的

DOS功能调用中,功能号应写入哪个寄存器中

显示一个字符的DOS功能调用,要求将字符放入

获得BUFFER单元有效地址的汇编指令为

要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是

在汇编语言源程序中,表达式的计算是由哪个完成的

有数据定义NUM DB 3 DUP('12345'),经汇编后,NUM占有几个字节存储单元汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语与MOV BX,OFFSET VAR指令完全等效的指令是

BUF DW 10H DUP(3 DUP(2,10H),3,5)语句汇编后,为变量BUF分配的存储单元

利用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)),定义后存储单已定义 FEES DW 100 DUP(0),则指令MOV CX,SIZE FEES的等效指令是

当一个程序使用DOS系统功能调用退出用户程序时,在编写INT 21H指令前,应下面有语法错误的指令是

下面指令序列执行后,

MOV AL,BYTE PTR X

SHL AL,1

DEC AL

MOV BYTE PTR Y,AL

完成的的算术表达式应是

设有一程序段定义如下:

ORG 0024H

 AR1 DW 4,5,$+4

MOV AX,AR1+4

执行后,AX中正确的内容是

DOS系统功能调用的屏幕显示字符是几号调用

析值运算符LENGTH只有用什么定义的变量才有意义。

在段定义中,默认的定位类型是

MASM语句中,采用什么符号分隔标号和指令

欲设定从偏移地址100H 开始安排程序,可使用什么伪指令

语句BUF DB 10 DUP(3 DUP(?,10),3,10)汇编后,变量BUF占有的存储单元字节若定义xyz dw 'A',则xyz字存储单元中存放的数据是

使用伪指令定义VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0))则在VAL存储区内前DW 50 DUP(?)语句预留了多少个字节存储空间

编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的为使CX=–1时,执行“JZ MINUS”转至标号MINUS而编制了一指令,其中错误当一个有符号数大于0FBH时程序转移,在“CMP AL,0FBH”指令后,需选用的指令“TEST BH,1”测试BH中的数是否为奇数,若为奇数则转移,那么随后的测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,那么在“JZ 条件转移指令JA产生程序转移的条件是

若AX=2891H,则执行“NEG AX”指令后,CF和SF标志位的状态分别是

条件转移指令的转移范围

在分支指令中,利用符号进行判断的指令是

无条件转移指令中,段内直接短转移到标号LET1的指令是

要实现段间转移,下列说法正确的是

在条件转移指令中,结果不为0则转移的指令是

两个有符号数比较,不大于则转移的指令是

设A=9210H,B=4582H,如果A>B做相减运算,否则做相加。执行JG指令后,结8086的转移指令根据转移范围分为段内转移及段间转移,下列叙述错误的是下面程序段条件转移语句发生跳转的条件是AL=?

CMP AL,0FBH

JNL NEXT

如下程序段中的“DEC CX”指令执行了几次

MOV CX,4

JCXZ NEXT

AGAIN: DEC CX

JNZ AGAIN

NEXT: ....

指令LOOPZ的循环执行条件是

下列叙述正确的是

有关8086/8088CPU以奇地址或偶地址访问存储器时, 下列说法正确的是

在程序执行过程中, IP寄存器中始终保存的是

与BP寄存器组合才能形成堆栈中物理地址的寄存器是

在程序状态字寄存器PSW中,作为记录指令操作结果的标志是

在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是

8086/8088微处理器包含有两个独立的部件,它们分别是

在计算机的许多应用场合,人们总是用汇编语言来编制应用程序,原因是汇编语在汇编语言中有三种指令,其中用于定义常数、变量,内存空间的分配和定位一般地, 我们将计算机指令的集合称为

当运算结果为0时,不能转向标号L1处的指令是

8086/8088将要执行指令的地址存放在

指出下列指令正确的是

累加器AL中的内容为74H,执行CMP AL,47H指令后,累加器AL中的内容为

两个字节补码整数9CH和7AH进行相加运算后, 会产生

从键盘输入一个十进制数1999,将该数值以压缩型BCD码的存储形式保存到存下列指令执行时出错的是

已知AX=1234H,执行下述三条指令后,AX等于

MOV BX, AX

NEG BX

ADD AX, BX

从键盘输入一个十进制数3042,它所对应的非压缩型BCD码的存储形式是

在串操作指令中, 下列描述不正确的是

字节补码整数0C2H减去0A5H运算后, 会产生

在寄存器相对寻址方式MOV AX, [SI+DAT]中, 偏移量DAT应是一个

有指令JMP SHORT NEXT,如果操作码放在地址0020H处,标号NEXT的地址是00下列描述不正确的是

下述对PSW寄存器中标志位不产生影响的指令是

执行下列程序AL等于

DATA SEGMENT

TAB DB‘0123456789’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

 START: MOV AX, DATA

MOV DS, AX

MOV BX, OFFSET TAB

MOV AL, 04

XLAT

完成BX-CX→AX 的错误操作是

寄存器间接寻址方式中,操作数在

直接、间接、立即三种寻址方式指令的执行速度, 由快至慢的排序为

JMP WORD PTR [DI] 是

JMP FAR PTR DONE 是

条件转移指令JNE 的测试条件是

移位指令SAL用于

对于下列程序段:

 AGAIN: MOV ES:[DI], AL

INC DI

LOOP AGAIN

可用什么指令完成相同的功能。

汇编程序默认无标记数为

下面的地址表达式错误的是

使用8086/ 8088 汇编语言的伪操作命令定义

 VAL DB 10 DUP(5, 2 DUP(2 DUP(1, 2 DUP(3)), 4))

则在VAL存储区内前10个字节单元中的数据是

下列定义变量指令正确的是

下述程序为一数据段, 正确的判断是

1 DATA SEGMENT

2 X DB 332H

3 FIRST = 1

4 FIRST EQU 2

5 ENDS

下列语句无异义的是

变量的类型属性如下,下面错误的类型是

在汇编语言编程中,结束用户程序返回操作系统应使用的中断指令是

在编写汇编语言程序时,要正确使用好两种语句的功能,它们分别是

下列描述中正确的是

分析下面指令序列执行后的正确结果是

MOV BX,0FFFCH

MOV CL,2

SAR BX,CL

下列叙述正确的是

在地址0013H处的指令机器码是“EB F2”,这是一条JMP XXXX指令,地址XXX 在下列指令中,执行会影响CF位的指令是

指令MOV AX,[BX][SI]源操作数的物理地址是

指令MOV AX,[BP][SI]源操作数的物理地址是

下列描述错误的是

串操作需要循环重复执行,不能作为串操作前缀的是

对于LOOP NEXT循环指令,循环的范围是

串操作指令中,串的传送方向由哪个标志位决定

串操作指令,源串和目的串的偏移地址由什么寄存器决定

串扫描SCAS指令要求的串放在

串扫描SCASW指令隐含地将哪个寄存器作为查找的内容

循环指令LOOP可以实现什么循环

REPNE指令的重复计数值放在哪个寄存器中

在多重循环程序中,从外循环再次进入内循环时,内循环的计数值

循环指令的控制条件,除CX寄存器外,还可以把哪个标志位作为控制条件

循环指令LOOPNZ终止循环的条件是

串操作指令MOVSW,执行CLD指令后,每次传送,串的偏移地址

设置方向标志为1的指令是

串操作重复前缀REPZ指令,继续重复的条件是

指令LOOPNZ的循环执行条件是

下列串操作指令中,必须同时指明源串和目的串的指令是

下列串操作指令中,加重复前缀没意义的指令是

下列串操作指令中,加REP重复前缀有意义的指令是

在寄存器间接寻址、寄存器相对寻址方式下,可存放操作数的有效地址的寄存循环控制指令隐含指定哪个寄存器作为循环计数器

循环控制指令与循环体入口指令的距离只能在什么范围内

当CX=0时, REP MOVSB执行的次数为

已知CALL BX执行前SP=100H, 执行后SP的内容为

已知CALL FAR PTR[BX]执行前SP=100H, 执行后SP的内容为

已知SUBR是一个属性NEAR的子程序,下述调用SUBR子程序的指令序列中,哪一已知RET指令是属性为NEAR子程序中的返回指令,执行RET前SP=100H,执行后已知RET指令是属性为NEAR子程序中的返回指令,执行RET 4前SP=100H,执行已知AH=0FFH,AL=0FFH,执行IMUL AH后,AX的内容应为

已知AH=0FFH,AL=01H,执行IMUL AH后,AX的内容应为

8086/8088 CPU的I/O指令可以采用的寻址方式为

8086/8088 CPU的I/O指令采用间接寻址时,可用的间址寄存器是

8086/8088 CPU的I/O指令用直接寻址可访问端口的地址空间为

8086/8088 CPU的I/O指令用间接寻址可访问端口的地址空间为

下列程序段在语法上正确的是

JMP SI的目标地址偏移量为

已知AL、BX中各存放一个无符号数,计算AL*BX的积,用下述程序段

NEXT是程序中某指令语句标号,下述四个程序段中,不能实现转移到NEXT语句DATA 的定义如下:

DATA DW 1234H

现想把12H 取入到AL 寄存器, 可以实现该功能的程序段是

主程序将它的参数传给子程序,这个参数被称为

对应主程序CALL 指令调用子程序,子程序结束通常采用什么指令返回主程序下面关于宏汇编论述中,错误的是

如果定义一个变量,该变量需要其他模块使用,应该利用什么伪指令说明

下列描述正确的是

在循环程序的执行过程中,为保证循环过程的有序性,要对一些参数值加以修

在下列四种描述中,哪种情况执行循环的次数最多

执行CALL FAR PTR SUB1指令后,在堆栈区域中

执行一条段内RET指令后,完成的操作是

下列叙述不正确的是

以下指令序列执行后,所完成的操作与什么操作等价。

MOV AH, 4CH

INT 21H

下列叙述中哪种情况属于子程序的递归调用。

子程序重定位可选在内存中的整个区域内,进行程序设计时子程序内应采用子程序是通过什么来定义的。

对于下列程序段:

 AGAIN:MOV AL, [SI]

MOV ES:[DI], AL

INC SI

INC DI

LOOP AGAIN

也可用什么指令完成同样的功能。

仅用一条指令实现将 BX + SI → AX 的方法是

选用串操作指令时, 错误的操作是

下面指令中, 合理而有意义的指令是

在汇编语言程序中,对END语句的叙述正确的是

条件转移指令JB产生程序转移的条件是

设AL=0B4H,BL=11H,指令“MUL BL”执行后OF、CF的值为

下面指令执行后,变量DAB中的内容是

DAW DW 2A05H

DAB DB 0FAH

...

MOV AL, BYTE PRT DAW

SUB DAB, AL

执行下列指令后,正确的结果是

MOV AL, 100

MOV BL, -2

当一个无符号数大于120时程序转移, 需使用条件转移指令

数据定义如下:

BUF1 DB 10

BUF2 DW 20 DUP(?)

实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是

现有一数据定义语句:DA1 DB 35H, 37H能与上述语句等效的语句或语句序列当执行指令ADD AX, BX后,设置的奇偶标志位PF=1,的叙述正确的是

XOR AH, AH

MOV AL, 90H

CWD

执行上述指令后,结果是

完成同指令 XCHG AX, BX 相同功能的指令或指令序列是

DA1 EQU THIS BYTE

DA2 DW 'AB', 'CD', 'EF', 'GH'

...

MOV AL, DA1 + 3

MOV AH, BYTE PTR DA2 + 4

上述二条传送指令执行后AX中的内容是

下面对伪指令语句的说明,正确的是

DA1 EQU BYTE PTR DA2

DA2 DW 0ABCDH

SHL DA1, 1

SHR DA2, 1

上述指令序列执行后,DA2字存储单元的内容是

下面语句中有语法错误的语句是

假设AX=0012H,BX=0034H,那么下述程序段执行后,AX中的结果是

 MOV CL, 8

 ROL AX, CL

 OR AX, BX

下述指令序列运行后,CX的内容是

 DA2 DB 12H, 34H, 56H, 0ABH

 DB $ - DA2

 BUF1 DB 10H, 20H, 30H

 ┇

 LEA SI, DA2

 MOV CL, 4[SI]

 MOV CH, LENGTH BUF1

在执行POP [BX]指令,寻找目的操作数时,段地址和偏移地址分别是

设AX=1000H,执行下述指令后

 NEG AX

 NOT AX

正确的结果是

为了使执行串操作指令时,地址按减量方式处理,应使用的指令是

测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方要求将A、B两个字符的ASCII码:41H、42H顺序存放在一个字存储单元中,可CBW指令的功能是

检测BH中的数是否为奇数,若为奇数则转移至K1处,则指令 TEST BH, 01H 后 ORG 0030H

 DA1 DB 0, '0', 30H

 DW DA1

数据为 3000H 字存储单元的偏移地址是

若定义DAT DW 'A',则MOV AX, DAT 指令执行后,AX中存放的数据是(选项中假设VAR为变量,指令MOV BX, OFFSET VAR 的寻址方式是

假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指

语句“VAR DW 1, 2, $ + 2, 5, 6”,若汇编时VAR分配的偏移地址是0010H,连接两个汇编语言目标程序时,若其数据段的段名相同,组合类型为PUBLIC,下列80X86指令中,不合法的指令是

执行下面的程序段后,AX的值为

 TAB DW 1, 2, 3, 4, 5, 6

 ENTRY EQU 3

 MOV BX, OFFSET TAB

 ADD BX, ENTRY

 MOV AX, [BX]

下面指令中影响状态位CF的指令是

判当CX=0时,转ZERO执行的错误指令是

执行1号DOS系统功能调用后,从键盘输入的字符应存放在

设数据定义:ARRAY DW 1, 2, 3,执行指令ADD SI, TYPE ARRAY相当于完成下完成对字单元BUF的内容加1运算,下面错误的指令是

如果子程序的属性为FAR,下列说法错误的是

在子程序调用过程中,返回地址指的是

执行CALL SUBR1指令后,完成的操作是(假定SUBR1定义为NEAR)

执行段间返回RET指令时,从堆栈

子程序结构中,保存现场指的是

CALL指令和RET指令的用法,正确的说法是

CALL指令和RET指令对堆栈操作,正确的说法是

执行CALL FAR PTR SUBR2时,正确的说法是

如果在子程序中进行了现场保护,那么子程序中

在中断处理系统中,中断向量指的是

有关中断向量表的说法正确的是

80X86系统的中断向量表位于

中断调用与子程序调用过程相同的是

80X86系统,CPU是通过什么获知硬件可屏蔽中断发生的

当硬件中断发生时,CPU通过什么获知中断类型号的

通常情况下,一个外中断服务程序的第一条指令是STI,其目的是

PC机采用向量中断方式处理8级外中断,中断号依次为08H~0FH,在RAM的0:2执行中断返回指令,退出中断服务程序,这时返回地址来自

当设置标志TF为1,每条指令执行后CPU自动进入

PC机将中断类型号0FH的中断服务程序起始地址存放在内存地址

选项A选项B选项C选项D答案目标程序源程序可执行程序汇编程序B 1001101111001001001110110011100D 汇编程序连接程序编辑程序调试程序C 连接程序汇编程序编译程序目标程序B 编译程序汇编程序解释程序目标程序A D DS:A A D DS:A D DS:10 10 D DS:10A U AX R AX R A AX B U 200R 200 D 200U A 编译汇编编辑链接B C语言汇编语言机器语言面向对象语言C 寄存器数据寄存器CPU EU D ALU PC AL AR A AF CF OF SF C 汇编指令伪指令机器指令宏指令C 8000H~FFFFH0000H~7FFFH0000H~FFFFH0001H~FFFFH C 24816C 1020H3020H2030H2010H B IP SP BP PC A IP SP DS CS D 结果有进位结果为0结果溢出结果为负B

一正一负相加,结果为负两个正数相加,结果为正B 两个正数相加,结果

两个负数相加,结果为

B0H34H A0H12H C DS:BX ES:DI CS:IP SS:SP D 37212H36FF2H34580H32C92H A 段地址偏移地址有效地址物理地址D 通用寄存器段寄存器变址寄存器控制寄存器D 01不改变原来的状态不确定A DS×16+EA ES×16+EA SS×16+SP CS×16+IP D 10000H1FFFFH1000H0FFFH C

存储器操作数的偏移地址立即数的偏移地址C 存储器操作数的段地

存储器操作数的物理地

21-2-1C 立即寻址直接寻址寄存器寻址基址变址寻址B 基址变址寻址立即寻址寄存器相对寻址相对基址变址寻址C 将COUNT的值传送给DX

将数据段中有效地址为COUNT

将堆栈段中有效地址为C D 将COUNT+BP+DI的值传

BL寄存器的值为30H18E6H单元的值为30H18E6H单元的值为2530H C BX寄存器的值为2530H

1AD36H9B760H1AC36H9B76H A 1815AH5CADH6CA2H280AAH D 1310H3213H4523H7AB6H C 4740H46A0H4840H2460H B

将AX中的一个字写入存储单元

将AX中的一个字节写入存A 从存储单元读出一个

从存储单元读出一个字

代码段堆栈段数据段附加段C 直接寻址寄存器寻址立即寻址寄存器间接寻址D 立即寻址寄存器寻址存储器直接寻址寄存器间接寻址D 寄存器寻址立即寻址变址寻址寄存器间接寻址B

指令的源操作数可以使用寄存

指令的目的操作数可以使A 指令的目的操作数和

指令的目的操作数和源

DS ES CS SS C

MOV AH,BL MOV DS,AX MOV CL,DX MOV SI,90C 14H,024H,014H,124H,1C ABH79H AB79H79ABH A 14H15H16H17H A 168DH06EDH F6DDH0087H B 1202H1204H11FCH11FEH C (BX)+(AL)(BX)+(AX)(BX)(AL)A CBW CWD CWB CDW B

被乘数隐含在AX中乘积是字型,放在AX中C 被乘数隐含在AL中乘数和被乘数都是字

有符号除法的商和余数都A

商在AX寄存器中,余数在DX寄

16位被除数AX与8位源

32位被除数DX:AX与1

INC AX CMP AX,BX SHL AX,1OR AL,AL A DEC AX SUB AX,1AND AX,1CMP AX,1C SS,SP,BP SS,SP,BX DS,BX,BP DS,SP,BP A 数据段代码段附加段堆栈段A SUB AX,AX AND AX,0XOR AX,AX MOV AX,0D 立即寻址直接寻址相对寻址寄存器寻址B NOT AX OR AX,AX SUB BX,SI ROL AX,1B AX,BX,CX,DX BX,BP,SI,DI SP,IP,BP,DX CS,DS,ES,SS B OF,AF,PF OF,AF,CF OF,PF,CF AF,PF,CF A MOV CS,AX MOV DS,AX MOV ES,AX MOV SS,AX A TEST AL,02H OR AL,AL CMP AL,BL AND AL,BL D 1001H1002H1000H F000H C 累加器到存储器立即数到存储器寄存器到存储器存储器到存储器D IDIV 2SAR DX,1ROR DX,1RCR DX,1B CLC CMC STC NOP C NEG AL NOT AL DIV AL MUL AL A XCHG AL,DS XCHG BL,[BX]XCHG AL,0FH XCHG BUF1,BUF2B

对非零数数求补时,CF=1对零求补时,CF=1C 对负数求补时,CF=0

对正数求补时,CF=0

目的操作数最高位为

目的操作数为任意情况无论什么情况都不可能相A 目的操作数最高位为0

CS SS DS ES B CS×16+BX+SI SS×16+BX+SI DS×16+BX+SI ES×16+BX+SI D

两者都是存取操作数两者都决定程序跳转的目A 前者存取操作数,后者

后者存取操作数,前

MOV [SI],AL PUSH [SI]JMP BX IN AH,DX D MOV [SI],[DI]AND AX,CX JMP WORD PTR [BX]IDIV BX A 不变增量减量不定B 20102H20101H200FEH200FFH C SHR AX,1SHL AX,1ROR AX,1RCR AX,1B SF PF OF CF D TEST AL,80H OR AL,AL AND AL,BL CMP AL,80H C CF、OF SF、ZF AF、PF A 所有状态标志都不确定

SUB AX,BX ROR AL,1JNC LABEL CMC C CLC AND AL,AL SAL AL,1INC AL D AND NEG NOT INC A

把AH中的符号位扩展到AL中把AX中的符号位扩展到D B 把AL中的符号位扩展

把源操作数的符号位扩

1234A XCHG AX,[BX][SI]MOV AX,[BX][SI]MOV AX,[BX+SI]LEA AX,[BX][SI]D

1001H0FFFH1000H0111H B 表示结果中含1的个数

表示结果中含1的个数

表示该数为偶数表示结果中低8位含1的个A

NEG BX NOT BX

INC BX

XOR BX,0FFFFH

INC BX

MOV AX,0

SUB AX,BX

D

JA和JNBE JG和JNLE JL和JNG JBE和JNA C DS×16+SI DS×16+DI ES×16+SI ES×16+DI D 0000H1111H1010H FFFFH C SAL AL,1SHL AL,1SHR AL,1SAR AL,1D AND AL,42H AND AL,0BBH OR AL,26H ADD AL,0FBH B OR AL,40H AND AL,40H OR AL,10H AND AL,1FH C MOV AL,0AND AL,0XOR AL,AL XOR AL,0D TEST AL,40H TEST AL,20H CMP AL,40H CMP AL,20H A AND AL,20H AND AL,0DFH OR AL,20H OR AL,0DFH B MOV BX,AX MOV AX,BX XCHG AX,BX XCHG BX,AX A 有符号数乘以2有符号数除以2无符号数乘以2无符号数除以2C 寄存器存储器立即数外设端口D MOV AX,0075MOV AX,0705MOV AX,0075H MOV AX,0705H C AH=10H、CF=1AH=F0H、CF=0AH=10H、CF=0AH=F0H、CF=1D 60H600H6000H60000H C MOV AX,34H ADD AX,BX INC WORD PTR [34H]CMP AX,[34H]A NOT AL AND AL,0FH XOR AL,0FH OR AL,0FH C 最高位为0最高位为1低7位均为0低7位均为1B 有符号乘法:AX←AL×

无符号乘法:AX←AL

有符号乘法:DX←AL×CL无符号乘法:DX←AL×C B .ASM.OBJ.EXE.MAP B 系统提供的MASM用户编写的.ASM汇编生成的.LST连接生成的.EXE B ASSUME伪指令SEGMENT伪指令标号START MOV指令B 助记符变量符号标号B DD 10 DUP(3456H)DW 10 DUP(3456H)DD 10 DUP(5634H)DW 10 DUP(5634H)B INPUT DB MESS MESS DB INPUT INPUT DB "MESS"MESS DB "INPUT"D BYTE PTR X OFFSET X TYPE X LABEL X A 字节字双字四字B START EQU 100H ORG 100H END START MOV START,100H B 变量数组名标号偏移量C 字符CHAR型字节BYTE型字WORD型双字DWORD型A 物理地址段地址偏移地址属性B AL AH DL DH B AL BL CL DL D MOV BX,BUFFER LEA BX,BUFFER MOV BX,[BUFFER]LDS BX,BUFFER B BUF DW 9BUF DB 9BUF DB 9 DUP(?)BUF DW 9 DUP(?)C 编程者汇编器程序执行时连接器B 151015D 名字项操作项操作数项注释项B MOV BX,VAR LDS BX,VAR LES BX,VAR LEA BX,VAR D 80H100H124192B

43812C MOV CX,100MOV CX,200MOV CX,400MOV CX,100 DUP(0)B MOV AH,01H MOV AX,4CH MOV AH,4CH MOV AL,4CH C ADD AL,AH ADD [BX+3],AL ADD AH,[DI]ADD [BP+2],VAR D Y=2X+1X=2Y+1Y=2X-1X=2Y-1C

0028H0032H002AH002CH D 1452D 表达式字符串DUP疑问号C PAGE PARA WORD BYTE B 逗号分号冒号空格C ORG 100H START=100H START DB 100H START EQU 100H A 100804020B 0041H4100H0061H6100H A

2,1,2,3,3,2,1,0,2,11,2,3,3,3,1,0,1,0,1D 1,2,3,3,3,3,2,1,0,

1,2,3,3,2,1,0,1,2,3

2550100200C CMP SUB AND MOV D INC CX SUB CX,0FFFFH AND CX,0FFFFH XOR CX,0FFFFH C JLE JNL JNLE JL C JNE JZ JS JC A TEST BL,4FH XOR BL,4FH AND BL,4FH OR BL,4FH A CF=0和ZF=1CF=0和ZF=0CF=1和ZF=1CF=1和ZF=0B 0和00和11和01和1D 0~+2550~+65535-128~+127-32768~+32767C JC JS JZ JO B

JMP BX JMP WORD PTR LET1A JMP SHORT LET1JMP DWORD PTR LET1

既要改变IP又要改变CS转移地址不能用存储单元C 标号的偏移地址送入

标号的属性为NEAR型的

JNS JZ JS JNZ D JLE JBE JL JAE A 做相减运算做相加运算先做相减再做相加运算什么都不做B

条件转移指令是段内的直C

条件转移指令既可段内转移,

无条件转移指令既可段

无条件转移指令既可

80H8FH0F0H0FFH D

0145C CX≠0且ZF=0CX≠0或ZF=0CX≠0且ZF=1CX≠0或ZF=1C 机器指令都是8位16位机的指令系统完全相同机器指令都是16位A 不同类型的机器指令系

上述说法都不对B

访问偶地址要比访问奇地址花

二者花费的时间一样多

访问奇地址要比访问

正在执行指令的首地址需计算有效地址后才能确B 上一条指令的首地址下一条指令的首地址

CS寄存器IP寄存器DS寄存器SS寄存器D CF,OF,PF,AF,SF,ZF OF,DF,IF,SF,ZF,CF C F,PF,ZF,SF IF,DF,OF,CF A 逻辑地址物理地址有效地址相对地址B R和ALU CS和IP BIU和EU CPU和I/O C 比高级语言好懂比机器语言便于编程

比机器语言执行速度快比其它语言好移植B 伪指令机器指令宏指令微指令A 机器语言汇编语言模拟语言仿真语言A JAE L1JGE L1JNE L1JE L1C DS:BP SS:SP CS:PC CS:IP D MOV AX, 12H ADD ADR1, ADR2INC [BX]XOR AX, [CX]C 2DH0D3H74H00H C 无溢出且无进位无溢出但有进位有溢出且有进位有溢出但无进位B 19,9999,1931,39,39,3939,39,39,31B ADD BUF1, BUF2JMP DWORD PTR DAT[

MOV AX, [BX+DI]NUM TEST AL, 08H A

1234H0EDCCH6DCCH0000H D

03,00,04,0202,04,00,0333,30,34,3232,34,30,33B REP MOVSB REPE CMPSB REP STOSB REP LODSB D 无溢出且无借位无溢出但有借位有溢出且有借位有溢出但无借位A 原码补码反码移码A EB 0A EB 0C EB 14EB EA D

执行指令AND AX, 0FFFFH后,

执行指令OR AX, 0000H后A 执行指令TEXT AX, 8

执行指令XOR AX, AX后

JMP NEXT TEST AL,80H SHL AL,1INC SI A 04H0400H33H34H D

SUB BX, CX MOV AX, BX SUB AX, BX

SUB AX, CX

XCHG AX, BX

SUB AX, CX

MOV AX, BX

SUB AX, CX

B

寄存器堆栈存储器I/O端口C 直接、立即、间接直接、间接、立即立即、直接、间接不一定C 段内间接转移段间间接转移段内直接转移段间直接转移A 段内间接转移段间间接转移段内直接转移段间直接转移D ZF=1ZF=0CF=1CF=0B 有符号数乘2有符号数除2无符号数乘2无符号数除2C

REP MOVSB REP LODSB REP STOSB REPE SCASB C

二进制数八进制数十进制数十六进制数C [AL+1][BX+SI][AL*2][BX+OFFSET BLOCK]C 1,0,5,2,2,1,2,3,4,5

5,2,2,1,2,3,4,1,2,

5,1,3,3,1,3,3,4,1,35,2,1,3,3,4,1,3,3,1C X DW 'ABCD'X DB 'A','B','C','

X DD 'ABCD'X DQ 'ABCD'B 以上5句为数据段定义

语句3、4分别为FIRS

语句2定义变量X是正确的所有答案都不正确D

MOV AL,[BX]INC [AX]MOV [AX],5JMP [BP]A 字节型字型字符型双字型C INT 10H INT 20H RET RET 2B 说明语句和定义语句指令语句和伪指令语

分支语句和循环语句顺序语句和非顺序语句B 在汇编语言编程中,必

在汇编语言编程中,

在汇编语言编程中,必须分别

在汇编语言编程中,必须B 3FFFH0FFFFH0FFFCH0FFF5H B 对两个无符号数进行比

对两个无符号数进行

对无符号数条件转移时采用J

对无符号数条件转移时采D 0005H0007H0011H0012H B JMP NEXT JC NEXT INC BX SHL AX, 1D CS*2*2*2*2+BX+SI SS*2*2*2*2+BX+SIDS*2*2*2*2+BX+SI ES*2*2*2*2+BX+SI C CS×10H+BX+SI SS×10H+BX+SI DS×10H+BX+SI ES×10H+BX+SI B LOOP指令以CX为循环控

LOOPZ指令循环的条件

LOOPZ指令循环的条件是CX≠

LOOPNZ指令循环的条件是B REP REPZ REPNZ LOOP D 在-128字节之内在+127字节之内在-128~+127字节之内在-256~+256字节之内C DF CF ZF OF A BX和DX DS和DX SI和DI SI和CX C 数据段代码段堆栈段附加段D AL AX BX DX B 循环次数已知循环次数未知循环次数累加循环次数不变A

CL

BX

CX IP C 不变考虑重新赋值置0置1B CF

SF

ZF

OF

C CX=0且ZF=0

CX=0或ZF=0

CX=0且ZF=1

CX=0或ZF=1

D 1

2

-1

-2

B CLD

STD

HLT

CWD

B CX=0或ZF=1CX=0且ZF=1CX≠0或ZF=1CX≠0且ZF=1D CX≠0且ZF=0CX≠0或ZF=0CX≠0且ZF=1CX≠0或ZF=1A STOSW LODSW SCASW CMPSW D STOSB LODSB SCASB MOVSB B CMPSW

LODSW

STOSW

SCASW

C AX,BX,CX,DX SP,BX,SI,DI CS,DS,ES,SS BX,BP,SI,DI

D CL

CX

AL

AX

B -126~129

-128~127

-127~128

-129~126

B 1

65535

65536

B 100H 102H 98H 0FEH D 0FEH 0FCH

104H

96H

B CALL SUBR CALL NEAR PTR SUBR

MOV BX, OFFSET SUBR

CALL NEAR PTR [BX]MOV BX, OFFSET SUBR CALL BX C 102H 100H 0FEH 104H A 100H 102H 104H 106H D 0FFFFH 00FFH 0001H 0FF01H C 00FFH 0FFFFH 0FF00H 0001H

B 直接寻址间接寻址变址寻址直接寻址与间接寻址D BX

DX SI DI

B 0~0FFH 0~0FFFFH 0~7FH 0~0FFFFFH A 0~0FFH

0~0FFFFH 100H~0FFFFH 0~0FFFFFH B X1 DB 15, 23MOV AX, X1X1 DW 'AC'MOV AX, X1X1 DB 80H, 256MOV AL, X1X1 DW 1234H MOV AL, X1B SI的内容SI所指向的内存字单I P+SI的内容

IP+[SI]A MUL BX IMUL BX

XOR AH, AH

MUL BX

CBW MUL BX C JMP NEXT

MOV BX, OFFSET

NEXT

JMP BX

MOV BX, NEXT

JMP BX

LEA AX, NEXT JMP AX

C

MOV AL, BYTE PTR DA MOV AL, HIGH DATA M OV AL, BYTE PTR DATA + 1MOV AX, DATA C

入口参数出口参数寄存器参数存储器参数A JMP IRET HLT RET D 宏汇编采用一对伪指令宏汇编必须先定义后宏调用在汇编过程中实现展开宏调用需要在展开时插入B PRIVATE EXTERN PUBLIC LOCAL C 在多重循环程序中, 内在汇编语言程序设计在汇编语言程序设计中, 循环在汇编语言程序设计中,D 循环控制部分循环工作部分循环设置部分循环结束部分B

MOV CX, 0

LOP: LOOP LOP MOV CX, 1 LOP: LOOP LOP MOV CX, 128

LOP: LOOP LOP

MOV CX,0FFFFH LOP: LOOP LOP A

弹出两个字节的内容压入两个字节的内容压入四个字节的内容弹出四个字节的内容C SP指针加2,然后从堆从堆栈中弹出两个字S P指针减2,然后从堆栈中弹从堆栈中弹出两个字节到B 在汇编语言程序内,每在汇编语言程序内,在汇编语言程序内,每一个过在汇编语言程序内,以过C

INT 10H

INT 20H

INT 16H

INT 1AH

B 主程序调用子程序子程序1调用子程序2子程序2调用子程序3子程序2调用子程序2D 绝对地址逻辑地址相对地址物理地址

C CALL~RET PROC~ENDP SUB~PROC

PROC~RET

B

REP MOVSB REP LODSB REP STOSB REPE SCASB A

XCHG AX, [BX][SI]MOV AX, [BX+SI]LEA AX, BX[SI]LEA AX, [BX][SI]D 置方向标志位根据串操作指令设置设置源操作数及目的操作数指源操作数和目的操作数都D REP LODSB REP SCASB REP CMPSB REP MOVSB D END 语句是一可执行语END 语句表示程序执E ND 语句表示源程序到此结束END 语句在汇编后要产生C CF=1CF=0CF=1和ZF=1CF=1和ZF=0D OF=1,CF=0OF=1,CF=1OF=0,CF=0OF=0,CF=1B

0DAH 0FAH 0F5H 0D0H C

AL=100H,BL=02H AL=64H,BL=0FEH AL=64H,BL=82H AL=100H,BL=0FEH B JBE(或JNA)

JNBE(或JA)

JNB(或JAE)

JB(或JNAE)B CMP BUF1, BYTE PTR CMP BUF1, BYTE PTR

MOV AL, BUF1

CMP AL, BUF2 + 2

MOV AL, BUF1

CMP AL, BUF2 + 3

B

MOV DA1, 37H MOV DA1+1, 35H MOV WORD PTR DA1, MOV WORD PTR DA1, '57'MOV DA1, '5'

MOV DA1+1, '7'D

表示结果中含1的个数表示结果中含1的个数表示该数为偶数表示结果中低八位含1的A DX:AX=0000:FF90H DX:AX=FFFF:0090HDX:AX=0000:0090H

DX:AX=FFFF:FF90H

C

MOV AX, BX MOV BX, AX PUSH AX

POP BX

MOV CX, AX

MOV AX, BX

MOV BX, CX

D

'DE''HC''CF''FC'D 汇编程序将伪指令翻译

伪指令是在执行时完

伪指令的功能是指示、引导汇

当汇编结束后,目标程序C 0ABCDH0AB9AH55CDH559AH C DB 45H DW 0ABCDH DW 'ABCD'DD 'AB'C 0036H3412H0046H1234H D 0310H0110H0304H0104H B 无段地址和偏移地址在DS和BX中在ES和BX中在SS和SP中B AX=1001H AX=0FFFH AX=1000H AX=0111H B STD STI CLD CLI A

TEST BL, 4FH JZ NEXT XOR BL, 4FH

JZ NEXT

AND BL, 4FH

JZ NEXT

OR BL, 4FH

JZ NEXT

B

DA1 DW 'AB'DA1 DW 'BA'DA1 DW 0ABH DA1 DW 0BAH B 把源操作数的符号位扩

把AL中的符号位扩展

把AH中的符号位扩展到AL中把AX中的符号位扩展到D B JNE K1JZ K1JS K1JC K1A

0030H0031H0032H0033H A

0041H4100H XX41H41XXH A 直接寻址间接寻址立即数寻址存储器寻址C 0100H55AAH AA55H4100H A

06H14H05H16H D 01377H01378H01380H01400H C IN AX, DX MOV BL, AL MOVSB SHL AX, 6D

0003H0300H0400H0004H B

INC AX DEC AX NOT AX NEG AX D

CMP CX, 0 JZ ZERO MOV AX, CX

JZ ZERO

OR CX, CX

JZ ZERO

JCXZ ZERO B

AL中BL中CL中DL中A ADD SI, 1ADD SI, 2ADD SI, 3ADD SI, 0B

MOV BX, BUF INC BX MOV BUF, BX MOV BX, OFFSET

BUF

INC WORD

PTR[BX]

MOV BX, BUF

INC WORD PTR[BX]

MOV BX, 0

INC WORD PTR

BUF[BX]

C

可以段内直接调用可以段间间接调用可以段间直接调用只能段间调用D CALL指令本身CALL的下一条指令CALL的下一条指令的地址子程序名C 将SUBR1的偏移地址入

将下一条指令的偏移

将下一条指令的偏移地址→I

将SUBR1的段地址→CS,B 先弹出偏移地址→IP,

先弹出段地址→CS,

弹出偏移地址→IP弹出段地址→CS A 保存CALL指令保存返回地址保存主程序用到的寄存器保存子程序用到的寄存器D CALL指令和RET指令都

只有CALL指令使用堆

只有RET指令使用堆栈CALL指令和RET指令都不A CALL指令从堆栈中取出

RET指令从堆栈中取出

CALL指令从堆栈中取出返回地

RET指令从堆栈中取出返D 先将返回地址的段地址

先将返回地址的偏移

先将SUBR2的段地址入栈,再

先将SUBR2的偏移地址入A 现场恢复必须在RET之

现场恢复可以在RET之

直接用RET返回,就可实现现

必须用JMP指令才可恢复A 中断类型号中断服务程序中断服务程序的入口地址中断源C 中断向量表就是中断向

中断向量表中保存的

中断向量表中保存的是中断类

中断向量表中保存的是中B 内存最低端内存最高端BIOS中系统CMOS中A 保存返回地址保存标志寄存器将IF和TF清零中断源有优先级A INTR引脚NMI引脚中断标志IF INT n指令A INTR引脚INT n指令数据总线中断源C 开放所有屏蔽中断允许低一级中断产生

允许高一级中断产生允许同一级中断产生C 0CH,23FF:00F0H0BH,F000:FF23H0BH,00F0:23FFH0CH,F000:FF23H B ROM区程序计数器堆栈区CPU的暂存寄存器C 断点中断非屏蔽中断单步中断指令中断C 0:0FH0:1EH0:3CH0:78H C

相关主题
文本预览
相关文档 最新文档