汇编语言期末试卷复习(附答案)上课讲义

汇编语言期末试卷复习(附答案)上课讲义
汇编语言期末试卷复习(附答案)上课讲义

选择题

1. 已知X=78,Y= -83则[X+Y]补=()

A.0F5H

B.0A1H

C.0FBH

D.65H

2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是()

A.基址寻址

B.立即寻址

C.变址寻址

D.基址变址寻址

3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为()

A.17500H

B.16500H

C.14500H

D.13500H

4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是()

A.AX,BX,CX,DX

B.BP,SP,IP,CS

C.BX,BP,SI,DI

D.BH,BL,CH,CL

5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()

A. 表示结果中含1的个数为偶数

B. 表示结果中含1的个数为奇数

C. 表示该数为偶数

D. 表示结果中低八位含1的个数为偶数

6. 下列传送指令中,有语法错误的指令是()。

A.MOV CS,AX

B.MOV DS,AX

C.MOV ES,AX

D.MOV SS,AX

7. MOV SP,3210H

PUSH AX执行上述指令序理后,SP寄存器的值是()。

A.3211H

B. 320EH

C.320FH

D. 3212H

8. 设(DH)=20H,执行NEG DH指令后,正确的结果是()

A.(DH)=20H CF=1

B.(DH)=20H CF=0

C.(DH)=0E0H CF=0

D.(DH)=0E0H CF=1

9. 执行下面指令序列后,结果是()

MOV AL,82H

CBW

A.AX=0FF82H

B.AX=8082H

C.AX=0082H

D.AX=0F82H

10. 串操作指令中,目标串操作数的段地址一定在()寄存器中。

A.CS

B.SS

C.DS

D.ES

11. MOV DX, COUNT[BP][DI]的源操作数的寻址方式是()。

A.变址寻址

B.基址寻址

C.直接寻址

D.基址变址寻址

12. 指令MOV DX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为()。

A.6F300H

B.77800H

C.59800H

D.78700H

13. 在8086中,存储器是分段组织,每段最大长度是()。

A.16KB

B.32KB

C.64KB

D.128KB

14. V AR是数据段中定义的变量,指令MOV AX,V AR 源操作数的寻址方式是()。

A.立即寻址

B.直接寻址

C.相对寻址

D.寄存器寻址

15. 执行下面指令序列后,结果是()。

MOV AL,82H

CBW

A.AX=0FF82H

B.AX=8082H

C.AX=0082H

D.AX=0F82H

16. 在串指令REP MOVSB中,重复次数一定放在()寄存器中。

A.AX

B.BX

C.CX

D.DX

17. 循环指令LOOP NZ终止循环的条件是()。

A.CX=0,且ZF=0

B.CX=0,或ZF=1

C.CX≠0,且ZF=0

D.CX≠0,或ZF=1

18. 在汇编语言程序的开发过程中使用宏功能的顺序是()。

A.宏定义,宏调用

B.宏定义,宏展开

C.宏定义,宏调用,宏展开

D.宏定义,宏展开,宏调开

19. 要将DX的内容送入堆栈中从当前栈顶起第10个字中,应使用( )语句。

A.MOV 18[SP],DX B.MOV 18[BP],DX

C.MOV BP,SP D.PUSH 18[DX]

MOV 18[BP],DX

20. 要将BL中的8位数据送到1234H端口号的外部设备中去,应选用( )指令序列。

A.OUT 1234H,BL B.MOV DX,1234H

OUT DX,BL

C.MOV AL,BL D.MOV DX,1234H

MOV DX,1234H MOV AL,BL

OUT DX,AL OUT AL,DX

21.八位二进制补码表示的整数的数据范围为()。

A. -128~127

B. -127~127

C. -128~128

D. -127~128

22. 指令MOV AX , 10[SI] 的源操作数的寻址方式是()。

A. 寄存器寻址

B. 寄存器间接寻址

C. 变址寻址

D. 基址寻址

23.下列数据在汇编语言中是非法的是()。

A. 19AH

B. 1729

C. ABH

D. 13ADH

24.若栈顶的物理地址为:20100H,当执行完指令PUSH AX后,栈顶的物理地址为()。

A. 20102H

B. 20101H

C. 200FFH

D. 200FEH

25.当执行完下列指令后,标志位CF和SF的值为()。

MOV AL,85H

ADD AL,9DH

A. 0,0

B. 0,1

C. 1,0

D. 1,1

26.已知AL和BX为无符号数,计算AL*BX的乘积,则用下述程序段()。

A. MUL BX

B. IMUL BX

C. XOR AH,AH

D. CBW

MUL BX MUL BX

