汇编语言考试复习题及参考答案
汇编语言试题及答案

汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。
A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。
A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。
A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。
A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。
A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。
A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。
A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。
A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。
答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。
答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。
答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。
汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。
答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。
答案:100H:200H3. 汇编语言中,指令CALL的作用是________。
《汇编语言》试题(A4)及参考答案

《汇编语言》试题(A4)及参考答案题号一二三四总分评分一:选择题(每题2分)1.已知(AX)=56H,(BX)=0ACH,(CX)=10AH执行下列程序后(AX)=PUSH AXPUSH BXPUSH CXPOP BXPOP AXPOP CXA:5600H B:00ACH C:0056H D:010AH2.下面四条指令中,正确的指令有( )几条.MOV AL,AHAND AL,BXCMP [AL],BLMOVZX AX,BLA:1条 B:2条 C:3条 D:4条专业级,学生姓名: 学号:3.假设某子程序使用的返回指令是RET,则返回地址为( ).A:CALL指令下面第二条指令的地址B:(SP+1)和(SP)中存放的地址C:(SP+5)和(SP+4)中存放的地址D:CALL指令下面第四条指令的地址4.在汇编语言程序设计中,段间转移指令JMP A0,其中A0的属性是( ) . A:PUBLICB:COMMONC:FARD:NEAR5.指令ADD CX,[DI+10H]中源操作数的寻址方式是( ).A:相对的变址寻址B:基址寻址C:变址寻址D:基址和变址寻址6.完成将AX清零,并使标志位CF清零,下面错误的指令是:( ).A:SUB AX,AXB:XOR AX,AXC:MOV AX,00HD:AND AX,00H7.下列引起CPU程序中断的四种情况,哪一种不是BIOS中断调用?( ).A:INT 23B:INT 33C:INT 22D:INT 16专业级,学生姓名: 学号: (8.用来表示堆栈指针的寄存器是( ).A:IPB:BPC:SPD:SS9.下列指令中,不影响标志位SF位的指令是( ).A:RCL AX,1B:SAR AX,1C:AND BH,0FHD:ADC AX,SI10.对于指令MOV AX,0和指令XOR AX,AX,下面哪一种描述是正确的( ).A:均可执行对AX寄存器的"清0"操作,并且执行速度也没有差异B:均可执行对AX寄存器的"清0"操作,但MOV AX,0指令的执行速度比较快C:均可执行对AX寄存器的"清0"操作,但XOR AX,AX指令的执行速度比较快D:两条指令的执行结果不同二:填空题(每题2分)1.若定义NUMB DB 2 DUP(3,2,2 DUP(0),2 DUP(5)),则在NUMB 存储区内最后三个单元的数据是______.2.在MOV AX,55AAH指令的机器代码中,最后一个字节是______.3.该程序段中数据段定义如下DATA SEGMENTBUM DB 1,2,3,4,5,6,7,8DISP DW 2DATA ENDS执行下列指令段后LEA BX,BUMADD BX,DISPMOV AX,WORD PTR[BX]AX=______H)考试科目:汇编语言程序设计4.若定义VAR DD ?,则在VAR存储区内前4个单元的数据是______。
烟台大学《汇编语言程序设计》期末考试复习题及参考答案

B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)
汇编语言试题及答案

汇编语言试题及答案一、选择题1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 标记语言答案:B2. 汇编程序的编译过程包括:A. 预处理、编译、链接B. 编译、链接、运行C. 编译、预处理、链接D. 链接、编译、预处理答案:A3. 下列哪项是汇编语言的指令:A. MOV AX, BXB. int main()C. print "Hello, World!"D. System.out.println("Hello, World!");答案:A二、填空题4. 在汇编语言中,指令______用于将数据从内存传送到寄存器。
答案:MOV5. 汇编语言中的______指令用于实现无条件跳转。
答案:JMP6. 汇编语言中的______指令用于实现条件跳转。
答案:JZ 或 JE(零标志跳转)三、简答题7. 简述汇编语言的特点。
答案:汇编语言是一种低级语言,它非常接近机器语言,通常用于编写硬件操作和系统软件。
其特点是执行效率高,但编程复杂度高,可读性和可移植性较差。
8. 汇编语言与机器语言有何区别?答案:汇编语言是一种符号化的机器语言,它使用助记符代替机器语言中的二进制代码,更易于人类理解和编写。
机器语言则是计算机硬件直接执行的指令集,通常以二进制形式存在。
四、编程题9. 编写一段汇编语言程序,实现将AX寄存器的值加1。
答案:INC AX10. 编写一段汇编语言程序,实现将内存地址[100]处的值与BX寄存器的值相加,并将结果存回内存地址[100]。
答案:MOV AX, [100]ADD AX, BXMOV [100], AX五、论述题11. 论述汇编语言在现代计算机系统中的作用和局限性。
答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。
其作用在于能够直接控制硬件,实现高效的资源利用。
然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。
汇编考试题及答案详解

