汇编语言程序设计期末复习题.pdf
欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 汇编语言程序设计复习题 一、选择题 1下面的数值表示中,和 127 相等的是哪一个(D)(A)11111111B (B)127H(C)80H (D)7FH 2如果(AL)=35H,执行 AND AL,0FFH 指令后,CF=(A);CF 为进位位(A)0 (B)1(C)2 (D)和执行 AND AL,0 指令前的取值保持一致 3 如果(SP)=30H,执行 PUSH BX 指令后,(SP)=(B);SP SP-2(A)28H (B)2EH(C)32H (D)31H 4如果(AL)=01111111B,执行 INC AL 指令后,CF=(D)(A)1 (B)0(C)2 (D)和执行 INC AL 指令之前的取值保持一致 5LOOP 指令隐含使用并用作循环记数器的是哪一个寄存器(A)(A)CX (B)BX (C)AL D)SI 6在 DEBUG 中,T 命令的功能是(C)(A)观察某内存单元的当前内容 (B)连续运行被调试的程序(C)单步执行下一条指令 (D)修改指定寄存器的内容 7如果当前(BL)=57H,执行指令 ADD BL,0F0H 后,OF 标志位的取值为(B);P25(A)1 (B)0(C)不确定 (D)与执行该指令前的取值保持一致(注:若两个操作数的符号相同,而结果的符号与之相反时 OF=1,其他情况 OF=0)8如果(AL)=01100011B,(AH)=00100010B,执行 ADD AL,AH 指令后,正确的结果为(B)(A)(AL)=01100011B,CF=0 (B)(AL)=10000101B,CF=0(C)(AL)=00100101B,CF=1 (D)(AL)=10000101B,CF=1 9条件转移指令的最大转移范围为(B);规定见 P126(A)没有转移范围的限制 (B)-128 到 127 个字节(C)-32768 到 32767 个字节 (D)0 到 255 个字节 10如果(AL)=0DH,执行 SUB AL,80H 指令后,正确的结果为哪一个(A)(A)(AL)=8DH,OF=1 (B)(AL)=0DH,OF=0 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2(C)(AL)=8DH,OF=0 (D)(AL)=0D1H,OF=1(注:若减数大于被减数,此时有借位,CF=1;否则 CF=0;若减数与被减数的符号相反,而结果的符号与减数相同,则 OF=1;否则 OF=0。)11如果(SP)=80H,执行指令 CALL FAR PTR PR1 后(SP)=(C)(A)80H (B)84H(C)7CH (D)7EH 12如果数据段中一个内存单元对应的物理地址为 2F724H,(DS)=2F00H,那么使用 DS 段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元(C)(A)0024H (B)0F724H(C)0724H (D)2724H 13如果要读取 80H 号端口的内容,下面的指令哪一个能够实现该功能(D)(A)IN BL,80H (B)MOV AL,80H(C)INT 80H (D)IN AL,128 14以下描述正确的是(C)(A)偏移量与位移量是同一个概念 (B)段基值与段基址是同一个概念(C)SHL 与 SAL 指令没有任何区别 (D)SHR 与 SAR 指令没有任何区别 15如果(AL)=66H,执行如下程序片段后,正确的执行结果为(B)STC OR AL,1 ADC AL,82H(A)(AL)=0E9H,CF=1 (B)(AL)=0E9H,CF=0(C)(AL)=0EAH,CF=0 (D)(AL)=0EAH,CF=1 16以下串操作指令中,哪一条指令会影响标志位?(C)(A)LODS (B)STOS (C)CMPS (D)MOVS 17如果(AL)=03H,(BL)=05H,执行如下程序片段后,正确的执行结果为以下哪一个(C)SUB AL,BL AAS(A)(AL)=0FEH,CF=1 (B)(AL)=0F8H,CF=1(C)(AL)=08H,CF=1 (D)(AL)=08H,CF=0 18若当前(DL)=48H,执行指令 AND DL,0F0H 后,(DL)=(C)(A)04H (B)08H (C)40H (D)84H 19如果(SI)=0088H,(DS)=5570H,对于物理地址为 55788H 的内存字单元,其内容为 0235H,对于物理地址为 5578AH 的内存字单元,其内容为 0E60H,那么执行指令 LDS SI,SI以后,正确的执行结果为(C)(A)(DS)=5570H,(SI)=0088H (B)(DS)=0235H,(SI)=0E60H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3(C)(DS)=0E60H,(SI)=0235H (D)(DS)=0088H,(SI)=5570H(该指令的作用:1.(REG)(REG);2.把(SEG+2)中的 16 为数装入指令指定的段寄从器中)20下列条件转移指令中,哪一个是针对带符号数比较的(B)(A)JB (B)JL (C)JAE (D)JC 二、填空题 1 Pentium系列的四种工作方式是:实地址方式(又称 R方式)、保护方式(又称 P方式)、虚拟方式(又称 V86方式)、系统管理方式(又称 SM 方式)。P58 2 BCD码表示的数称为 BCD数,有两种基本的表示形式:压缩 BCD数和非压缩 BCD数。P11 3 计算机存取数据或信息的最小单位是字节。但是按数据类型存取时,则是字节的倍数。P13 4 存储器中存放字类型的数据时,字单元的高位数据放在其高地址字节单元中,字单元的低位数据放在其低字节地址单元,即按“低对低,高对高”的存储原则,从数据要存放的起始(低)字节地址连续存储。P28 5 PC 系列存储器采用分段寻址,是因为对于整个存储区的安排及空间划分方面,考虑到多任务、多作业并行时便于共享存储器的需要。P29 6 存储段内的每个单元的物理地址 PA,用“段基址:段内偏移地址”来表达。P29 7 寻址是寻找操作数的地址。一般情况下,指令并不直接给出操作数,而是给出存放操作数的位置或存放操作数的存储单元地址,或者形成程序转移地址等多种多样的寻址方式。因而指令寻址方式较为复杂。P47 8 编写程序常用的指令,大致分为七类:数据传送类指令、算术运算类指令、逻辑和移位操作类指令、串操作与重复前缀类指令、控制转移类指令、处理机控制类指令和其它指令。P6061 9 一个完整的机器语句格式是:标号:指令前缀 助记符 操作数;注释。P74 10 伪指令语句的格式为:名字 伪操作命令 参数,参数;注释P75 11 数值表达式是常量或运算符和常量的组合。表达式的值是在汇编阶段已经确定或由计算得到的值。P75 12 变量、标号和地址表达式用来书写存储器操作数的地址或程序指令的转移地址。P77 13 强制类型运算符 PTR,强制说明某个地址表达式的类型属性,其原来的段属性和 EA 属性不变。P79 14 定义类型运算符 THIS,用于建立同一地址而类型不同的变量或标号,方便按不同类型存取变量或程序发生转移。P80 15 LABEL语句伪指令为其左边的名字定义为右边的类型属性,并指出当前存储单元变为另一个指定类型的变量或标号。P84 16 置汇编单元计数器语句 ORG 格式:ORG 表达式 ORG$+表达式 其中,表达式的值必须为常量。汇编地址计数器的当前值(当前 EA)用符号“$”来表示。P88 17宏指令必须先定义后调用。宏指令可以重新定义,也可以嵌套定义。P91 18 宏运算符&用来连接文本或符号。宏运算符%把跟在其后的实参数转换成当前基数(默认十进制数)表示的一个数。P93 19 多分支结构程序设计的三种基本方法是:逻辑分解法、地址表法和转移表法。P134 20 主程序与子程序之间传递参数的方法有:寄存器法、约定单元法、地址表法和堆栈法。P169、170 三、名词解释 1 机器语言 答:是一种用二进制代码编写指令和程序的语言。P14 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!4 2 汇编语言 答:是用助记符代替指令的操作码,用数字或符号代替指令中操作数或操作数存放位置的一种程序设计语言。P15 3 字节存储单元 答:存储器中以字节为基本单位存储数据的单元。P27 4 存储单元的内容 答:指该单元存放的二进制数据(常用 16 进制书写)。P28 5 堆栈 答:是方便实现程序要求保留和恢复有关信息的特殊存储部件。P32 6 直接寻址 答:指令操作码 OP 后直接给出操作数的 16 位偏移地址 EA。P49 7 基址变址寻址 答:操作数的偏移地址 EA 是由指令说明的一个基址寄存器和一个变址寄存器的内容之和。P51 8 标号 答:意指在代码段内定义和使用的指令地址,有 3个属性(特性):段地址、段内偏移地址EA 和类型。P77 9 变量 答:是内存中一个数据区的名字,作为指令的存储器操作数来引用。P77 10 寄存器法 答:就是子程序的入口参数和出口参数存放在约定的寄存器中。P170 四、判断分析题,每小题列出的语句在语法上可能是正确的,也可能是错误的,请判断各小题所给语句在语法上是否正确,如果是错误的,则需要分析其错误原因。1MOV DS,0F98H 答:错误,不能传递立即数给 DS 寄存器 2POP AH 答:错误,POP 指令的操作数必须为 16 位 3SHL AX,BL 答:错误,移位次数必须使用 CL 寄存器给出 4MUL CL,DL 答:错误,MUL 指令为单操作数指令 5PUSH 5588H 答:错误,操作数不能用立即数;6MOV DS,1720H 答:错误,MOV指令不能对段寄存器直接传送立即数;7ADD AX,CL 答:错误,寄存器长度不匹配;8AND AX,DX 答:错误,DX 不用于存储器寻址。五、程序分析题,每小题给出了一个程序片段,这些程序片段在语法和逻辑上都是正确的,请按照各小题给出的分析要求,分析程序片段的执行结果或总结程序片段的功能,并在空白处填写分析结果,1阅读下面的程序片段,并分析执行结果。MOV AX,723AH MOV BX,0C86BH SUB AL,BL SBB AH,BH XOR AL,01H ADC AX,0 执行该程序片段后:(AX)=0A9CEH CF=0 OF=0 2阅读下面的程序片段,并分析执行结果。MOV AL,55H MOV CL,2 ROL AL,CL 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!5 OR AL,1 RCL AL,CL 执行该程序片段后:(AL)=56H CF=1 (CL)=2 3 MOV AX,7452H ADD AL,AH DAA XCHG AH,AL SUB AL,AH DAS 程序段运行后,AX=_2648H_,CF=_0_。4 已知 AX=7865H,BX=89AAH CLC ADD AX,BX OR BX,AX RCR AX,1 RCL BX,1 程序执行后,AX=_0107H_BX=_175FH_CF=_1_ 5 阅读如下程序片段 MOV AL,4CH MOV BL,,0B5H ADD AL,BL 执行上述程序片段后,(AL)=01H ,(BL)=0B5H ,CF=1 6 阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H MOV BX,0024H LEA BX,BX AND BX,0FFH ADC BX,BX 执行上述程序片段后,(BX)=287AH ,(CF)=0 ,7阅读如下程序片段 MOV AL,7EH MOV CL,02H ROL AL,CL 执行上述程序片段后,(AL)=0F9H ,(CL)=02H ,CF=1 8阅读如下程序片段 MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX 执行上述程序片段后,(AX)=4431H ,(CF)=1 9阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H MOV BX,0024H LEA BX,BX OR BX,0 ADC BX,BX 执行上述程序片段后,(BX)=287AH ,(CF)=0 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!6 10 阅读如下程序片段,假设(SP)=0064H MOV AX,0001H MOV BX,0002H PUSH AX PUSH BX POP AX POP BX 执行上述程序片段后,(AX)=0002H ,(BX)=0001H ,(SP)=0064H 六、程序设计题,每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。1、将 BUF 中的一字节压缩 BCD 码转换为 ASCII 码显示输出。P124 解:根据题目要求,编写程序如下:DATA SEGMENT BUF DB 34H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DL,BUF;MOV CL,4 SHR DL,CL ADD DL,30H MOV AH,2 INT 21H MOV DL,BUF AND DL,0FH ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 2、设 X、Y、Z 为有符号字变量,编写计算表达式 R=(X*Y+5)+4*X)/Z。P122 解:根据题意,其程序如下:DATA SEGMENT X DW?Y DW?Z DW?R DW 2 DUP(0)欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!7 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,X IMUL Y ADD AX,5 ADC DX,0 MOV CX,DX MOV BX,AX MOV AX,X MOV SI,4 IMUL SI ADD AX,BX ADC DX,CX IDIV Z MOV R,AX MOV R+2,DX MOV AH,4CH INT 21H CODE ENDS END START