27.当A≥B时转移的条件转移指令为(A、B为带符号数)()。

A. JA

B. JAE

C.JG

D. JGE

28.已知指令执行前SP=100H,当执行:CALL BX指令后SP的内容为()。

A.0FDH

B. 102H

C. 98H

D. 0FEH

29.以下能表示指令存放地址的是()。

A. 符号名

B. 变量名

C. 标号

D. 常量

30.设变量定义伪指令为:X1 DB 0, 1 DUP( ?, 2 DUP( ? ), ‘A’), ‘1’, 则变量X1占()个存储单元。

A. 6

B. 8

C. 7

D. 12

汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( 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,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX TEST 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个字节数的总和并

汇编语言实验讲义实验2

实验二 算术运算类操作实验 (基础与设计) 一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握BCD码调整指令的使用方法 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 本实验主要进行算术运算程序设计和调试,涉及到的知识点包括: 1.加减法处理指令 主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。 2.乘除法指令和符号位扩展指令 主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW和从字扩展到双字的指令CWD。 3.BCD码的调整指令 主要有非压缩的BCD码加法调整指令DAA,压缩的BCD码减法调整指令DAS,非压缩的BCD码加法调整指令AAA,非压缩的BCD码减法调整指令AAS,乘法的非压缩BCD 码调整指令AAM,除法的非压缩BCD码调整指令AAD。 8088/8086指令系统提供了实现加、减、乘、除运算的上述基本指令,可对表1所示的数据类型进行数据运算。 二进制 BCD码 数制 带符号无符号组合非组合运算符+、-、×、÷+、-+、-、×、÷ 操作数字节、字、多精度字节(二位数字)字节(一位数字) 表1 数据类型数据运算表 各指令的格式、功能及其对标志位的影响等细节知识,请同学们查阅相关书籍,这里不再赘述。

第四章汇编语言程序设计题库

第四章汇编语言程序设计练习题 一、单项选择题(共40题) 1、关于指令MOV [BX],AX,以下叙述正确的是: A、目的操作数是寄存器操作数 B、源操作数是内存操作数 C、目的操作数是内存操作数 D、源操作数是立即操作数 2、执行下列程序,设(SS)=2000H,执行后(SP)=? MOV SP,2000H MOV AX,1234H PUSH AX A.21FFEH B.20000H C.22000H D.22002H 3、运算型指令的寻址和转移型指令的寻址,其不同点在于 A.前者取操作数,后者决定程序的转移地址 B.后者取操作数,前者决定程序的转移地址 C.两者都是取操作数 D.两者都是决定程序的转移地址 4、MOV ( ),300 A、WORD PTR [DX] B、BYTE PTR [BX] C、WORD PTR [BP] D、 AL 5、汇编语言程序代码必须位于代码段中,形成代码段物理地址的寄存器对是 A.SS: SP B.CS: IP C. DS: BX D. CS: BX 6、若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是() A.0041H B.4100H C.××41H D.4l××H 7、执行下面的程序段后,(AX)=() TAB DW 1,2,3,4,5,6 ENTRY EQU 3 MOV BX,OFFSET TAB ADD BX,ENTRT MOV AX,[BX] A.0003H B.0300H C.0400H D.0004H 8、下面表示段定义结束的命令是() A.ENDP B.ENDS C. ENDM D.END 9、设AL、BL,中都是带符号数,当AL<BL时转至NEXT处,在CMP AL,BL指令后应选用正确的条件转移指令是()

汇编语言微机原理及接口技术期末复习试卷以及参考答案八

重庆邮电大学2006/2007学年第二学期期末考试题 微机原理与接口技术考试题(A 卷) 一、单项选择题(每题1分,共20题) 1、一般,微机系统硬件由___部分组成,包括______。 A.4,CPU、存储器、I/O设备和接口电路 B.3,存储器,控制器和显示器 C.2,运算器和显示器 D.4,存储器,运算器,显示器和键盘 2、80X86微机系统有三条总线,它们是___________。 A. 地址总线、数据总线和控制总线 B. 地址总线、信息总线和存储器总线 C. 输入总线和输出总线 D. 单总线、面向微处理器双总线和面向存储器双总线 3、80X86微机中用来指出下一条要被执行指令的偏移地址的部件是___。 A.CS B.DS C.ES D.IP 4、在汇编语句MOV BL,’A’中,源操作数的寻址方式是___________。 A.直接寻址B.立即寻址 C.基址寻址D.寄存器间接寻址 5、以下指令中正确的是___________。 A.MOV DS,2D00H B.MOV CL,270 C.IN AL,DX D.MOV [DI],[SI] 6、已定义数据段 DATA SEGEMENT ORG 0213H DA1 DB 15H,34H,55H ADR DW DA1 DATA ENDS 能使AX中数据为偶数的语句是() A.MOV AX,WORD PTR DA1 B.MOV AL,DA1+2 C.MOV AL,BYTE PTR ADR+1 D.MOV AX,WORD PTR DA1+2 7、已知DS=1000H,ES=2000H,SI=0300H,内存10310H开始的两个单元中存放3A4BH,内存20310H开始的两个单元中存放4C5DH,则语句LEA BX,[SI+10H] 执行后,BX的值为________。 A.3A4BH B.4C5DH C.0310H D.3D5BH 8、MOV SP,4210H PUSH AX 执行上述指令后,SP寄存器的值是() A.4211H B.420EH C.420FH D.4212H 9、下列指令中不影响进位标志CF的指令是___________。

汇编语言——输入输出程序设计实验

实验四输入/输出实验(2学时综合性实验) 1.实验目的 (1) 掌握输入输出程序设计的概念和方法。 (2) 了解PC机外围芯片8259的功能。 (3)学习如何在PC机上编写具有输入输出功能的程序,包括8259芯片的使用方法。 2.实验说明 本实验要求自行编写一个显示器输出处理程序,它可以完成内存中保存的一串字符在屏幕显示, 因此本实验既属于输入输出实验,也属于中断实验。 3.实验内容 编写一个显示器输出处理中断程序(名为NEW09),实现DOS 21H中断的9号功能,在屏幕上输出内存缓冲区BUF中以”$”结束的一串字符串。要求:缓冲区的偏移地址采用DX寄存器进行传递。 4.实验准备 (1) 预习输入输出程序设计的特点和方法。 (2) 仔细阅读参考程序,弄清外围芯片接口初始化的意义和方法。 5.实验步骤 (1) 建立源文件,并通过汇编和连接,产生可执行文件。 (2) 运行程序,观察常规字符键及功能键按下时程序的反应, DATAS SEGMENT buf db'li hongbin','$';此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS

main proc far START: mov al,68h mov ah,35h int 21h push es push bx push ds mov bx,offset buf mov dx,offset new09 mov ax,seg new09 mov ds,ax MOV AX,DATAS MOV DS,AX pop ds pop bx pop es sti mov al,68h mov ah,25h int 21h main endp

汇编语言期末试卷复习(附答案)上课讲义

选择题 1. 已知X=78,Y= -83则[X+Y]补=() A.0F5H B.0A1H C.0FBH D.65H 2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是() A.基址寻址 B.立即寻址 C.变址寻址 D.基址变址寻址 3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为() A.17500H B.16500H C.14500H D.13500H 4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是() A.AX,BX,CX,DX B.BP,SP,IP,CS C.BX,BP,SI,DI D.BH,BL,CH,CL 5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是() A. 表示结果中含1的个数为偶数 B. 表示结果中含1的个数为奇数 C. 表示该数为偶数 D. 表示结果中低八位含1的个数为偶数 6. 下列传送指令中,有语法错误的指令是()。 A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX 7. MOV SP,3210H PUSH AX执行上述指令序理后,SP寄存器的值是()。 A.3211H B. 320EH C.320FH D. 3212H 8. 设(DH)=20H,执行NEG DH指令后,正确的结果是() A.(DH)=20H CF=1 B.(DH)=20H CF=0 C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1 9. 执行下面指令序列后,结果是() MOV AL,82H CBW A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H

C程序设计语言期末考试题A有答案)