汇编考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪一项是汇编语言的特点?A. 高级语言B. 面向对象C. 接近硬件D. 自动内存管理答案:C2. 汇编指令MOV AX, [BX]的含义是:A. 将AX寄存器的内容移动到BX寄存器B. 将BX寄存器的内容移动到AX寄存器C. 将内存地址BX指向的内容移动到AX寄存器D. 将AX寄存器的内容存储到内存地址BX指向的位置答案:C3. 下列哪一项不是汇编语言的伪操作码?A. ORGB. DBC. IFD. MOV答案:D4. 在汇编语言中,立即数的寻址方式是:A. 直接寻址C. 间接寻址D. 基址寻址答案:A5. 汇编程序中,用于定义数据的伪操作码是:A. EQUB. ENDC. DBD. DW答案:C6. 汇编语言中,指令JMP FAR PTR LABEL的作用是:A. 跳转到当前段内的LABELB. 跳转到其他段内的LABELC. 跳转到当前段的开始位置D. 跳转到其他段的开始位置答案:B7. 汇编语言中的段寄存器CS的作用是:A. 存储当前代码段的基地址B. 存储当前数据段的基地址C. 存储当前堆栈段的基地址D. 存储当前附加段的基地址答案:A8. 下列哪一项不是汇编指令的寻址方式?B. 寄存器寻址C. 相对寻址D. 绝对寻址答案:C9. 汇编语言中,指令PUSH AX的作用是:A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容移动到其他寄存器D. 将AX寄存器的内容存储到内存答案:A10. 汇编语言中,指令DIV AX的作用是:A. 将AX寄存器的内容除以AL寄存器的内容B. 将AX寄存器的内容除以AH寄存器的内容C. 将AX寄存器的内容除以DX寄存器的内容D. 将AX寄存器的内容除以立即数答案:A二、简答题(每题5分,共10分)1. 解释汇编语言中的堆栈操作。
答案:堆栈操作是汇编语言中的一种数据结构操作,它遵循后进先出(LIFO)的原则。
汇编语言复习题及答案
汇编语言复习题及答案1. 简述汇编语言的特点。
汇编语言是一种低级编程语言,它允许程序员直接使用机器指令来编写程序。
它具有以下特点:与机器指令一一对应,具有较高的执行效率;能够直接访问和控制硬件资源;编程复杂,可读性和可维护性差;依赖于特定的计算机架构。
2. 什么是寄存器?请列举常见的寄存器类型。
寄存器是CPU内部用于存储数据和指令的小型存储单元。
常见的寄存器类型包括:通用寄存器(如AX, BX, CX, DX等),用于存储数据和地址;指令指针寄存器(如IP),用于存储下一条要执行的指令地址;段寄存器(如CS, DS, SS, ES等),用于存储内存段的基地址;状态寄存器(如FLAGS),用于存储CPU的状态信息。
3. 请解释指令寻址方式中的直接寻址和间接寻址。
直接寻址是指指令中直接给出操作数的内存地址,CPU直接从该地址读取或写入数据。
间接寻址是指指令中给出一个寄存器或内存地址,该寄存器或内存地址中存储着操作数的实际地址,CPU先读取寄存器或内存地址中的内容,再根据该内容访问操作数。
4. 汇编语言中的循环结构是如何实现的?汇编语言中的循环结构通常通过标签和跳转指令实现。
首先定义一个循环开始的标签,然后在循环体内部使用条件跳转指令(如JE, JNE 等)判断循环条件是否满足。
如果不满足,则跳转到循环开始的标签,继续执行循环体;如果满足,则跳转到循环结束后的代码继续执行。
5. 请解释汇编语言中的中断处理机制。
中断处理机制是指当CPU执行过程中遇到外部或内部事件时,暂时中断当前程序的执行,转而执行中断服务程序,处理完中断事件后再返回到中断点继续执行原程序的过程。
汇编语言中,程序员可以通过INT 指令主动触发中断,或者在中断服务程序中使用IRET指令返回到中断点。
6. 什么是宏汇编?它与普通汇编有何不同?宏汇编是一种高级汇编语言,它允许程序员使用宏定义来创建可重用的代码片段。
宏汇编与普通汇编的主要区别在于:宏汇编支持宏定义和宏展开,可以简化重复代码的编写;宏汇编通常具有更丰富的控制结构和数据类型,提高了编程的灵活性和可读性。
《汇编语言程序设计》考试练习题及答案
《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。
A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。
A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。
A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。
汇编语言考试及答案
汇编语言考试及答案一、选择题(每题2分,共20分)1. 汇编语言中,指令“MOV AX, 1234H”的作用是将立即数1234H送入寄存器AX中。
(对/错)A. 对B. 错答案:A2. 在8086微处理器中,CS寄存器的作用是存储()。
A. 指令地址B. 数据地址C. 堆栈地址D. 中断向量答案:A3. 汇编语言中,以下哪个指令用于将字符串从内存中复制到另一个内存位置?A. MOVB. CMPC. PUSHD. MOVS答案:D4. 8086微处理器中,以下哪个指令用于将一个字节的值与AL 寄存器的内容进行比较?A. CMP AL, 5B. CMP 5, ALC. SUB AL, 5D. SUB 5, AL答案:A5. 在汇编语言中,以下哪个指令用于将一个字节的值从内存地址中取出并放入寄存器?A. MOV AL, [BX]B. MOV [BX], ALC. MOV BX, ALD. MOV AL, BX答案:A6. 8086微处理器中,以下哪个指令用于将一个字的值从内存地址中取出并放入寄存器?A. MOV AX, [BX]B. MOV [BX], AXC. MOV BX, AXD. MOV AX, BX答案:A7. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑“与”操作?A. ANDB. ORC. XORD. NOT答案:A8. 在8086微处理器中,以下哪个指令用于将一个字的值从AX 寄存器中弹出堆栈?A. POP AXB. PUSH AXC. CALL AXD. RET答案:A9. 汇编语言中,以下哪个指令用于无条件跳转到指定的内存地址?A. JMPB. CALLC. RETD. INT答案:A10. 8086微处理器中,以下哪个指令用于在执行中断服务程序后返回到中断前的位置?A. IRETB. RETC. CALLD. JMP答案:A二、填空题(每题2分,共20分)1. 汇编语言中的指令“ADD AX, BX”的作用是将寄存器AX和BX的内容相加,并将结果存入________。
期末汇编语言试题及答案
期末汇编语言试题及答案(正文开始)第一节:多项选择题1. 汇编语言是一种_____。
A. 低级语言B. 高级语言C. 中级语言D. 汇编语言不属于编程语言范畴答案:A2. 汇编语言是一种_____。
A. 机器语言B. 人机交互语言C. 使用英文单词和符号的编程语言D. 汇编语言不属于编程语言范畴答案:C3. 在汇编语言中,用来表示无符号整数的数据类型是_____。
A. BYTEB. WORDC. DWORDD. QWORD答案:A4. 汇编语言中,用来表示有符号整数的数据类型是_____。
A. BYTEB. WORDC. DWORDD. QWORD答案:B5. 汇编语言中的寻址方式包括_____。
A. 直接寻址B. 寄存器寻址C. 间接寻址D. 所有选项都是正确的答案:D第二节:填空题1. 汇编语言的基本单元是_____。
答案:指令(instruction)2. 汇编语言中,用来表示寄存器的通用约定是_____。
答案:以字母E或R作为前缀(例如:EAX、RBX)3. 汇编语言中,关键字和指令通常是以_____开头的。
答案:小写字母4. AL寄存器是_____位的寄存器。
答案:85. 汇编语言中,用来表示内存地址的数据类型是_____。
答案:PTR第三节:简答题1. 简述汇编语言的优点和缺点。
答:汇编语言的优点包括:- 直接操作底层硬件,可以实现高度的性能优化。
- 对机器指令的控制更加精细,可以实现特定的功能。
- 内存占用小,执行效率高。
汇编语言的缺点包括:- 学习曲线陡峭,需要掌握底层硬件架构和指令集。
- 编写和维护成本高,可读性差。
- 可移植性差,需要针对不同硬件平台编写不同版本的汇编代码。
2. 简述汇编语言指令的执行过程。
答:汇编语言指令的执行过程包括以下几个步骤:1. 从内存中读取指令:处理器根据程序计数器(Program Counter,PC)的值,从内存中读取指令。
2. 解析指令:处理器将读取到的指令解析成可执行的操作码和操作数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言考试复习题及参考答案第三套题一、1. 8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
2. CPU发出的访问存储器的地址是__________。
3. 逻辑地址为F000:100的存储单元,其物理地址是__________。
4. 用来指示堆栈栈顶的偏移地址的是__________寄存器。
5. 若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
6. 若定义:bdata db 2 dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。
7. 假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。
二、1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序2.下列各个8位二进制数的补码中,真值最大的是A.10001000B.11111111C.00000000D.000000013.MASM语句中,表达常数不正确的形式是A.01101001BB. A346HC.’A’4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H5.dw 50 dup(?)预留了存储空间的字节数是A.25B.50C.100D.2006.下列指令中有操作数在代码段中的是A.mov ax,34hB.add ax,bxC.inc word ptr [34h]D.cmp ax,[34h]7.假设AL=5,要使得AL=0FAH,应执行的指令是A. not alB.and al,0fhC.xor al,0f0hD.or al,0fh8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=010.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除2C.无符号数乘以2D.无符号数除以211.执行“in al, dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B. mov ax,0705C.mov ax,0075hD. mov ax,0705h13.如下指令可将AX寄存器内容改变的是A. cmp ax,bxB. test ax,bxC. and ax,bxD. xchg ax,bx14.设AH=10H,执行“neg ah”指令后,正确的结果是A. AH=10H、CF=1B. AH=F0H、CF=0C. AH=10H、CF=0D. AH=F0H、CF=115.如下程序段:again: mov es:[di],alinc diloop again可用指令__________完成相同的功能。
A. rep movsbB. rep lodsbC. rep stosbD. rep stosw三、问答题:1.说明8086/8088两类标志各自的作用是什么?2.子程序文档说明主要包含那些内容?3.试述mov ax,offset var和lea ax,var两条语句的异同点。
4.循环结构程序具有哪3个组成部分?各自的作用是什么?5.已知DS=2000H、BX=100H、SI=2,存储单元[21200H]~[21203H]依次存放(十六进制)2A 4C B7 65,说明下列每条指令执行完后AX寄存器的内容。
①mov ax,[1200h]②mov ax,[bx+1101h]③mov ax,[bx] [si+1100h]四、程序阅读题:1.执行如下程序段后,AL=、ZF=。
mov al,ah not al add al,ah inc al2.对于如下数据定义,给出各条指令执行后的结果。
fldb dw 0a24fhtable db 32h,52h,0a2h,215 array db ‘ABCD’count equ $-array①mov ax,fldb ;AL=②mov cl,table[2] ;CL=③mov ch,array ;CH=④mov dx,count ;DX=3.现有程序段如下,test al,80h jz onebl mov ah,1jmp done onebl: mov ah,0ffh done: …在情况下,该程序段执行结果AH=1;在情况下,该程序段执行结果AH=FFH。
4.下列指令段的功能是在数组中查找数据3,请在空格中填入应有的内容org 0120hdata1 dw 0,1,2,3,4,5,6,7,8,9 count equ $-data1…mov di,offset data1mov ax,3cldmov cx,scasw又,该命令序列执行后,CX=、DI=。
5.设X、Y、Z、V均为16位带符号数,分别装在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处mov ax,Ximul Ymov cx,axmov bx,dxmov ax,Zcwdadd cx,axadc bx,dx sub cx,540 sbb bx,0 mov ax,V cwdsub ax.cx sbb dx,bx idiv X五、程序设计题:1.按照如下要求各编写一段语句序列:①定义字节变量unpak,其中以非压缩BCD码形式存放十进制数1234;②写出指令,将一个字节数据58H输出到端口43H;③将DX、BX、AX中的48位数右移1位。
2.已知数据段变量datax、datay、dataz定义如下:datax dw 5678h,89abh datay dw 9ef0h,1234h dataz dw 2 dup (?)编写一个程序段,实现将datax和datay中双字数据相加,并存入dataz单元。
3.用一个程序段完成“REP MOVSW”指令的功能。
4.编写一个程序段,用空格符将字符区char-field填满,该字符区的字符数在count字节变量中保存。
5. 下面程序利用DOS系统功能调用,完成将键盘输入的小写字母转换成大写字母后输出显示,只到输入‘$’字符时结束。
6. 测试ALPHA字节变量单元中的ASCII码字符,进行如下操作:1)若为数字字符,送入NUM字节单元中,置标记FLAG为02)若为大写字母字符,送入BIGCHR字节单元中,置标记FLAG 为03)若为小写字母字符,送入SMLCHR字节单元中,置标记FLAG 为04)否则,置标记FLAG为1参考答案一.1. FFH ,80H ~7FH 。
2. 物理地址。
3. F0100H 。
4. SP5. test al,00010101b ZF6. 1,2,3,3,4 。
7. 存储器直接寻址方式。
二.1.A 2.D 3.B 4.C 5.C 6.A 7.A 8.A 9.C 10.C 11.D 12.C 13.C 14.D 15.C三.问答题1. 状态标志——记录指令执行结果的有关状态,例如,进位、溢出、符号等;控制标志——用来控制处理器执行指令的方式,例如,可否中断、是否单步执行指令等。
2.子程序名和子程序功能:子程序的入口参数和出口参数;子程序的调用说明等。
3. 相同——这两条指令都用来获取var的偏移地址。
不同——传送指令“mov ax,offset var”是在汇编阶段由汇编程序计算出偏移地址而“lea ax,var”则是在处理器执行该指令时再计算偏移地址。
4. 循环初始部分——为开始循环设置参数,例如,循环次数、初值等。
循环体部分——重复执行的程序段,包括对循环条件的改变。
循环控制部分——判断循环条件是否成立、确定是否退出循环。
5. ①AX=4c2ah②AX=b74ch③AX=65b7h四.程序阅读题1. AL=0 、ZF= 1 。
2. ①mov ax,fldb ;AL=4fh ②mov cl,table[2] ;CL=a2h③mov ch,array ;CH=‘A’ ④mov dx,count ;DX= 43. 在AL寄存器中最高位为1 情况下,该程序段执行结果AH=1;在AL寄存器中最高位为0 情况下,该程序段执行结果AH=FFH。
4. mov di,offset data1mov ax,3cldmov cx, count/2repnz scasw该命令序列执行后,CX=06h、DI=128h。
5. 计算公式:[V-(X×Y+Z-540)]÷X 计算结果:商存在AX中,余数存在DX中。
五.程序设计题1.①unpak db 4,3,2,12.. mov ax,datax3. push ax②.mov al,58h add ax,data again: mov ax,[si]out 43h,al mov da,datax+2 mov es:[di],ax③shr d x,1 adc dx,datay+2 add si,2 ; sub si,2rcr bx,1 mov dataz,ax add di,2 ; sub di,2rcr ax,1 mov dataz+2,dx loop againpop ax4. mov cl,countmov ch,0mov di,offset char-fieldcldmov al,’ ’rep stowb5.CODE SEGMENTASSUME CS:CODEDISPLAY PROC NEARBEGIN: MOV AH,01HINT 21HCMP AL,’$’JZ STOPCMP AL,’a’JB STOPCMP AL,’z’JA STOPSUB AL,20HMOV DL,ALMOV AH,02HINT 21HJMP BEGINSTOP: RETDISPLAY ENDCODE ENDSDA TA SEGMENTALPHA DB "A"NUM DB ?BIGCHR DB ? CMP AX,5A SMLCHR DB ? JA N2 FLAG DB ? MOV BIGCHR,AX DA TA ENDS JMP N5 CODE SEGMENT N2: CMP AX,61HASSUME DS:DATA,CS:CODE JB N4START: MOV AX,DA TA CMP AX,7aMOV DS,AX JA N4MOV AX,ALPHA MOV SMLCHR,AX CMP AX,30H JMP N5JBE N4 N4: MOV FLAG,1 CMP AX,39H JMP N3JA N1 N5: MOV FLAG,0 MOV NUM,AX N3: MOV AX,00H JMP N5 INT 21N1: CMP AX,41H CODE ENDSJB N4 END STAR T。