汇编语言基础练习题目
汇编语言试题及参考答案

汇编语言试题及参考答案一,填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 )2.标号可以有两种类型属性.它们是( )和( )3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( )4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ).5.循环程序通常由( )( )( )和循环结果外理四部分构成6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( )8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( )9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW( )(2)双字变量AYD存放的地址指针送ES和SI( )(3)变量AY2类型属性送AH( )(4)不允许中断即关中断( )(5)将字符串'HOW ARE YOU!'存入变量AYB( )(6)子程序返回调用程序( )(7)地址表达式AYY[4]的偏移地址送字变量ADDR( )(8)AX的内容加1,要求不影响CF( )(9)BX的内容加1,要求影响所有标志位( )(10)若操作结果为零转向短号GOON( )二,单选题1.IBM PC微机中,有符号数是用( )表示的1.原码2.补码3.反码4.BCD码2.把汇编源程序变成代码程序的过程是( )1.编译2.汇编3.编辑4.链接三,己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR.指出下列非法语句的错误原因1.POP CS( )2.INC [BX] ( )3.MVL 8( )4.JLE LPFAR( )5.MOV DB,1800( )6.MOV[DI],VAR17.SUB AX,VAR2( )8.CMP SS AX( )四,简答题1.试述子程序的一般结构组成2.标号有哪三个属性其含义是什么3.试述CMP AX,BX和SUB AX,BX两条语句的异同点五,阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数. ORG 100HBLOK DW X1,X2, (X)COUNT EQU ($-BLOK)/2RESULT DW COUNT,...LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT:LOOP GOONMOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2字存储单元的内容=( )BX=( )程序循环次数=( )六,在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字符串,以0DH为结束标志,试求串长度并送字变量COUNT中.LEA SI,STR( )XOR CX,CXGOON: CMP AL,[SI]( )INC CX( )JMP GOONNEXT:MOV COUNT,CX七,编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段.假定BUFB存储区定义为BUFB DB N DUP('^'),其中N 为字面常量.八,己知宏指令为:SHIFT MACRO RR,COUNTMOV AX,COUNTIF RR LE 64MOV CL,3SHR AX,CLIF RR LT 16MOV CL,6SHR AX,CLENDIFENDIFENDM宏调用为:SHIFT 15,7FFFHSHIFT 80,9FFFH写出宏扩展后的等效源程序段.九,编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据.假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H汇编语言试题<>答案一,填空题(1)1,0,0(2)NEAR或近程,FAR或远程(3)0--FFH,80H--7FH(4)GROUP,NAME,DB(5)循环准备,循环体,循环的控制与修改(6)高,低,等(7)MACRO,ENOM,宏体(8)约定寄存器法,约定存储单元法,向量传递法(9)(POP AYW)(LES SI,AYD)(MOV AH,TYPE AY2)(CLI)(AYB DB"HOW ARE YOU!")(RET)(MOV ADDR,OFFSET AYY[4])(INC AX)(ADD BX,1)(JZ GOON)二,选择题1. ( 2 )2. ( 2 )三,1.CS不能作目的操作数2.[BX]=义性3.乘法指令源操作数不能是立即数4.远程标号不能作为条件转移指令的操作数5.立即数不能直接送段寄存器6.两个操作数不能同时为存储器操作数7.操作数不配,AX为字,VAR2为字节8.段寄存器不能作为运算指令的操作数四,简答题1.由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序2.段属性指定义该标号的段地址偏移属性:指该标号的偏移地址类型属性:指标号是在定义它的段内引用还是在其它段引用3.相同点:都执行AX-BX操作,影响所有标志位且对档志位的影响相同不同点:CMP执行后AX,BX 内容不改变,而SUB执行后,AX内为AX-BX之差,即内容变化了五,MAX(X1,X2,...XN)(COUNT-1)六,(MOV AL,ODH)(JE NEXT或JZ NEXT)(INC SI)七,MOV AX,SEG BUFBMOV DS,AXLEA SI BUFBMOV CX,NGOON:MOV BYTE PTR[SI],20HINC SILOOP GOON八,MOV AX,7FFFHMOV CL,3SHR AX,CLMOV CL,6SHR AX,CLMOV AX,9FFFH九,DATA SEGMENTVARB DB 45,36,377Q, (11011011)N EQU $-VARBHVARB DB 2 NDRP( )DATA ENDSSTACK SEGMENT PARA STACK "STACK" DB 256 DUP( )STACK ENDSCODE SEGMENTASSUME CS:COOE,DS:DATA,SS:STACK MAIN: PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV DX,NLEA DI,HVARBLEA SI,VARB;置初值GOCN:MOV AH,[SI]MOV AL,AHAND AH,0F0HMOV CL,4SHR AH,CLCMP AH,9JNA NEXT1ADD AH,7NEXT1:ADD AH,30HAND AL,DFH CMP AL,9JNA NEXT2ADD AL,7NEXT2:ADD AL,30H MOV [DI],AHMOV [DI],ALADD DI,2INC SIDEC DXJNZ GOONRETMAIN ENDP CODE ENDSEND MAIN。
《汇编语言》练习题库