期末试题——C#程序设计语言(A卷) 说明:本试卷共四大题,试卷满分100分,考试时间120分钟。 一.判断题(每题1分,共10分,正确的打√,错误的打×) ( ) 1.“+、-、*、/、%、++、--均属于二元运算符。 ( ) 2.字符串类型属性引用类型。 ( ) 3.Visual Studio控件的属性窗口中,按钮“A->Z”点击后,属性列表会先按照功能分类排列属性后在每个单元中以名称排序。 ( ) 4.派生类可以继承基类的成员,以及方法的实现;派生的接口继承了父接口的成员方法,并且也继承父接口方法的实现。 ( ) 5.当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。 ( ) 6.隐式类型转换就是不需要声明目标类型就可以进行的转换? ( ) 7.如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数。 ( ) 8.在C#中在派生类中重新定义基类类的虚函数必须在前面加override。 ( ) 9.C#中方法的参数中输出型参数(out)的实参在传递给形参前,不需要明确赋值,但需在方法返回前对该参数明确赋值。 ( ) 10.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数。 二.单项选择题(每题2分,共40分) 一、(说明:每题有且仅有一个正确答案,请将正确答案填入下表) 1.C#程序设计语言属于什么类型的编程语言:a A.高级语言 B.自然语言 C.机器语言 D.汇编语言 2.如有int a=11;则表达式(a++*1/3)的值是:b A.0 B.3 C.4 D.12 3.类的字段和方法的默认访问修饰符是:b A. public B. private C. protected D. internal 4.对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。如圆周率PI始终为。现 在要声明一个名为PI的圆周率常量,下面哪段代码是正确的?b float PI;PI = ; float PI = ; const PI;PI = ; const PI = ; 5.请问经过表达式a=3+3>5?0:1的运算,变量a的最终值是什么?。c

