汇编语言期末考试黄金卷
- 格式:doc
- 大小:46.50 KB
- 文档页数:6
汇编语言期末试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. JMPD. CALL答案:A2. 在汇编语言中,以下哪个指令用于实现无条件跳转?A. JZB. JCC. JMPD. JS答案:C3. 假设当前数据段的偏移地址是1000H,那么以下哪个地址是有效的内存地址?A. 1000HB. 2000HC. 3000HD. 4000H答案:B4. 在汇编语言中,以下哪个寄存器用于存储当前指令的偏移地址?A. AXB. BXC. IP答案:C5. 假设AL寄存器的值为0F6H,执行指令AND AL, 0F0H后,AL寄存器的值是多少?A. 0F0HB. 0F6HC. 0F0HD. 00H答案:D6. 以下哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A7. 在汇编语言中,以下哪个指令用于实现循环操作?A. LOOPB. JZC. JMPD. CALL答案:A8. 假设CS寄存器的值为1000H,IP寄存器的值为0100H,那么当前指令的物理地址是多少?A. 10000HB. 10100HC. 11000HD. 11100H9. 在汇编语言中,以下哪个指令用于实现子程序的调用?A. JMPB. CALLC. RETD. INT答案:B10. 假设DX寄存器的值为1234H,执行指令SHL DX, 1后,DX寄存器的值是多少?A. 2468HB. 1234HC. 0468HD. 0234H答案:A二、填空题(每题2分,共20分)1. 汇编语言中,指令MOV AX, [BX]表示将_________的值移动到AX寄存器中。
答案:BX寄存器指向的内存地址2. 汇编语言中,指令PUSH AX表示将AX寄存器的值压入_________。
答案:堆栈3. 汇编语言中,指令POP BX表示将堆栈顶的值弹出到_________寄存器中。
汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。
()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;C.1FFEH; D.2002H。
2. C二、指出下列指令的出错原因,并改正。
(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。
汇编语言期末考试试题一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将立即数或常量值送入寄存器?A. MOVB. ADDC. SUBD. MUL2. 汇编语言中的指令MOV AX, BX等价于以下哪个高级语言语句?A. AX = BXB. AX + BXC. AX - BXD. AX * BX3. 以下哪个指令用于将内存中的数据传送到寄存器?A. MOV AX, [BX]B. MOV [BX], AXC. ADD AX, [BX]D. SUB AX, [BX]4. 在汇编语言中,哪个指令用于实现无符号数的比较?A. CMPB. TESTC. JZD. JE5. 下列哪个指令用于实现条件跳转?A. JMPC. RETD. INT6. 汇编语言中的循环结构通常使用哪个指令来实现?A. LOOPB. JUMPC. JZD. JE7. 在汇编语言中,哪个指令用于实现子程序的调用?A. MOVB. CALLC. RETD. INT8. 汇编语言中的段寄存器CS用于存储什么?A. 数据B. 指令C. 代码段地址D. 堆栈地址9. 汇编语言中的指令PUSH AX和POP AX分别用于什么?A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容加到堆栈D. 将AX寄存器的内容减去堆栈10. 在汇编语言中,哪个指令用于实现中断调用?A. INTB. IRETD. STI二、简答题(每题5分,共10分)1. 解释汇编语言中的立即寻址方式和直接寻址方式的区别。
2. 描述汇编语言中如何实现一个简单的加法程序。
三、编程题(每题15分,共30分)1. 编写一个汇编程序,实现将AX寄存器中的值与BX寄存器中的值相加,并将结果存储在CX寄存器中。
2. 设计一个汇编程序,实现从键盘接收一个字符,然后将其转换为ASCII码对应的十进制数值,并显示在屏幕上。
四、综合应用题(每题40分)编写一个汇编程序,实现一个简单的文本编辑器功能。
汇编期末考试题及答案试题:汇编期末考试题一、选择题(每题2分,共20分)1. 汇编语言中,用于定义常量的指令是:A. EQUB. DBC. DWD. DD2. 下列哪个指令用于将立即数送入累加器:A. MOV AX, 5B. MOV AL, 5C. MOV [100], 5D. MOV AX, [100]3. 在汇编语言中,哪个指令用于将数据从内存传送到寄存器:A. MOV AX, [BX]B. MOV [BX], AXC. MOV AX, BXD. MOV BX, AX4. 汇编语言中的循环结构通常使用以下哪个指令来实现:A. LOOPB. JUMPC. CMPD. RET5. 以下哪个指令用于将寄存器的内容清除为0:A. XOR AX, AXB. MOV AX, 0C. CLR AXD. SET AX, 06. 在汇编语言中,用于计算两个寄存器内容的和并存储结果的指令是:A. ADD AX, BXB. MOV AX, BXC. SUB AX, BXD. CMP AX, BX7. 下列哪个指令用于设置中断向量表:A. MOV AX, [100H]B. MOV [100H], AXC. MOV AX, @DATAD. MOV @DATA, AX8. 在汇编语言中,哪个指令用于无条件跳转:A. JMPB. JEC. JNED. JZ9. 汇编语言中,用于将寄存器的内容与立即数进行比较的指令是:A. CMP AX, BXB. MOV AX, BXC. ADD AX, BXD. SUB AX, BX10. 下列哪个指令用于将累加器的内容输出到屏幕上:A. OUT 0E0H, ALB. MOV AL, 0E0HC. MOV DX, 0E0HD. MOV AX, 0E0H二、简答题(每题5分,共20分)1. 解释汇编语言中的段寄存器的作用。
2. 描述汇编语言中堆栈的工作原理。
3. 解释汇编语言中的宏定义和条件编译指令。
汇编语言期末考试试题汇编语言期末考试试题汇编语言作为计算机科学专业的一门重要课程,对于学生来说是一项必修课程。
期末考试是对学生所学知识的综合考核,下面将为大家提供一些汇编语言期末考试试题,希望对大家复习和备考有所帮助。
一、选择题1. 汇编语言是一种低级语言,它与高级语言相比的主要优势是:A. 代码简洁易懂B. 可以直接操作硬件C. 可以实现更高的性能D. 更易于调试和维护2. 在汇编语言中,用于表示寄存器的符号是:A. #B. $C. @D. %3. 在8086汇编语言中,用于表示立即数的符号是:A. #B. $C. @D. %4. 在汇编语言中,用于表示寄存器间接寻址的符号是:A. []B. ()C. {}D. <>5. 在汇编语言中,用于表示寄存器的通用寄存器是:A. AXB. BXC. CXD. DX二、填空题1. 8086汇编语言中,用于将立即数存储到寄存器中的指令是________。
2. JMP指令用于实现无条件跳转,其操作码是________。
3. MOV指令用于将数据从源操作数传送到目的操作数,其操作码是________。
4. 在8086汇编语言中,用于将数据存储到内存中的指令是________。
5. 在汇编语言中,用于表示标号的符号是________。
三、编程题请编写一个8086汇编语言程序,实现将一个数组中的所有元素相加,并将结果存储在指定的寄存器中。
解答:```DATA SEGMENTARR DB 1, 2, 3, 4, 5LEN EQU $-ARRSUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV CX, LENMOV SI, 0MOV AL, 0ADD_LOOP:ADD AL, ARR[SI]INC SILOOP ADD_LOOPMOV SUM, ALMOV AH, 4CHINT 21HCODE ENDSEND START```本程序首先定义了一个数据段,其中包括一个数组ARR和数组长度LEN,以及一个用于存储结果的寄存器SUM。
汇编语言a期末考试试题及答案汇编语言A期末考试试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将立即数加载到寄存器中?A. MOVB. ADDC. SUBD. JMP答案:A2. 在汇编语言中,哪个指令用于将一个寄存器的内容复制到另一个寄存器?A. MOVB. PUSHC. POPD. CMP答案:A3. 假设CS:IP指向当前执行的指令,那么DS:SI指向的是?A. 源地址B. 目的地址C. 下一条指令D. 前一条指令答案:A4. 以下哪个指令用于将一个字节的值从内存加载到寄存器?A. MOVC. MOVZXD. MOVSX答案:A5. 在汇编语言中,哪个指令用于比较两个寄存器的值?A. CMPB. TESTC. ANDD. OR答案:A6. 假设AL寄存器的值为0x0F,执行指令SHL AL, 1后,AL的值是多少?A. 0x0EB. 0x1EC. 0x07D. 0x1F答案:B7. 在汇编语言中,哪个指令用于无条件跳转到指定的地址?A. CALLB. JMPC. RETD. INT答案:B8. 以下哪个指令用于将寄存器的内容推送到堆栈中?A. PUSHB. POPC. CALL答案:A9. 假设CF标志位为1,执行指令RCL AX, 1后,AX的值会如何变化?A. 左移一位B. 右移一位C. 循环左移一位D. 循环右移一位答案:C10. 在汇编语言中,哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A二、填空题(每题4分,共20分)1. 在汇编语言中,指令MOV AX, 1234H的结果是将____值加载到AX寄存器中。
答案:1234H2. 指令PUSH AX的作用是将AX寄存器的内容压入到____中。
答案:堆栈3. 指令AND AX, BX的结果是将AX和BX寄存器的值进行____操作。
答案:逻辑与4. 指令JMP 0100H的作用是跳转到内存地址____执行指令。
汇编语言期末试卷及答案一、单项选择题1、CPU发出的访问存储器的地址是(A)。
A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。
A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]3、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR4、表示过程定义结束的伪指令是(A)。
A.ENDPB.ENDSC.ENDD.ENDM5、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B )。
A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。
A. ALB. BLC. CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。
A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP8、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是(B)。
A.1020HB.3020HC.2030HD.2010H9、将AX 清零,下列指令错误的是(C)。
A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H10、完成同指令XCHG AX,BX相同功能的指令或指令序列是(D)。
A. MOV AX,BXB. MOV BX,AXC. PUSH AXD. MOV CX,AXPOP BX MOV AX,BXMOV BX,CX11、JMP BX 的目标地址的偏移量为(A)。
A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。
1. 十进制数369转换成二进制数为(101110001)2,转换成十六进制数为(171)16.2. 计算机中的指令由(操作码)和(地址码)两部分组成。
3. 8086的地址总线有20根,寻址范围为(1M )字节。
4. 下一条将要执行的指令的地址存放在寄存器(指令指针寄存器)中。
5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。
6. 汇编语言源程序需经过(汇编)程序汇编,(连接)程序连接才能生成可执行文件。
7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=(27272H)8. REP指令前缀与(字符串)指令配合使用。
9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的(D )和(E )命令。
10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令(AND AL,3F );如果要求第0,1位变反,可使用指令(XOR AL,3F )11. 宏汇编适合于(程序短),(参数多)的子功能段使用;二、选择题1. 设字长N=16,有符号数7AE9H的补码表示为( D )A.9EA7H B. 76C4H C. 8417H D. 7AE9H2. 比较有符号数3260H与0B425H的大小关系为( C )A. 相等B. 小于C. 大于D. 不能比较3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( A )A.16 d x(DS)+(BX)+(DI) B.16d x(ES)+(BX)+(DI)C.16d x(SS)+(BX)+(DI) D.16d x(CS)+(BX)+(DI)4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( B )A.立即寻址 B.直接寻址 C.段内间接寻址 D.寄存器寻址5. 中断矢量表中存放的是( D )A. 中断类型号B. 断点地址C. 中断服务程序D. 中断服务程序入口地址6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( A )A. 段内的任何地方B. 距该指令偏移地址为-32768~+32767的地方C. 距该指令偏移地址为-128~+127的地方.D. 段外7. 能定义ASCII码字符串的数据定义语句有( D )A. DB,DW,DD,DQ,DTB. DB,DW,DDC. DB, DWD. DB;8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( C )A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=19. 比较指令CMP( D )A. 专用于有符号数比较B. 专用于无符号数比较C. 专用于串比较D. 不区分比较的对象是有符号数还是无符号数10. 数据传送指令对标志位的影响为( D )A.都不影响; B.都影响;C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响三、判断题( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。
汇编语言模拟试题及答案一,单项选择题〔在每题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每题1分,共20分〕1.指令JMPFARPTRDONE 属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.以下表达正确的选项是参考答案为:CA.对两个无符号数进行比拟采用CMP指令,对两个有符号数比拟用CMPS指令B.对两个无符号数进行比拟采用CMPS指令,对两个有符号数比拟用CMP指令C.对无符号数条件转移采用JAE/JNB 指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比拟都采用CMP指令;CMPS指令是串比拟指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔〔128-1=〕127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+〔128-1〕×2即12ABH×10H+00ABH+〔128-1〕×2=12C59H。
4.在以下指令的表示中,不正确的选项是参考答案为:CA.MOVAL,[BX+SI]B.JMPSHORTDONIC.DEC[BX]D.MULCL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DECBYTEPTR[BX] 或DECWORDPTR[BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
计算机汇编语言期末试题三篇篇一:计算机汇编语言期末试题一、选择题:(2×15,共30分)1.下面有语法错误的指令是()A. MOV AX,[BX][SI]B.MOV AX,-2[BX][DI]C. MOV AX,[BX][BP]D.MOV AX,-1[BX][SI]2.对寄存器AX的内容乘以4的正确指令序列是( )。
A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( ) A.85B92H B.86192H C.BB690H D.12169H4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,BP,DXD.CS,DS,ES,SS5.循环指令LOOPNZ终止循环的条件是( )。
A.CX=0,且ZF=0B.CX=0,或ZF=1C.CX10,且ZF=0D.CX10,或ZF=16.汇编语言语句格式中,对名字项的规定,请指出错误的解释()A. 名字的第一个字符只可以是大小写英文字母及?、@、__等B. 名字的第一个字符可以是大小写英文字母、数字、?、@、__等C. 名字的有效长度≤31个字符D. 名字从第二个字符起可以出现数字,但不允许出现$、#等字符7.在汇编语言程序的开发过程中使用宏功能的顺序是( )。
A.宏定义,宏调用B.宏定义,宏展开C.宏定义,宏调用,宏展开D.宏定义,宏展开,宏调用8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是()A. 14H B. 0104H C. 74H D. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是()A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.使用DOS功能调用时,子程序的编号应放在寄存器中()A. AHB. ALC. AXD. 任意指定12.下列语句中能实现留空8个字节单元的语句是()A. DA1 DT ?B.DA2 DW ?,?C. DA3 DD ?D.DA4 DQ ?13.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。
汇编语言期末考试黄金复习题及参考答案一、填空1. 十进制数369转换成二进制数为()2,转换成十六进制数为()16.2. 计算机中的指令由()和(地址码)两部分组成。
3. 8086的地址总线有20根,寻址范围为()字节。
4. 下一条将要执行的指令的地址存放在寄存器()中。
5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。
6. 汇编语言源程序需经过()程序汇编,()程序连接才能生成可执行文件。
7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=()8. REP指令前缀与()指令配合使用。
9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。
10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指令()11. 宏汇编适合于(),()的子功能段使用;二、选择题1. 设字长N=16,有符号数7AE9H的补码表示为( )A.9EA7H B. 76C4H C. 8417H D. 7AE9H2. 比较有符号数3260H与0B425H的大小关系为( )A. 相等B. 小于C. 大于D. 不能比较3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( )A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI)C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI)4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( )A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址5. 中断矢量表中存放的是( )A. 中断类型号B. 断点地址C. 中断服务程序D. 中断服务程序入口地址6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( )A. 段内的任何地方B. 距该指令偏移地址为-32768~+32767的地方C. 距该指令偏移地址为-128~+127的地方.D. 段外7. 能定义ASCII码字符串的数据定义语句有( )A. DB,DW,DD,DQ,DTB. DB,DW,DDC. DB, DWD. DB;8. 若(AL)=87H,执行ADD 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=1C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=19. 比较指令CMP( )A. 专用于有符号数比较B. 专用于无符号数比较C. 专用于串比较D. 不区分比较的对象是有符号数还是无符号数10. 数据传送指令对标志位的影响为( )A.都不影响;B.都影响;C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响三、判断题( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。
( )32. PC机以位作最小寻址单位。
( )33. 当SRC是立即数时,DST可以使用存储器寻址。
( )34. 指定各个逻辑段偏移地址可以使用ORG伪指令。
( )35. LOOPE/LOOPZ是相等/为零时转移到标号,其退出条件是(CX)=0或ZF=0。
( )36. POP IP( )37. 设327FH和0BFFFH为有符号数的补码表示,则327FH <0BFFFH( )38. 多个模块间的符号交叉引用要用伪指令PUBLIC和EXTRN说明( )39. MOV AX,VAR1-VAR2+100( )40. ADD [SI],50四、程序分析题1. A DW 1234HB DW 5678HPUSH APUSH BPOP APOP B试回答:上述程序段执行后(A)=,(B)=2. 分析下面程序段,MOV AL,200SAR AL,1MOV BL,ALMOV CL,2SAR AL,CLADD AL,BL试问程序段执行后(BL)=(AL)=3. STRING DB ‘ABCDEFGHIJ'MOV AH,01 ;从键盘输入字符1~9INT 21HAND AL,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV BL,[BX]MOV AH,02H ;显示输出INT 21H试回答:(1)上述程序段的功能是什么?(2)如从键盘输入字符‘4',程序段有什么结果?4. 有如下程序:AND AL,ALJZ BRCH1RCR AL,1JZ BRCH2RCL AL,1INC ALJZ BRCH3上述程序运行后,试回答:(1)当(AL)=时,程序转向BRCH1(2)当(AL)=时,程序转向BRCH2(3)当(AL)=时,程序转向BRCH35. 下列程序段完成什么工作?DAT1 DB 30 DUP(?)DAT2 DB 10 DUP(?)┇MOV CX,10MOV BX,20MOV SI,0MOV DI,0NEXT:MOV AL,DAT1〔BX〕〔SI〕MOV DAT2〔DI〕,ALINC SIINC DILOOP NEXT6. 下面程序段执行完以后,AL的内容是什么? MOV BX,00FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH7. 执行下列指令后,AX寄存器中的内容是什么? START DW 10H,20H,30H,40H,50HEE1 DW 3┇MOV BX,OFFSET STARTADD BX,EE1MOV AX,〔BX〕8. 试分析下面程序段的功能是什么?CMP AL,‘A’JC OTHERCMP AL,‘Z’+1JNC OTHERJMP LETTER┇OTHER:┇LETTER:┇五、程序填空题1. 设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。
TEST AX,8000HMOV PLW,BXJMP DONEK1:DONE:2. 现有下列数据段:DATA SEGMENTSTR1 DB‘ABCDEFGHIJKL'COUNT EQU -STR1BUF DB COUNT DUP(0)DATA ENDS下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。
试把程序中所空缺的指令填上。
MOV SI,OFFSET BUF-1MOV DI,OFFSET BUFMOV CX,COUNT__ __LOOP:MOVSB__ __LOOP LOP或者()六、程序设计题1. 编程序段计算SUM=∑ai=a1+a2+...+a20,已知a1......a20依次存放在以BUF为首址i=1的数据区,每个数据占两个字节,和数SUM也为两个字节。
(要求用循环结构编写,循环控制采用计数控制)。
(此题勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。
)2. 设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放了0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。
并写出主程序的调用方式。
数据段如下:DATA SEGMENTDAT DB XXHSQRTAB DB 0,1,4,9, (81)SQR DB?DATA ENDS3. 试编写出把DX、AX中的双字右移四位的程序段。
4. 定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。
汇编语言2005—2006学年第二学期期末考试复习题及参考答案一、填空1. 十进制数369转换成二进制数为(101110001)2,转换成十六进制数为(171)16.2. 计算机中的指令由(操作码)和(地址码)两部分组成。
3. 8086的地址总线有20根,寻址范围为(1M )字节。
4. 下一条将要执行的指令的地址存放在寄存器(指令指针寄存器)中。
5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。
6. 汇编语言源程序需经过(汇编)程序汇编,(连接)程序连接才能生成可执行文件。
7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=(27272H)8. REP指令前缀与()指令配合使用。
9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的(D )和(E )命令。
10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令(AND AL,3F );如果要求第0,1位变反,可使用指令(XOR AL,3F )11. 宏汇编适合于(程序短),(参数多)的子功能段使用;二、选择题1. 设字长N=16,有符号数7AE9H的补码表示为( D )A.9EA7H B. 76C4H C. 8417H D. 7AE9H2. 比较有符号数3260H与0B425H的大小关系为( C )A. 相等B. 小于C. 大于D. 不能比较3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( A ) A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI)C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI)4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( B )A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址5. 中断矢量表中存放的是( D )A. 中断类型号B. 断点地址C. 中断服务程序D. 中断服务程序入口地址6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( A )A. 段内的任何地方B. 距该指令偏移地址为-32768~+32767的地方C. 距该指令偏移地址为-128~+127的地方.D. 段外7. 能定义ASCII码字符串的数据定义语句有( D )A. DB,DW,DD,DQ,DTB. DB,DW,DDC. DB, DWD. DB;8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( C ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=19. 比较指令CMP( D )A. 专用于有符号数比较B. 专用于无符号数比较C. 专用于串比较D. 不区分比较的对象是有符号数还是无符号数10. 数据传送指令对标志位的影响为( D )A.都不影响;B.都影响;C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响。