《汇编语言》练习题库
汇编语言是计算机硬件和软件之间的桥梁,是一种基于机器指令的
低级程序设计语言。
掌握汇编语言对于理解计算机的工作原理和进行
底层编程具有重要意义。
下面是一份《汇编语言》练习题库,旨在帮
助读者巩固和应用所学知识。
一、基础题
1. 使用汇编语言编写一个程序,实现两个数相加的功能。
2. 编写一个汇编语言程序,将一个字符串逆序输出。
3. 设计一个程序,判断一个数是否为偶数。
4. 编写一个程序,实现一个简单的计算器,可以进行加减乘除运算。
二、中级题
1. 设计一个程序,实现排序算法中的冒泡排序。
2. 编写一个汇编语言程序,判断一个字符串是否为回文串。
3. 设计一个程序,将一个数组中的奇数和偶数分别存放在两个新的
数组中。
4. 编写一个程序,实现一个简单的文本编辑器,可以实现插入、删除、替换等功能。
三、高级题
1. 设计一个程序,实现图像的旋转和缩放功能。
2. 编写一个汇编语言程序,实现一个简单的操作系统。
3. 设计一个程序,实现一个简易的数据库系统,可以进行数据的增删查改操作。
4. 编写一个程序,实现一个简单的网络聊天室。
以上是《汇编语言》练习题库的部分题目,通过做题可以提高对汇编语言的理解和应用能力。
同时,建议读者在做题的过程中,结合教材和其他学习资料,加深对汇编语言的学习和掌握。
祝愿大家在汇编语言的学习中取得优异的成绩!。
汇编语言习题与答案