汇编语言实验讲义

《汇编语言程序设计》实验指导书 计算机系宋勤 《汇编语言》实验学时分配表 实验一汇编语言程序上机过程以及调试 一、预习内容 . 工具软件、的使用 . 常用命令的使用: . 完整程序设计方法的格式。 二、目的要求 . 掌握常用工具软件、的使用 . 掌握常用命令: 能灵活使用这些命令调试程序 . 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。 三、实验内容 用两种方法把字符串复制到串中去; (1)从左到右的方向复制 (2)从右到左的方向复制 ' $' (?) ;************************************************ , , : 实验步骤: )用文字编辑工具(记事本或)将源程序输入完整后保存在:\下,注意保存时将文件扩展名改为(如)。 )打开桌面的“命令提示符”程序进入命令操作,先用命令改变路经,接着用”文件名” (如,这里文件名可以不带扩展名) 对源文件进行汇编,产生文件和文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 )用”文件名” (如;) 将文件连接成可执行的文件()。 )用调试程序,熟悉命令的使用: ()打进入控制,显示提示符‘‘。 ()用命令执行程序,可得与步骤相同的结果,也可用命令逐条运行这些指令,每运行一

行检查并记录有关寄存器及的变化情况,并注意标志位有无变化。 ()用命令检查键入的程序并记录,特别注意左边的机器码和指令地址。如果一条命令没有显示完全,可以再次输入命令,该命令会紧接着上一个命令的输出继续显示。 ()用命令’地址’设置断点,如,表示将断点设置在代码段的偏移地址为的指令前,并执行到该断点前。其中,命令中的地址项可以从上条命令的运行结果获得。 ()用命令查看各寄存器的情况。 ()用命令查看数据段的情况,表示从偏移地址开始,也可以指定其他偏移地址值。 ()用命令‘地址’的方式修改数据区的字符串,其中’地址’指需要修改的数据段内存单元偏移地址,可根据上条命令获得。如表示从偏移地址开始修改数据。 ()再次用命令执行程序,查看执行结果。 ()用命令退出,如果在上述步骤中碰到异常,可以先用命令退出后再进入调试。 四、实验报告或作业 .分析程序,画出程序流程图 .汇编,连接及调试时产生的错误,其原因及解决办法。 .思考: ) 上述实验中用修改数据段的内容,是否改变原文件的内容? ) 用单步执行命令运行程序,运行到 , ,指令后,和寄存器内容前后有何变化,产生变化的原因是什么? 附使用: .打进入 ,显示提示符‘‘。 .退出命令 .显示内存命令起始地址结束地址 .修改内存命令起始地址,连续修改打空格键。打回车键退出命令。 .检查寄存器命令 标志位显示 .修改寄存器命令寄存器名 .小汇编命令起始地址,不输入指令打回车键退出命令。 .反汇编命令起始地址结束地址 .文件命名命令盘号:文件名 .读文件命令内存地址 .写文件命令内存地址 .读扇区命令内存地址盘号(:) 扇区号扇区数 .写扇区命令内存地址盘号扇区号扇区数 .运行命令起始地址结束(断点)地址 .单步命令起始地址运行指令数,进入子程序内部。 .单步命令起始地址运行指令数,不进入子程序内部。 .内存搬家命令起始地址结束地址目的地址 标志位显示 .修改寄存器命令寄存器名 .小汇编命令起始地址,不输入指令打回车键退出命令。 .反汇编命令起始地址结束地址 .文件命名命令盘号:文件名 .读文件命令内存地址

汇编语言期末试卷A卷及答案

