第二部分 指令系统及汇编语言程序设计_第1页
第二部分 指令系统及汇编语言程序设计_第2页
第二部分 指令系统及汇编语言程序设计_第3页
第二部分 指令系统及汇编语言程序设计_第4页
第二部分 指令系统及汇编语言程序设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二部分:指令系统及汇编语言程序设计一选择题1指令ADD CX,55HBP的源操作数的寻址方式是( )。(A) 寄存器寻址 (B) 直接寻址 (C) 寄存器间接寻址 (D) 寄存器相对寻址2设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。(A) 113AH (B) 114AH (C) 1144H (D) 1140H3若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。(A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=14已知(BP)=0100H,(DS

2、)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,BP执行后,(BX)=( ) 。(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5实模式下80486CPU对指令的寻址由( )决定。 (A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP6使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0) 则在VAL存储区内前十个字节单元的数据是( )。(A) 1,2,3,3,2,1,

3、0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1 (C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,17下列四条指令都可用来使累加器清0,但其中不能清进位位的是( ) 。(A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL8若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。 (A) 0FBH (B) 01H (C) 61H (D) 0BH9下列能使CF标志置1的指令是( ) 。(A) CMC (B) CLC (C) STC (D) CLD10

4、MOV AX,BP+SI隐含使用的段寄存器是( )。(A) CS (B) DS (C) ES (D) SS11设AL=7FH,要使AL=80H,应使用下列哪一条指令( )。 (A) AND AL,80H (B) OR AL,80H (C) XOR AL,80H (D) NOT AL12在执行十进制调整指令 DAA,DAS之前必须将结果存放于( )中。 (A) AX (B) AH (C) AL (D) BL13下列指令执行后影响标志位的是( ) 。 (A) MOV (B) PUSH (C) ADD (D) XCHG14唯一能对应存储单元的地址是( )。(A) 物理地址 (B) 端口地址 (C)

5、有效地址 (D) 逻辑地址15计算机能直接执行的语言是( )。(A) 机器语言 (B) 汇编语言 (C) 高级语言 (D) 程序设计语言16需采用先进后出原则操作的存储区是( )。(A) 寄存器组 (B) 地址缓冲器 (C) 数据寄存器 (D) 堆栈区17寄存器SP用于对( )的操作。(A) 空闲单元 (B) 堆栈单元 (C) 数据单元 (D) 指令单元18若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行LEA SI,BX指令后,SI寄存器的内容是( )。(A) 1234H (B) 3412H (C) 1000H (D)0010H 19若(

6、AL)=80H,执行 NEG AL指令后,CF和OF标志位的状态分别为( )。(A) 0和0 (B) 0和1 (C) 1和0 (D) 1和1 20若要完成(AX)*7/2运算,则在下列四条指令之后添加( )指令。 MOV BX,AX ;MOV CL,3 ;SAL AX,CL ;SUB AX,BX( ) 。(A) ROR AX,1 (B)SAL AX,1 (C)SAR AX,1 (D)DIV AX,2 21在保护模式下,代码段的段基址存在于( )中。 (A) 段选择符 (B) 指令指针寄存器 (C) 段寄存器 (D) 段描述符22查表指令XLAT规定,待查表的首址应存入( )中。(A) BP (

7、B) SI (C) DI (D) BX23将要取的某一条指令的偏移地址由( )提供。(A) SI (B) BP (C) SP (D) IP24寄存器间接寻址方式中,操作数在( )中。(A) 通用寄存器 (B) 堆栈 (C) 主存单元 (D) 段寄存器 25运算型指令的寻址和转移型指令的寻址,其不同点在于( )。(A) 前者取操作数,后者决定程序的转移地址 (B) 后者取操作数,前者决定程序的转移地址 (C) 两者都是取操作数 (D) 两者都是决定程序的转移地址26JMP WORD PTR DI是( )。 (A) 段内间接转移 (B) 段间间接转移 (C) 段内直接转移 (D) 段间直接转移27

8、INC指令不影响( )标志。(A) OF (B) CF (C) SF (D) ZF28逻辑移位指令SHL用于( )。(A) 带符号数乘2 (B) 带符号数除2 (C) 无符号数乘2 (D) 无符号数除229算术移位指令SAR用于( )。(A) 带符号数乘2 (B) 带符号数除2 (C) 无符号数乘2 (D) 无符号数除230下列指令中,有语法错误的是( )。(A) MOV SI,AX (B) IN AL,DX (C) XOR AX,1234H (D) OUT 210H,AL31在下列伪指令中定义字变量的是( )。(A) DD (B) DW (C) DQ (D) DT32下列指令中,能使AL的内

9、容固定为偶数的是( )。(A) ADD AL,01 H (B) OR AL,0FEH (C) AND AL,0FEH (D) XOR AL,0FEH33改变( )寄存器的值,可改变堆栈中栈顶元素的位置。(A) BP (B) IP (C) SP (D) BX34加减类运算指令对标志位的状态( )。(A) 有影响 (B) 部分影响 (C) 无影响 (D) 任意35当AH=( )时,执行INT 21H指令可在屏幕上显示一组字符。(A) 01H (B) 02H (C) 09H (D) 0AH36已知VAR DW 1,2,$+2,5,6 若汇编时VAR分配的偏移地址是2010和,则汇编后2014H单元的

10、内容是( )。(A) 6H (B) 14H (C) 5H (D) 16H37若某数据段位于存储区68000H7FFFFH,则该数据段的段基址是( )。(A) 68000H (B) 7FFFFH (C) 6000H (D) 6800H38SP的作用是用来指示( )。(A) 栈顶元素的有效地址 (B) 下一条要执行指令的地址(C) 下一条要取的指令的地址 (D) 栈底元素的有效地址39在数据传送指令执行过程中,不能直接与立即数进行传送的是()。(A)通用寄存器 (B)段寄存器 (C)存储器 (D)通用寄存器和存储器40转移类指令对标志位的状态( )。(A)有影响 (B)部分影响 (C)无影响 (D

11、)随意41欲从存储单元取某操作数,可采用( )。(A) 寄存器寻址、寄存器间接寻址 (B) 立即寻址、直接寻址(C) 立即寻址、寄存器间接寻址 (D) 寄存器间接寻址、直接寻址42在指令MOV AX,0 执行后,CPU状态标志位ZF的取值( )。(A)为0 (B)为1 (C)不确定 (D)不改变43已知AL=10010111H,BL=00010101H,执行ADD AL,BL指令后,OF、SF、CF、ZF标志的状态为( )。(A) 1、0、1、1 (B)1、1、0、0 (C)0、0、1、1 (D) 0、1、0、144下列指令中,错误的是( )。(A) MOV BX,OFFSET BUF (B)

12、 LEA SI,BUF(C) LEA DI,OFFSET BUF (D) MOV BP,SEG BUF45输入/输出指令对标志位的状态( )。(A)有影响 (B)部分影响 (C)无影响 (D)任意46下列描述正确的是( )。(A) 汇编语言仅由指令性语句组成 (B) 汇编语言包括指令性语句和伪指令语句(C) 指令性语句和伪指令语句的格式是完全相同的 (D) 指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行47下列指令中不属于逻辑运算指令的是( )。(A)XOR (B)CWD (C)NOT (D)OR48假定DX=10111001B,CL=3,CF=1,则执行指令SHL DX,CL后,

13、DX的值为( )。(A)005CH (B)0017H (C)1700H (D)05C8H49下列指令中不会改变指令指针寄存器内容的是( )。(A)MOV (B)JMP (C)CALL (D)RET50伪指令ENDP告诉汇编程序( )。(A)宏定义结束 (B)过程定义结束(C)段定义结束 (D)过程运行结束51利用DOS系统功能调用的9号(AH=9)功能,显示一个字符串,其入口参数应为( )。(A)DS:DX=字符串首地址 (B)DS:DX=字符串末地址(C)CS:DX=字符串首地址 (D)CS:DX=字符串末地址52在下列伪指令中定义双字变量的是( )。(A) DB (B) DW (C) DD

14、 (D) DT二、判断题1指令MOV AX,BX的源操作数是寄存器寻址方式。2对堆栈区的操作必须遵循先进先出的原则。3比较两个带符号数的大小,可根据CF标志来判断。4逻辑操作符AND,OR,XOR和NOT,只能用于数字表达式。5不能给段寄存器赋立即数。6OF位可用来表示有符号数的溢出。7无条件转移指令只能用于段内直接转移。8MOV AX,BP的源操作数的物理地址为16*(DS)+(BP)。9指令MOV DI,OFFSET BXSI是正确的。10指令MOV CS,BX是非法的。11指令NOT AX,BX是合法的。12MOV BXBP,AX是对的。1380486中对堆栈单元的存取操作是以字节为单位

15、的。14JMP指令要影响标志位。15INC指令影响所有状态标志。16欲交换寄存器SI,DI的内容,可用指令XCHG SI,DI实现。17CPU中的程序计数器IP中存放的是指令的逻辑地址。18两个符号相同的数相减不会产生溢出。19汇编程序就是汇编语言程序。20相对寻址中的位移量只能用16位表示。21CLD指令是MOVSB指令的使用条件之一。22段寄存器间不能直接进行数据传送。23要把变量BUFF的有效地址送给BX,可用MOV BX,BUFF指令。24当对堆栈段的数据进行操作时,其操作数的有效地址可保存在BP中。25TEST指令属于逻辑运算指令。26CS和IP都不能作传送指令的目的操作数。三、填空

16、题1若SS=5310H,SP=0E30H,其物理地址为( )。2若CH=07H,CL=08H,执行指令ADD CH,CL后,AF=( ),CF=( ),OF=( ),PF=( )。3指令由( ) 和( ) 两个字段构成。4 条件转移指令JNE的测试条件是( )。 5若用指针(BP)访问存储器,则数据包含在( ) 段中。6 若AX=1234H,SP=1000H,指令PUSH AX执行后AX=( ),SP=( ) 。7指令采用( )寻址方式时操作数是在代码段中。四、阅读程序1 程序中数据定义如下:DATA1 DW ?DATA2 DB 32 DUP(?)DATA3 DD ?COUNT EQU $-D

17、ATA1此时COUNT 的值是( )。2分析下列程序段,说出其功能。MOV AX,1000HMOV DS,AXMOV ES,AXMOV SI,0100HMOV DI,0200HMOV CX,50DREP MOVSB3 写出下列程序段的功能MOV BX,2000HMOV DS,BXXOR AL,ALMOV CX,100AGAIN: MOV BX,ALINC BXLOOP AGAIN4写出下列程序段的功能LEA SI,BUFFERLEA DI,ARRAYMOV CX,100XOR BL,BLLP: CMP SI,01HJNZ LP1INC BLLP1:INC SILOOP LPMOV DI,BL5

18、写出下列程序段的功能MOV CX,16MOV AX,NMOV BH,0LP0: SHL AX,1JC LPINC BHLP: LOOP LP0MOV SUM,BH6写出下列程序段的功能MOV AL,NAND N,0FHMOV BL,NSHR AL,4MOV BH,AL7执行下列程序段后,AX=?MOV AX,0702HMOV BH,09HAAD DIV BH8下面程序段执行后AL=?ABC DW 2152H,3416H,5731H,4684HMOV BX,OFFSET ABCMOV AL,3XLAT9执行下面的程序段后AX=?MOV CX,5MOV AX,50NEXT: SUB AX,CXLO

19、OP NEXTHLT10 执行下面的程序段后 AX=?TAB DW 1,2,3,4,5,6ENTRY EQU 6MOV BX,OFFSET TABADD BX,ENTRYMOV AX,BX11 执行下面程序段后 AX=ARRAY DW 1,2,3,4,5,6,7,8,9,10 COUNT EQU $-ARRAYXOR AX,AXMOV CX,COUNTMOV SI,OFFSET ARRAYNEXT:ADD AX,SIINC SILOOP NEXT12写出下列程序段的功能MOV AH,1INT 21HAND AL,0FHMOV BL,ALMOV AH,1INT 21HSHL AL,4AND AL

20、,BL将从键盘接受到的两个字符拼在一起13执行下列程序段后N DB 07HXOR BH,BHMOV BL,NRCL BL,1ADD BH,BLXOR BH,0FFHHLT寄存器BH的值是 ,寄存器BL的值是 。14 分析下列程序段MOV AL,NXOR AH,AHMOV CL,4DIV CL当N=3CH时,程序执行完后AX=15程序段如下:CLCMOV AL,6MOV BL,9ADD AL,BLMOV BL,ALDAA执行上面程序段后,AL= ,AF= ,BL= 16执行下列指令后TABLE DB 19H,55H,9CHLEA BX,TABLEMOV AL,BXXOR AL,89HMOV BX

21、,AL寄存器AL的值是 17分析下列程序段,说明该程序段执行何种功能。MOV CX,10MOV DL,30HNEXT1:MOV AH,2INT 21HINC DLLOOP NEXT118执行下列指令后MOV AX,1245HMOV BX,5689HADD AL,BLMOV CL,ALMOV AL,AHADC AL,BHDAA寄存器AL的值是 ,寄存器CL的值是 19分析下列程序段:MOV AL,NXOR AH,AHMOV BL,16DIV BL当N=57H时,程序执行完后AX=?20在下面程序的括号中分别填入如下指令: LOOP XH LOOPNE XH LOOPE XH问在这三种情况下,当程

22、序执行完后,AX、BX、CX、DX四个寄存器中的内容分别是什么?START:MOV AX,04MOV BX,02MOV CX,03MOV DX,05XH:INC AXADD BX,AXSHR DX,1( )HLT21阅读程序,请说出该程序的功能是什么?MOV AX,DATAMOV DS,AXLEA SI,BUFFERXOR BL,BLMOV CX,100AGAIN: MOV AL,SITEST AL,1JNZ NEXTINC BL NEXT: INC SILOOP AGAINHLT22从键盘上接收一字符,若是“Y”转YES,是“N”转NO,否则继续等待,到输入“Y”或“N”为止。程序段如下:M

23、OV AL,NAND AL,0FHADD AL,90HDAAADC AL,40HMOV RUT,ALHLT问: 若N=5,下列程序执行后AL=? 该程序段的功能是什么?23执行下列程序段后:DATA SEGMENTDT1 LABLE WORDDT2 DB 12H,34HDATA ENDSMOV AL,DT2MOV DX, DT1寄存器AL的值是 ,寄存器DX的值是 。24读下列程序,请说出该程序的功能是什么?DATA SEGMENTSUM DW 0DATA ENDSSTACK SEGMENTDB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS

24、:STACK,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV CX,50MOV AX,0MOV BX,1NEXT: ADD AX,BXINC BXINC BXDEC CXJNE NEXTMOV SUM,AXMOV AH,4CHINT 21HCODE ENDSEND START25设伪指令定义如下,请画出内存分配示意图。BUF DB ?DW ABDW CDW 1234H DB EF26执行下列程序段后: DATA SEGMENTDT1 DW 8A9BHDT2 DB 7CH, 6DHDATA ENDS MOV AX, DT1MOV BX, OFFSET DT1MOV S

25、I, OFFSET DT2寄存器BX的值是 ,寄存器SI的值是 。27执行下列指令后: TABLE DB 10H,33H,41HMOV BX,OFFSET TABLEMOV AL,BXXOR AL,80HMOV BX,AL寄存器AL的值是多少?28执行下列程序段后:DATA SEGMENTN1 DW 3355HN2 DB 23H, 89HDATA ENDS MOV AX, N1MOV DI, OFFSET N1MOV BP, OFFSET N2寄存器DI的值是多少?寄存器BP的值是多少?29执行下列指令后:DAT DB 10H,33H,41HLEA BX,DATMOV AX,SEG DATMO

26、V ES,AXMOV AL,ES:BXXOR AL,80HMOV ES:BX,AL寄存器AL的值是多少?30执行下列程序段后: BUF DB 01HXOR AL,ALMOV AL,BUFMOV BL,ALSAL AL,1ADD AL,BLXOR AL,0FFHHLT寄存器AL的值是多少?寄存器BL的值是多少?五程序填空1下列程序是在键盘上输入120个字符,然后将输入反序后显示在屏幕上。请将程序填写完整。STACK1 SEGMENT STP DW 120 DUP ( ? )STACK1 ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK1START: MOV AX,

27、STACK1MOV SS, AXMOV SP, SIZE STP MOV CX,120LOOP1: MOV AH,01HINT 21HPUSH AX( ) MOV DL,0AHMOV AH, 02HINT 21HMOV DL, 0DHINT 21HMOV CX, 120LOOP2: ( ) MOV AH,02HINT 21HLOOP LOOP2MOV AH,4CHINT 21HCODE ENDSEND START六、编写程序1在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。2试编程实现,从键盘接收N个(N60)8位二进制数,统计其中奇数的个数,并将结果显示在屏幕上。3已知有100字节的数据块存放在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论