汇编语言习题与答案一、填空题:把答案填在题中横线上。
1.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
2.8086/8088分段管理存储空间,但每段容量最大不超过__________。
3.逻辑地址为F000:100的存储单元,其物理地址是__________。
4.用来指示堆栈栈顶的偏移地址的是__________寄存器。
5.若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
6.若定义:bdata db2dup(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.00000001[]3.MASM语句中,表达常数不正确的形式是A.01101001BB.A346HC.’A’D.5600[]4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H[]5.dw50dup(?)预留了存储空间的字节数是A.25B.50C.100D.200[]6.下列指令中有操作数在代码段中的是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,0fh[]8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm[]9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=0D.ZF=1[]10.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2[]11.执行“in al,dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B.mov ax,0705C.mov ax,0075hD.mov ax,0705h[]13.如下指令可将AX寄存器内容改变的是A.cmp ax,bxB.test ax,bxC.and ax,bxD.xchg ax,bx[]14.设AH=10H,执行“neg ah”指令后,正确的结果是A.AH=10H、CF=1B.AH=F0H、CF=0C.AH=10H、CF=0D.AH=F0H、CF=1[]15.如下程序段:again:mov es:[di],alinc diloop again可用指令__________完成相同的功能。
汇编语言试题及答案

汇编语言试题及答案一、单项选择题(每题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的作用是________。
汇编练习题

汇编语言练习题一、基础知识类1. 列出汇编语言中的寄存器及其用途。
2. 解释汇编语言中的指令格式。
3. 什么是标志寄存器?它有哪些常用的标志位?4. 描述汇编程序的基本结构。
5. 如何在汇编语言中进行数据定义?二、数据传送类1. 将AX寄存器的值传送到BX寄存器。
2. 将内存单元[1000H]的值传送到CX寄存器。
3. 将数据段中的一个字节传送到AL寄存器。
4. 实现两个内存单元之间的数据交换。
5. 将一个字的数据传送到DX和AX寄存器。
三、算术运算类1. 计算H + 5678H,并将结果存储在AX寄存器中。
2. 计算H 5678H,并将结果存储在AX寄存器中。
3. 实现16位无符号数的乘法运算。
4. 实现16位无符号数的除法运算。
5. 使用汇编语言实现一个简单的加法计算器。
四、逻辑运算类1. 对AX寄存器的值进行按位取反操作。
2. 计算H和5678H的逻辑与运算结果。
3. 计算H和5678H的逻辑或运算结果。
4. 计算H和5678H的逻辑异或运算结果。
5. 实现一个简单的逻辑表达式求值程序。
五、控制转移类1. 实现一个无条件跳转指令。
2. 根据CX寄存器的值,实现一个循环结构。
3. 使用比较指令和跳转指令实现一个简单的排序算法。
4. 编写一个程序,判断一个数是否为素数。
5. 实现一个多分支选择结构。
六、字符串操作类1. 实现将一个字符串复制到另一个内存区域。
2. 实现字符串的逆序排列。
3. 计算一个字符串的长度。
4. 比较两个字符串是否相等。
5. 在一个字符串中查找某个字符的位置。
七、中断及系统调用类1. 编写一个简单的中断处理程序。
2. 使用INT 21H中断实现屏幕输出一个字符串。
3. 使用INT 21H中断读取键盘输入的字符串。
4. 编写一个程序,实现定时器中断。
5. 使用汇编语言实现系统调用,完成文件读写操作。
八、子程序设计类1. 编写一个子程序,用于计算两个数的最大公约数。
2. 实现一个子程序,能够将十进制数转换为十六进制数。
计算机技术汇编语言试题含答案

计算机技术汇编语言试题含答案第一部分:选择题1. 汇编语言是计算机硬件的一种低级编程语言,其特点是()。
A. 高级、易读易写B. 低级、复杂C. 低级、易读易写D. 高级、复杂答案:C2. 汇编语言是一种()。
A. 人机交互语言B. 低级语言C. 高级语言D. 自然语言答案:B3. 汇编语言最主要的作用是()。
A. 提高计算机运行速度B. 完成特定的计算任务C. 方便程序员编写高级语言程序D. 简化计算机指令的执行过程答案:C4. 汇编语言的指令是由()组成的。
A. 二进制代码B. 十进制代码C. 字母和数字D. 中文字符答案:A5. 汇编语言与机器语言之间的关系是()。
A. 完全相同B. 相似但不完全一样C. 完全不同D. 无法确定答案:B第二部分:简答题1. 什么是汇编器?它的作用是什么?汇编器是一种用于将汇编语言代码翻译成机器代码的软件工具。
其作用是将人类可读的汇编语言指令转换成计算机能够理解的二进制代码,以便计算机能够执行相应的操作。
2. 谈谈汇编语言的优点和缺点。
汇编语言的优点包括:- 直接操作底层硬件,可精确控制计算机执行指令,提高程序执行效率。
- 可以直接访问和利用硬件资源,如寄存器、内存等。
- 可以编写高效的程序,适用于对性能要求较高的场景。
- 编写汇编语言程序相对来说较为简单,可以更好地理解计算机的工作原理。
汇编语言的缺点包括:- 难以学习和掌握,对于初学者来说门槛较高。
- 编写的程序复杂度高,维护困难。
- 汇编语言代码的可移植性差,不同的计算机体系结构需要不同的汇编指令集。
- 缺乏高级语言的抽象和封装特性,代码可读性差。
第三部分:编程题请编写一段汇编语言代码,实现将数组 A 中所有元素加 1 的功能。
数组 A 的起始地址保存在寄存器 AX 中,数组长度保存在寄存器 BX 中。
假设数组 A 的元素都是字节类型。
```asmMOV CX, 0 ; 用于循环计数的寄存器MOV SI, AX ; 用于保存数组起始地址的寄存器LOOP_START:MOV AL, [SI] ; 将当前数组元素的值加载到 AL 寄存器ADD AL, 1 ; 将 AL 寄存器中的值加 1MOV [SI], AL ; 将 AL 寄存器中的值存回数组对应位置INC CX ; 循环计数器加 1INC SI ; 数组地址指针加 1CMP CX, BX ; 比较循环计数器和数组长度JL LOOP_START ; 如果循环计数器小于数组长度,则跳转到LOOP_START 继续循环```答案:以上汇编语言代码实现了将数组 A 中的所有元素加 1 的功能。
汇编语言基础试题

第一章根本知识一、单项选择题〔共40分,每题2分〕2.假设[X补]=11111,那么其十进制真值为〔C〕A.-31B.-15C.-1D.313.某定点整数64位,含1位符号位,补码表示,那么其绝对值最大负数为〔A〕A.-263B.-264C.-〔263-1〕D.-〔263-1〕4.原码乘法是〔D〕A.用原码表示操作数,然后直接相乘B.被乘数用原码表示,乘数取绝对值,然后相乘C.乘数用原码表示,被乘数取绝对值,然后相乘D.先取操作数绝对值相乘,符号位单独处理5.在微机系统中分析并控制指令执行的部件是〔C〕A.存放器B.数据存放器C.CPUD.EU6.X=76,那么[X]补=〔B〕A.76HB.4CHC.0B4HD.0CCH7.[X]补=80H, 那么X=〔D〕A.80HB.0C.0FFHD.-80H8.[X]补=98H, 那么[X]补/2=〔A〕A.0CCHB.4CHC.49HD.31H9.X=78,Y=-83那么[X+Y]补=〔C〕A.0F5HB.0A1HC.0FBHD.65H10.在计算机的CPU中执行算术逻辑运算的部件是〔A〕A.ALUB.PCC.ALD.AR11.将125转换成二进制数的结果〔A〕A.7DHB.7CHC.7EHD.7BH12.将93H看成一个组合BCD码,其结果是〔B〕A.10010101B.10010011C.10000011D.1000000113.能被计算机直接识别的语言是〔C〕A.C语言B.汇编语言C.机器语言D.面向对象语言14.第四代计算机的逻辑电路采用的是〔D〕。
A.电子管B.晶体管C.中小规模集成电路D.大规模和超大规模集成电路15.可以写入数据的存储器是〔B〕。
A.ROMB.RAMC.软盘D.大规模和超大规模集成电路16.掉电后存储信息消失的存储器是〔B〕。
A.ROMB.RAMC.软盘D.硬盘17.读写速度最慢的辅助存储器是〔C〕。
A.ROMB.RAMC.软盘D.硬盘18.二进制数〔11010011〕2转化成十六进制数是〔B〕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、填空1. 在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16 位的 段地址 和16位的 偏移地址,物理地址=段地址X 10H+偏移量。
2.段的起始地址必须是某小段的首地址,它能被 10H 整除。
3. 已知01020H 字单元的内容为6A58H 请分别写出它的两个字节单元的地址和 内容:(01020H =58H, ( 01021H =6AH4. 指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结 果的符号是正号,即结果为正数。
5. 控制器从存储器取出一条指令后,指令指针寄存器IP 的内容是 将要执行的下 一条指令开始的偏移地址。
6. 段地址和偏移地址为1000: 127B 的存储单元的物理地址是1127BH解:由物理地址=段地址X 10H+偏移量的公式可得物理地址=1000HX 10H+127BH=10000H+127BH=1127BH、选择1.与CS 寄存器组合才能形成代码段的物理地址的寄存器是解:16K 个字单元,即为32K 个字节单元。
由于2的15次方为32K,因此至 少需要15位二进制数才能表示16K 个字单元。
3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是(B ) o解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为 01000H 。
以后每一个字单元的地址在前一个的基C )。
A. SP 寄存器B. BP 寄存器C. IP 寄存器D. BX 寄存器2.如果存储器分段时, 的二进制数至少是( 一个段最多允许16K 个字单元,那么表示该段内偏移地址 A )o A.15 位 位B.16 位C.17 位D.18A. 01010HB. 0100AHC.01012HD.01006H础上加2,所以这个段的第6个字单元的物理地址是0100AH注意:第6个字单元的偏移地址是在第一个的基础上加10,即0AH物理地址应该是0100AH而不是01010H。
三、计算1. 已知十进制数X的8位补码为E3H求X和它的16位补码。
解:将十六进制数E3H转化为二进制数为:11100011 (负数)。
因为对负数的补码进行求补运算后得正数的补码,所以对11100011求补后得00011101,即1DH 对应的十进制数为29。
要求它的16 位补码,只需将它的8 位补码扩充到16 位即可,其中高8位用低8位的符号位填充。
因为E3H的符号位为1,所以它的16位补码为1111111111100011,即十六进制数FFE3H。
注意:求补运算就是将二进制位按位求反,然后末位再加1。
2. 设数据段的大小为160 个字节,请指出它的最末一个字单元的偏移地址。
解:160个字节,即为A0H个字节。
因为任何一个段的偏移地址都是从0000H 开始的,因此该数据段的最末一个字单元的偏移地址为:A0H-02H=9EH3. 在存储器中依次划分数据段和代码段,已知数据段的大小为251 个字节,设操作系统分配给数据段的起始地址为1A580H请计算出代码段的起始地址。
解:251个字节,即FBH个字节。
因为段的起始偏移地址为0000H,所以代码段的起始物理地址为:1A580H+FBH-01H=1A67A。
H4. 存储器中存放的数据如下图所示,请写出05421H和05422H字单元的内容。
解:在本题中,需要知道数据在存储器中存放的原则是:低位字节存入低地址单元,高位字节存入高地址单元;以及字单元的地址是用低位字节单元的地址表示的;一个字单元占用连续的两个字节单元的地址。
了解这些知识后,解此题就相当简单了。
(05421H)=6C88H,(05422H)=D86CH。
四、简答1. 在数据段中有如下定义的数据:BVAL DB 0C8H,58H设BVAL=257A,BX=178AH SI=ODFOH DI=ODEOH BP=257AH 偏移量:DSP=10H DIP=ODFOH请用存储器操作数的5种寻址方式将两字节数据传送到AX寄存器中。
解:①直接寻址方式:MOV AL [BVAL]MOV AH,[BVAL+1]或MOV AX,WORD PTR [BVAL]②寄存器间接寻址方式:MOV AX,DS:[BP]③寄存器相对寻址方式:MOV AX,[BX+DIP] 或MOV AX,DIP[BX]④基址变址寻址方式:MOVAX,[BX+SI] 或MOVAX,[BX][SI]⑤相对基址变址寻址方式:MOV AX,DSP[BX+SI] 或MOV AX,DSP[BX][SI] 或MOV AX,[DSP+BX+SI]2. 在数据段中有如下定义的数据:WVAL DW 34O,256,178H,116H,28OH,5FFOH请用存储器操作数的5种寻址方式写出将字数据5FFOH传送到AX寄存器的指令序列。
解:①直接寻址方式:MOV AX,[WVAL+OAH]②寄存器间接寻址方式:MOV BX,OFFSET WVALADD BX,OAHMOV AX,[BX]③寄存器相对寻址方式:MOV BX,OAHMOV AX,WVAL[BX] 或MOV AX,[BX+WVAL]④基址变址寻址方式:MOV BX OFFSET WVAL MOV SI , OAHMOV AX [BX+SI]或 MOV AX [BX][SI] ⑤ 相对基址变址寻址方式:MOV BX 08HMOV S , 02HMONAX, WVAL[BX+SI]或 MOVAX, WVAL[BX][SI]或 MOVAX[WVAL+BX+SI]汇编语言练习题:第二章寻址方式和指令系统文章来源:互联网 编辑:lux in 加入日期:2008-11-22 点击:4055.若 AX=2000H,CL=90H ,贝V DIV CL 执行后,AX=rr6. 若 BL=83H,CF=1,贝VADC BL,90H 执行后,BL=1.MOV AX,ES:[1000H] r源操作数的寻址方式是:A.立即寻址B.直接寻址C. 变址寻址D. 基址寻址2.MOV AX,ES:COUNT[DI] r源操作数的寻址方式是:A. 基址寻址B.立即寻址C.变址寻址D.基址变址寻址3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是:A. 变址寻址B. 基址寻址C.直接寻址D.基址变址寻址4. 若 AX=1020H,BX=1200H,CF=1,r A. 0EF1FH rC. 0FE1FH则SBB AX,BX 的执行结果为:rB. 0FEFFHD. 0FE21HA.8038HB. 8039HC. 9138HD. 8138HA. 15HB. 16HC. 17HD. 14H7. 若DX=1010H,则AND DX,DX 的执行结果为A. 0000HB. 1111HC. 1010HD. FFFFH8. 指令MOV BX,MASK[BP], 若MASK=3500H,SS=1200H,DS=1000H,BP=1000H, 那么物理地址为:A. 17500HB. 16500HC. 14500HD. 13500H9. 指令MOV AX,COUNT[BX], 若C0UNT=0400H,SS=1200H,DS=1000H,BX=5000H, 那么物理地址为:A. 17400HB. 17000HC. 15400HD. 14500H10. 指令MOV DX,DELTA[BX][SI], 若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H, 地址那么物理为:P rA. 6F300HB. 77800HC. 59800HD. 78700H参考答案1.B2.C3.D4.C5.A6.D7.C8.B9.C 10.CC COMMOND 、STACK汇编语言练习题:第三章宏汇编语言 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 源程序结束语句为A ENDP2.SKY: MOV AL,20H 中操作数为rA 、MOVr 亠C AL 或 20H3. 下列为不合法的标志符的是r A AXYZrC @ATT4. 下列地址表达式正确的是5. NEAR 标号的类型值为rA 26. 组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是C END MAIND 、ENDD 、-2A NONEB PUBLIC451B 、ENDSB 、SKYA [BX-SI]B 、[BP-DI]C [BX+2]D 、[BP+BX]D AL 和 20HB 、5SKYD 、?ABCB -17.下面哪一个命令是显示内存单元的内容?A、D命令C F命令B E命令D R命令8.能被计算机直接识别和执行的指令是:A、符号指令B、机器指令C伪指令D宏指令9.取变量偏移属性的分析运算符是:rA OFFSET rC SIZE B TYPED SEG10.分析运算符LENGTH只有用()定义的变量才有意义。
rA、表达式B字符串rC DUP r “D、疑冋号11.在段定义中, rA PAGE rC WORD )是默认的定位类型。
rB PARAD BYTErA、标号名字域B、助记符域rC操作数域D、注释域参考答案:1、c2、d3、b4、c5、b6、a7、a8、b12.汇编语言指令中唯一不可缺少的域是:9、a 10、c 11、b 12、b汇编语言练习题:第四章程序设计的基本方法 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 段内直接转移指令采用的寻址方式是:crA 、直接寻址B 相对寻址C 绝对寻址厂 D 、间接寻址4. 在MOVB 旨令中,其目的串的物理地址为5. 条件转移指令的转移范围r A -128 -- +127rC 0 -- +2556. 执行段间调用指令 CALL 时,首先保护断点的A 段地址和偏移地址B 、段地址C 偏移地址判断题A DS*2*2*2*2+SIB DS*2*2*2*2+DIES*2*2*2*2+SIES*2*2*2*2+DI3652. 下列指令中不等价的是c A JA 和 JNBECC JL 和 JNG3. 下列指令中等价的是rA JC 和 JOcB JG 和 JNLE D 、JBE 和口 JNAB JNC 和 JNOD 、JA 和 JGB -32768 -- +32767D 、0 -- +655351. Yes No 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。
2. Yes No 间接转移指令都可以通过寄存器来寻址。
3. Yes No 段间间接转移指令中,低地址的字送IP,高地址的字送CS4. Yes No 所有串操作指令的源串的段地址均取自于段寄存器DS:5. Yes No 串操作指令一般用CX存放长度:6. Yes No 约定寄存器法适合于参数较多的情况:广广7. Yes No 用赋值法编写子程序时,子程序内必须修改返回地址:r r8. Yes No RET N指令中,N可为任意值:选择题答案:1.B2.C3.C4.D5.A6.A判断题答案:1. 2. 3. 4.5. 6. 7. 8.汇编语言练习题:五章输入输出和中断调用文章来源:互联网编辑:lux in 加入日期:2008-11-22 点击:410选择题(每题只有一个正确的选项,一题十分,共50分)1.中断服务程序入口地址占用()个字节r rA. 4B. 6C. 2D.12.INT 1AH指令执行的结果高位字存在()中A. AXB. BXC. CXD. DX3.DOS系统功能调用的屏幕显示字符是()号调用A. 1B. 4C. 5D. 24.2BH DOS 功能调用中,月份送给()寄存器判断题(在正确的题目前打钩,错误的不必打钩,一题十分,共 30分)cC 1. Yes No IN AL ,DX 是将一个字节由输入端口传送至 AL Cn 2. Yes No 所有中断过程均可用 IRET 指令退岀r r 3.Yes No 8号类型的中断向量在中断向量表中的地址是 2*81. 2. 3. 汇编语言练习题:第六章常用程序设计文章来源:互联网 编辑:lux in 加入日期:2008-11-22 点击:309 选择题1.十进制数运算调整指令 AAS 可以紧跟在()之后:3. ()查表发的特点是速度快、效率高,但计算复杂C. ALD. AH5.键盘中断调用( 16H ) 的0号功能是将读入字符的 rA.AHr B.AL r C.BH r D.BL答案:1.A 2.C 3.D 4.A 5.BASCII 码送入() A. DHB. DLA SBBB 、DEC C CMPD NEG2. 除法调整指令 AAD 是对()调整:A AX 中组合的十进制被除数B 、AL 中组合的十进制的商数C AX 中未组合的十进制被除数D 、AL 中未组合的十进制的商数A 、计算B 、顺序 A AFD 、OF5.在一张降序表中要插入一个关键字为 KEY 的项,则首先必须找到第一个(KEYi < KEY判断题 r i. r Yes No 指令AAA 必须紧跟在加法指令之后使用。