浙江理工大学2011—2012学年第 1 学期 《汇编语言A》期末试卷(A)卷 班级:学号:姓名: 一、单项选择题(在每小题的四个备选答案中,选择一个正确答案填在提干后的括号内,每小题2分,共30分) 1.下面表示段定义结束的命令是( ) A. ENDP B. ENDS C. ENDM D. END 2.8086CPU在基址变址寻址方式中,基址寄存器可以是( ) A. AX或CX B. BX或BP C. SI或BX D. DX或DI 3.执行CALL FAR PTR SUB1指令后,在堆栈区域中应( ) A.压入4个字节的内容B.弹出4个字节的内容 C.压入2个字节的内容D.弹出2个字节的内容 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是( ) A. MOV AL, 00H B. AND AL, 00H C. XOR AL, AL D. SUB AL, AL 5.完成同指令XCHG AX,BX相同功能的指令或指令序列是( ) A.MOV AX, BX B. PUSH AX POP BX C. MOV BX, AX D. MOV CX, AX MOV AX, BX MOV CX, AX 6.十进制数- 115用16位补码表示是() A.F115H B.F073H C.FF8DH D.FF73H 7.指令指针寄存器是() A. IP B. SP C. BP D. PSW 8.指令JMP WORD PTR [BX][SI]属于() A..寄存器间接寻址 B.相对基址变址寻址  C.段内间接寻址 D.段间间接寻址 9.下列传送指令中有语法错误的是( ) A. MOV CS, AX B. MOV DS, AX C. MOV SS, AX D. MOV ES, AX 10.执行下列程序,设(SS)=2000H,AL中的数据在内存地址___________中( ) MOV SP, 3000H MOV AX, 1234H PUSH AX ┅ A. 23000H B. 22FFCH C. 22FFEH D. 22FFFH 11.逻辑移位指令SHR用于 A. 带符号数乘2 B. 带符号数除2 C. 无符号数乘2 D. 无符号数除2 12.若用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)), 问:定义后,存储单元中有数据0100H的字单元个数是( ) A. 4 B. 3 C. 8 D. 12 13.执行下列指令后:( ) STR1 DW ‘AB’ STR2 DB 14 DUP(?) CNT EQU $ - STR1 MOV CX,CNT MOV AX,STR1 则寄存器CL的值是 A. 10H B. 12H C. 0EH D. 0FH 14.上题中,指令执行后,寄存器AX的值是( ) A. 00ABH B. 00BAH C. 4142H D. 4241H 15.与MOV BX,OFFSET VAR指令完全等效的指令( )

汇编语言实验

汇编语言实验大纲 一、说明 (一)实验教学目的 本课程为计算机应用专业的必修课程,主要讲述微机的体系结构和汇编语言程序设计方法。为配合这门课程的正常教学,取得良好的教学效果,培养学生实际的动手能力,使学生熟练掌握汇编语言分支、循环、子程序及输入输出程序的设计,掌握DOS、BIOS功能调用方法,掌握文件的读写方法。 (二)实验要求 掌握计算机的基本系统结构,了解掌握汇编语言 (三)实验课时安排 二、实验内容 实验一 DEBUG的应用 实验目的:熟悉DEBUG的应用,为学习指令系统打好基础。 实验内容:1.利用DEBUG观察寄存器的值。

2.直接汇编指令,单步调试,编辑数据等。 实验二指令系统实验: 实验目的:1.掌握指令系统,熟悉DEBUG的使用。 2.掌握8086的编程结构。 实验内容:1.利用DEBUG 直接向内存中汇编课堂上讲过的指令。 2.单步跟踪调试,观察寄存器的变化和指令执行的结果,加深对 指令的理解。 实验三汇编语言语法练习 实验目的:1.学习汇编源程序的编辑、编译、链接的全过程。 2.学习EDIT、MASM及LINK的使用 实验内容:1.在存储单元A起有两字节的无符号加数,在存储单元B起有两字节的无符号被加数,编写一段程序,求其两数相加,结果存回A单元处,然后汇编、链接、运行。 2.试编写一程序,比较两个字符串STRING1和STRING2所含的字符是否相同。若相同,则显示“Match”;否则,显示“No match” 实验四分支程序设计 实验目的:掌握分支程序设计的原理和方法,重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧法. 实验内容:1.将字符串转换成大写字母字符串。 2.根据用户键入的月份数在终端上显示该月的英文缩写名。 实验五循环程序设计

汇编语言基础试题

第一章基本知识 一、单项选择题(共40分,每题2分) 1.若十进制数为13 2.75,则其十六进制数为(B) A.21.3 B.84.C C.4.6 D.6 2.若[X补]=11111,则其十进制真值为(C) A.-31 B.-15 C.-1 D.31 3.某定点整数64位,含1位符号位,补码表示,则其绝对值最大负数为(A) A.-263 B.-264 C.-(263-1) D.-(263-1) 4.原码乘法是(D) A.用原码表示操作数,然后直接相乘 B.被乘数用原码表示,乘数取绝对值,然后相乘 C.乘数用原码表示,被乘数取绝对值,然后相乘 D.先取操作数绝对值相乘,符号位单独处理 5.在微机系统中分析并控制指令执行的部件是(C) A.寄存器 B.数据寄存器 C.CPU D.EU 6.已知X=76,则[X]补=(B) A.76H B.4CH C.0B4H D.0CCH 7.已知[X]补=80H, 则X=(D) A.80H B.0 C.0FFH D.-80H 8.已知[X]补=98H, 则[X]补/2=(A) A.0CCH B.4CH C.49H D.31H 9.已知X=78,Y=-83则[X+Y]补=(C) A.0F5H B.0A1H C.0FBH D.65H 10.在计算机的CPU中执行算术逻辑运算的部件是(A) A.ALU B.PC C.AL D.AR 11.将125转换成二进制数的结果(A) A.7DH B.7CH C.7EH D.7BH 12.将93H看成一个组合BCD码,其结果是(B) A.10010101 B.10010011 C.10000011 D.10000001 13.能被计算机直接识别的语言是(C) A.C语言 B.汇编语言 C.机器语言 D.面向对象语言

汇编语言实验整理

1.设计程序。实现Y=2X+3,X是一位十进制数。要求X从键盘输入,在下一行 显示“Y=2X+3=”以及十进制计算结果。 data segment\x db?\y dw?\mess1db0ah,0dh,'input x:$'\mess2db 0ah,0dh,'Y=2X+3=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let3:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'0'\jb out1\ cmp al,'9'\ja out1\and al,0fh\mov bl,2\mul bl\add ax,3\mov y,ax\mov cx,0\mov bx,10\let0:\mov dx,0\inc cx\idiv bx\push dx\cmp ax,0\jne let0\mov dx,offset mess2\mov ah,9\int 21h\let1:\pop ax\add ax,0030h\mov dl,al\mov ah,2\int21h\ dec cx\cmp cx,0\jnz let1\jmp let3\out1:\mov ah,4ch\int21h\ code ends\end start 2.编写程序,将键盘输入的小写字母变为大写字母显示在屏幕上,输入小写字 母以外的其它字符则退出。 data segment\mess1db0ah,0dh,'xiaoxieinput:$'\mess2db 0ah,0dh,'daxieoutput:$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let2:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\cmp al,'a'\jb out1\ cmp al,'z'\ja out1\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\let0:\sub bl,20h\mov dl,bl\mov ah,2\int21h\jmp let2\out1:\mov ah,4ch\int21h\code ends\end start 3.设计程序。实现Z=X/4+16*Y,X和Y都是一位十进制数。要求从键盘输入, 在下一行显示“Z=X/4+16*Y”以及十进制计算结果。 data segment\mess1db0ah,0dh,'input x:$'\mess2db0ah,0dh,'input y:$'\ mess3db0ah,0dh,'z=x/4+16*y=$'\data ends\code segment\assume cs:code,ds:data\start:\mov ax,data\mov ds,ax\let0:\mov dx,offset mess1\mov ah,9\int21h\mov ah,1\int21h\mov cl,2\sub al,30h\ mov ah,0\sar ax,cl\mov bl,al\mov dx,offset mess2\mov ah,9\int 21h\mov ah,1\int21h\sub al,30h\mov ah,0\mov cl,4\sal ax,cl\ add al,bl\mov bx,ax\mov dx,offset mess3\mov ah,9\int21h\let1:\ mov ax,bx\mov cx,0\mov bx,10\let2:\mov dx,0\inc cx\idiv bx\ push dx\cmp ax,0\jne let2\let3:\pop ax\add ax,0030h\mov dl,al\ mov ah,2\int21h\dec cx\cmp cx,0\jne let3\mov ah,4ch\int

第四章 汇编语言程序设计

第四章汇编语言程序设计 1、编程将片内40H~60H单元中的内容送到以3000H为首的存储区内。 答:MOV R1,#40H MOV R2,#21H MOV DPTR,#3000H L1: MOV A,@R1 MOVX @DPTR,A INC R1 INC DPTR DJNZ R2,L1 2、编程计算下列算式的程序 (1)23H+45H+ABH+03H= MOV A,#23H ADD A,#45H ADD A,#0ABH XCH A,B ;溢出处理 ADDC A,#00H XCH A,B ADD A,#03H ;A中为结果低位,B中为高位 (2)CDH+15H-38H-46H= MOV A,#0CDH ADD A,#15H SUBB A,#38H SUBB A,#46H (3)1234H+8347H= MOV A,#34H ADD A,#47H MOV 30H,A MOV A,#12H ADDC A,#83H MOV 31,A ;30H存结果低位,31H存结果高位 (4)AB123H-43ADCH= CLR C MOV A,#23H SUBB A,DCH MOV 30H,A MOV A,#0B1H SUBB A,#3AH MOV 31H,A MOV A,#0AH SUBB A,,#04H MOV 32H,A ;30H为低位,32H为高位 3、设有两个4位BCD码,分别存放在23H、22H单元和33H、32H单元中,求他们的和,并送入43H、42H单元中(低位在低字节,高位在高字节)。

答: MOV A ,22H ADD A ,32H MOV 42H ,A MOV A ,23H ADDC A ,33H MOV 43H ,A 4、略 5、编程计算片内RAM 区50H ~59H 单元中数的平均值,结果存放在5AH 中。 答: MOV R0,#8 MOV R1,#50H MOV A ,#00H L1: ADD A ,@R1 INC R1 DJNZ R0,L1 MOV B ,#8 DIV AB MOV 5AH ,A 6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b 值分别存在片外3001H 和3002H 单元中,结果存于片外3000H 单元中。 (1)?? ???÷?=b a b a Y 25b a b a b a ><=,,, MOV DPTR ,#3001H MOVX A ,@DPTR MOV 30H ,A ;a 暂存30H 单元 INC DPL MOVX A ,@DPTR CJNE A ,30H ,L1 ;是否a=b MOV A ,#25 SJMP SAVE L1: JNC L2 MOV B ,30H MUL AB SJMP SAVE L2: MOV B ,A MOV A ,30H DIV AB SAVE: MOV DPTR ,#3000H MOVX @DPRT ,A (2)?? ???-++++=10)() (10)(222b a b a b a Y 10)(,10)(,10)(,222>+=+<+b a b a b a

汇编语言期末考试试题及答案

汇编语言模拟试题及答案 一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分) 1.指令JMP FAR PTR DONE 属于参考答案为:C A .段内转移直接寻址 B ?段内转移间接寻址 C .段间转移直接寻址 D ?段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A ?对两个无符号数进行比较采用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 ,请给出这个数 据区最末一个字单元的物理地址是参考答案为:C A . 12CSBH B . 12B6BH C. 12C59H D . 12BFEH [解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+( 128 —1) >2 即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A . MOV AL ,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D . MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的 [BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B ?外循环初值应置外循环之内;内循环初值应置内循环之内 C ?内、外循环初值都应置外循环之外

汇编语言单片机考试试题和答案

一.单项选择题(30分) 在中断服务程序中至少应有一条() A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是() A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H 3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是() A.MOV B.MOVX C.MOVC D.以上都行 4.ORG2000H LACLL3000H ORG 3000H RET 上边程序执行完RET指令后,PC=() A.2000H B.3000H C.2003H D.3003H 5.要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是() A.98H B.84H C.42H D.22H 6.JNZREL指令的寻址方式是() A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址 7.执行LACLL4000H指令时, MCS-51所完成的操作是( ) A保护PCB.4000HPC C.保护现场 D.PC+3入栈, 4000HPC 8.下面哪条指令产生信号() A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为() A. 1KB B. 2KB C.4KB D.8KB 10.要想测量引脚上的一个正脉冲宽度,则TMOD的内容应为() A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是() A.0组 B. 1组 C. 2组 D. 3组 12.MOVX A,@DPTR指令中源操作数的寻址方式是() A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源() A.5 B. 2 C. 3 D. 6 14. MCS-51上电复位后,SP的内容应为( ) A.00H B.07H C.60H D.70H https://www.360docs.net/doc/3f12377606.html,0003H LJMP2000H ORG000BH LJMP3000H 当CPU响应外部中断0后,PC的值是() A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是() A.TCON B.PCON C.SCON D.TMOD 17.执行PUSHACC指令, MCS-51完成的操作是() A.SP+1SP, ACCSP B. ACCSP, SP-1SP C. SP-1SP, ACCSP D. ACCSP, SP+1SP 18.P1口的每一位能驱动() A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是() A.下一条指令的地址 B. 当前正在执行的指令 C.当前正在执行指令的地址 D.下一条要执行的 指令 20.8031是()A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令( ) A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH

汇编语言实验指导书.

汇编语言实验指导书纪平张雷编写 安徽工业大学计算机学院 二00四年三月 目录 实验一DEBUG的启动及其基本命令的使用 (2 实验二内存操作数及寻址方法 (6 实验三汇编语言程序的调试与运行 (8 实验四查表程序设计 (10 实验五系统功能调用 (12 实验六循环程序设计 (13 实验七分支程序设计 (15 实验八子程序设计 (18 实验九综合程序设计 (20 附录实验报告 (21 实验一DEBUG的启动及其基本命令的使用一.实验目的: 掌握DEBUG 的基本命令及其功能 二.实验内容:

DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 1、DEBUG程序的启动 在DOS提示符下,可键入命令: C>DEBUG[d:][path][文件名][ 参数1][参数2] 其中文件名是被调试文件的名称,它须是执行文件(EXE,两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需 的DEBUG命令。 在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。 2、DEBUG的主要命令 (1汇编命令A,格式为: -A[地址] 该命令从指定地址开始允许输入汇编语句,把它们汇编成机 器代码相继存放在从指定地址开始的存储器中。 (2反汇编命令U,有两种格式: 1-U[地址] 该命令从指定地址开始,反汇编32个字节,若地址省略,则从上 一个U命令的最后一条指令的下一个单元开始显示32个字节。

8086汇编语言程序设计实验指导书.

汇编语言上机实验指导书 一、概述 上机实验总学时为16学时,其中综合性实验为2学时。实验共有6项暂定为8次,每次2学时。 1.实验辅导的主要内容 实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。开始的实验介绍较细,后面的实验简要介绍。 2.实验的软硬件要求 关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。 3.加强实践能力的培养 实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。其中包括: 实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等; 开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。 对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。 实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性) 1.实验目的: (1) 熟悉汇编语言运行环境和方法 (2)了解如何使用汇编语言编制程序 (3) 熟悉DEBUG有关命令的使用方法 (4) 利用DEBUG掌握有关指令的功能 (5) 利用DEBUG运行简单的程序段 2.实验内容 (1)学会输入、编辑汇编语言程序 (2)学会对汇编语言程序进行汇编、连接和运行 (3)进入和退出DEBUG程序 (4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下。 3.实验准备 (1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。 (2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果的分析。 (3) 编写一个程序:比较2个字符串所含的字符是否相同。若相同则显示’Match.’,否则显示’No match!’;(1)仔细阅读有关DEBUG 命令的内容,对有关命令,都要事先准备好使用的例子。 4.实验步骤 (1)在DOS提示符下,进入MASM目录。 (2)在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。 ①调用edit输入、编辑源程序并保存在指定的目录中;例:edit abc.asm ②用汇编程序masm对源程序汇编产生目标文件obj。例:masm abc 不断修改错误,直至汇编通过为止。 ③用连接程序link产生执行文件exe.例:link abc ④执行程序 可直接从DOS执行程序,即在DOS环境中,输入文件名即可。 (3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。 5.实验报告要求 (1)源程序清单。 (2) 如何启动和退出EDIT程序。 (3) 如何对源程序进行汇编及编辑。

汇编语言期末试卷A卷及答案

汇编语言期末试卷A 卷及答案 -CAL-FENGHAI.-(YICAI)-Company One1

浙江理工大学2011—2012学年第 1 学期 《汇编语言A》期末试卷( A)卷 班级:学号:姓名: 一、单项选择题(在每小题的四个备选答案中,选择一个正确答案填在提干后的 括号内,每小题2分,共30分) 1.下面表示段定义结束的命令是( ) A. ENDP B. ENDS C. ENDM D. END 2.8086CPU在基址变址寻址方式中,基址寄存器可以是( ) A. AX或CX B. BX或BP C. SI或BX D. DX或DI 3.执行CALL FAR PTR SUB1指令后,在堆栈区域中应 ( ) A.压入4个字节的内容B.弹出4个字节的内容 C.压入2个字节的内容D.弹出2个字节的内容 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是 ( ) A. MOV AL, 00H B. AND AL, 00H C. XOR AL, AL D. SUB AL, AL 5.完成同指令XCHG AX,BX相同功能的指令或指令序列是 ( ) A.MOV AX, BX B. PUSH AX POP BX C. MOV BX, AX D. MOV CX, AX MOV AX, BX MOV CX, AX 6.十进制数- 115用16位补码表示是() A.F115H B.F073HC.FF8DH D.FF73H 7.指令指针寄存器是() A. IP B. SP C. BP D. PSW 8.指令JMP WORD PTR [BX][SI]属于() A..寄存器间接寻址B.相对基址变址寻址 C.段内间接寻址D.段间间接寻址 9.下列传送指令中有语法错误的是 ( ) A. MOV CS, AX B. MOV DS, AX C. MOV SS, AX D. MOV ES, AX

相关文档
最新文档