文档库 最新最全的文档下载
当前位置:文档库 › 《汇编语言》作业及答案

《汇编语言》作业及答案

《汇编语言》作业及答案
《汇编语言》作业及答案

习题一

1.在计算机内部,计算机能够直接执行的程序语言是。

A.汇编语言B.C++语言

C.机器语言D.高级语言

2.在堆栈段中,存放栈顶地址的寄存器是。

A.IPB.SPC.BXD.BP

3.指令指针寄存器IP用来存放代码段中的偏移地址。在程序运行的过程中,它始终指向。

A.下一条指令的首地址B.下一条指令的地址

C.当前指令的首地址D.当前指令的地址

4.编译程序的功能是。

A.检查源程序中的语法错误和逻辑错误

B.将源程序编译成目标程序

C.改正源程序中的语法错误

D.将高级语言源程序翻译成汇编语言源程序

5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。

A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是。

A.控制器

B.运算器

C.CPU

D.存储器

7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件,该文件可在系统中运行。

习题二

1当SS=3000H,SP=0100H时,执行PUSH AX指令后,堆栈顶部的物理地址

是()

A.30100HB.30098HC.30102HD.300FEH

2设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是()

A.-82、-126、-2B.-2、-125、126

C.-2、-126、-125D.-82、-125、125

3标志寄存器中属于控制标志位的是()

A.DF,OF,SF

B.DF,IF,TF

C.OF,CF,PF

D.AF,OF,SF

4设(AX)=4544H,在执行指令”SUB AH,AL”之后,()

A.CF=0,OF=0B.CF=0,OF=1

C.CF=1,OF=0D.CF=1,OF=1

5若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为______19____________。

6若物理地址为2D8C0H,偏移量为B6A0H,则段地址为_2222H________。7设(AL)=70H,分析在SUB AL,9AH后,标志寄存器中CF、OF、ZF、PF、SF的状态。

CF=1,OF=1,,ZF=0,PF=0,SF=1

习题三

1、下列指令中,正确的一条是。

A)MOV BYTE PTR[BX],1000

B)MOV AX,[SI][DI]

C)LEA BX,4[BX]

D)MOV AX,ARRAY1+ARRAY2

2、指令SUB AX,5[BX+DI]的源操作数的寻址方式是。

A)寄存器寻址B)基址+变址寻址

C)变址寻址D)直接寻址

3、假设V1和V2是用DW定义的变量,下列指令中正确的是。

A)MOV V1,V2B)MOV V1,20H

C)MOV2000H,V2D)MOV AL,V1

4、设在内存单元(0010H)=12H,(0011H)=34H,对于从0010H处取一个字的叙述正确

的是________。

A)读出的字的值为1234H,需要访问两次存储器

B)读出的字的值为3412H,需要访问两次存储器

C)读出的字的值为3412H,需要访问一次存储器

D)读出的字的值为1234H,需要访问一次存储器

5、有指令“MOV SI,OFFSET DATA”,和它等效的指令是___LEA

SI,DATA_________。

6、对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:

IDIV BX

C.XOR DX,DX

D.CBW

DIV BX IDIV BX

8.使AL中的操作数0,1位变反,其它位不变的指令是_____XOR_03H_______________。

9.写出将寄存器BX,AX的内容互换的正确指令是____XCHG_AX,BX___________________。

10.设(AX)=2012H,执行CMP AX,2012H后(AX)=__2012H_________。习题五

(1)设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是()。

A.33CECH B.33CF2H

C.33CF4H D.33CE8H

(2)若(AX)=-15,要得到(AX)=15应执行的指令是()。

A.NEG AX B.NOT AX C.INC AX D.DEC AX

(3)将累加器AX内容清零的错误指令是()。

A.AND AX,0B.XOR AX,AX

C.SUB AX,AX D.CMP AX,AX

(4)填写执行下列程序段后的结果。

MOV DX,8F70H

MOV AX,54EAH

OR AX,DX

AND AX,DX

NOT AX

XOR AX,DX

TEST AX,DX

(AX)=__________、(DX)=__________、SF=__________

OF=________、CF=_________、PF=_________、ZF=__________ (AX)=0FFFFH,(DX)=8F70H,SF=1,OF=0,CF=0,PF=0,ZF=0

(5)DAT1DW12H,23H,34H,46H,57H

DAT2DW03H

LEA BX,DAT1

ADD BX,DAT2

MOV DX,[BX]

MOV AX,4[BX]

SUB AX,DX

执行上列程序段后,AX的内容为。

(AX)=2300H

(6)执行下列程序段后,AX和CF中的值是多少?

STC

MOV CX,0403H

MOV AX,0A433H

SAR AX,CL

XCHG CH,CL

SHL AX,CL

C>DEBUG

-R

AX=0000BX=0000CX=0079DX=0000SP=FFEE BP=0000SI=0000

DI=0000DS=10E4ES=10F4SS=21F0CS=31FF IP=0100NV UP DI PL

NZ NA PO NC

2.分析下列程序段执行后,AX寄存器的内容是什么?......

TABLE DW10H,20H,30H,40H,50H,60H,70H,80H

ENTRY DW6

......

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

(AX)=0040H

3.试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?......

VAR1DB86H

VAR2DW2005H,0021H,849AH,4000H

......

MOV AL,VAR1

CBW

LEA BX,VAR2

MOV DX,2[BX]

SUB AX,DX

(AX)=FF65H,(DX)=0021H

4.试分析下列程序段,回答所提问题。

ORG3000H

DB11H,12H,13H,14H,15H

3.设(AX)=1122H,(BX)=3344H,(SP)=5566H,执行如下程序段后,IP和SP的值

分别是什么?

SUN PROC

PUSH AX

ADD BX,AX

PUSH BX

POP BX

RET

SUN ENDP

IP=1122H,SP=5566H

4、

执行下列程序段后,AX和CF中的值是多少?

STC

MOV CX,0403H

MOV AX,0A433H

SAR AX,CL

XCHG CH,CL

SHL AX,CL

(AX)=4860H,CF=1

5、下列程序段运行后,HCOD和HCOD+1两字节单元内容是什么?

HEX DB‘0123456789ABCDEF’

HCOD DB?,?

MOV BX,OFFSET HEX

MOV AL,1AH

MOV AH,AL

AND AL,0FH

XLAT

MOV HCOD[1],AL

MOV CL,12

SHR AX,CL

XLAT

MOV HCOD,AL

‘1’,’A’

习题九

1、CALL DWORD PTR[BX]指令是段间调用还是段内调用。它一共向堆栈中压入几个字?两个字

2、在子程序设计时,为什么要保护和恢复现场?由于汇编语言所操作处理的对象主要是CPU寄存器,而主程序在调用子程序时,已经占用了一定的寄存器,子程序执行完毕返回主程序后,又要保证主程序按原有状态继续正常执行,这就需要对这些寄存器的内容加以保护

3、试分析下列程序段:

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP SHORT L5

如果AX和BX的内容如下:

AX BX

(1)14C6H80DCH

(2)B568H54B7H

(3)42C8H608DH

(4)D023H9FD0H

(5)9FD0H D023H

试问该程序分别在上面几种情况下执行后,程序转向哪里L1,L1,L2,L5,L5

习题十

1、下列指令中,在指令执行后有可能影响CS值的指令数目是()JMP MOV RET ADD INT

JC LODS CALL MUL POP

A.3B.4C.5D.6

2、下面关于宏指令的叙述不正确的是()

A.宏指令可以简化源程序的书写;

B.宏指令可以简化目标程序;

C.宏指令和子程序的存储形式和执行方式均不相同;D.从形式上看,宏指令可以扩充机器的指令系统。3、对于下列程序段:

AGAIN:MOV ES:[DI],AL

INC DI

LOOP AGAIN

可用指令()完成相同的功能。

A.REP MOVSB

B.REP STOSB

C.REP LODSB

D.REP LODSB

4、在下列指令中,隐含使用AL寄存器的指令有()条。

AAA MOVSB MUL BH

CBW SCASB XLAT

A.2B.3C.4D.5

5、假设ES段中有一个字符中串‘12FG3LM5C’,其名为ARRAY。当以下程序段执行后,CX的值是。

CLD

LEA DI,ES:ARRAY

MOV AL,‘G’

MOV CX,9

REPNE SCASB

HLT

A.0B.5C.4D.9

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

《汇编语言》在线作业二

请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出。 《汇编语言》在线作业二 一、单选题(共 20 道试题,共 100 分。) V 1. 在多重循环程序中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B )。 A. 不必考虑 B. 必须重新设置 C. 必须置1 D. 须清0 满分:5 分 2. 伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。 A. DEBUG B. LINK C. MASM D. EDIT 满分:5 分 3. 下列描述正确的是(D)。 A. 在多重循环程序中,内层循环只能有一个 B. 在汇编语言程序设计中,二重循环程序之间的关系可以交错 C. 在汇编语言程序设计中,每次循环应返回到置初值部分之前 D. 在汇编语言程序设计中,每次循环应返回到置初值部分之后 满分:5 分 4. 下列指令会影响标志位的指令是(D)。 A. JMP L

B. JC L C. MOV AL,L D. SHL AL,1 满分:5 分 5. LINK命令执行后可以生成一个以(B)为扩展名的文件。 A. ASM B. EXE C. OBJ D. COM 满分:5 分 6. 如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量 13H,那么转移后的指令的偏移地址为(C)。 A. 0102H B. 0113H C. 0115H D. 00FEH 满分:5 分 7. 若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADD AX,[BX]”指令后,AX=(A)。 A. 8856H B. 6678H C. 8800H D. 6600H 满分:5 分 8. 下列叙述正确的是(A )。 A. 执行一条段间调用指令,先将CS、IP的内容压栈,然后将目的地址送CS和IP。 B. 执行一条段间调用指令,先将目的地址送CS和IP,然后将CS、IP的内容压栈。

汇编语言实验讲义实验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 数据类型数据运算表 各指令的格式、功能及其对标志位的影响等细节知识,请同学们查阅相关书籍,这里不再赘述。

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

山东大学汇编语言上机实验——实验二

程序的基本结构练习 一:循环程序设计 一、实验目的 (1) 加深对循环结构的理解; (2) 掌握循环程序的设计方法; (3) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 3.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。三、算法描述流程图 实验内容1、2、3的流程图分别为图1、图2、图3。

四、实验步骤 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。1)输入源程序: DA TA SEGMENT BUF DW 23,123,-12,-210,45,0,90,-453 BUF1 DW 8 DUP(0) BUF2 DW 8 DUP(0) A DW B DW DA TA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DA TA START: MOV AX, DATA MOV DS, AX LEA BX, BUF LEA SI, BUF1 LEA DI, BUF2 MOV A,0 MOV B,0 MOV CX,8 L0: MOV AX,[BX] CMP AX,0 JGE L1 MOV [DI],AX ADD DI,2 INC B JMP NEXT L1: MOV [SI],AX ADD SI,2 INC A NEXT: ADD BX,2 LOOP L0 MOV AH, 4CH INT 21H CODE ENDS END START 2)运行程序。 3)检查结果无错误后将结果记录下来。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 1)输入源程序: DA TA SEGMENT STR DB 'HOW arE YoU!',0 DA TA ENDS

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

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

实验四输入/输出实验(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

汇编课程设计

燕山大学 汇编语言课程设计说明书 题目:计算机钢琴程序 交通灯控制系统 学院(系):信息科学与工程学院 年级专业: 10级计算机科学2班 学号: 100104010113 学生姓名:马强 学号: 100104010116 学生姓名:夏洋 指导教师:何海涛、邹晓红 完成日期: 2013年7月3日

目录 1.课程设计的目的和意义........................................................................................................... - 2 - 1.1课程设计目的................................................................................................................ - 2 - 1.2课程设计的意义............................................................................................................ - 2 - 2.题目一:计算机钢琴程序....................................................................................................... - 2 - 2.1系统的主要功能............................................................................................................ - 2 - 2.2总体设计方案................................................................................................................ - 2 - 2.2.1扬声器驱动方式................................................................................................. - 2 - 2.2.2延时原理............................................................................................................. - 3 - 2.2.3键盘控制发声程序............................................................................................. - 4 - 2.2.4设计总结............................................................................................................. - 5 - 2.3作品使用说明................................................................................................................ - 6 - 3.题目二:交通灯控制系统....................................................................................................... - 6 - 3.1系统的主要功能............................................................................................................ - 6 - 3.2 系统工作原理............................................................................................................... - 6 - 3.2.1 8259的工作原理................................................................................................ - 6 - 3.2.2 8255A的工作原理:...................................................................................... - 7 - 3.2.3 8253的工作原理:............................................................................................ - 7 - 3.3总体设计方案................................................................................................................ - 7 - 3.3.1程序流程图......................................................................................................... - 8 - 3.3.2接口电路图....................................................................................................... - 11 - 3.4交通灯的设计总结...................................................................................................... - 11 - 4.课程设计心得体会................................................................................................................. - 12 - 5.参考文献................................................................................................................................. - 12 - 6.附录:程序代码..................................................................................................................... - 12 - 6.1计算机钢琴程序代码.................................................................................................. - 12 - 6.2交通灯控制系统代码.................................................................................................. - 14 -

实验一熟悉汇编语言上机环境.pdf

实验一熟悉汇编语言上机环境 一、实验目的 熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。 二、实验要求 1.仔细阅读本实验教程的第一章和第二章; 2.学会使用EDIT建立汇编语言源程序文件; 3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法; 4.学会使用LINK将目标程序连接为可执行程序的两种方法; 5.学会使用DEBUG中的U、D、G命令。 三、实验举例 【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。 【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下+键时,停止程序的执行。 【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。 程序清单如下: SSEG SEGMENT STACK STK DB 80H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,SS:SSEG HTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 AND AL,0FH CMP AL,10 JC HTOA1 ADD AL,07 HTOA1: ADD AL,30H RET HTOA ENDP BHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 PUSH CX MOV CH,AL MOV CL,04 SHR AL,CL CALL HTOA MOV AH,AL MOV AL,CH CALL HTOA POP CX RET BHTOA ENDP DISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符 PUSH AX

《汇编语言程序设计》在线测试

《汇编语言程序设计》第01章在线测试 《汇编语言程序设计》第01章在线测试剩余时间:59:54 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、一个字节的二进制位数是____位。 A、4 B、8 C、16 D、32 2、微机中每个存储单元具有一个地址,其中存放一个____量。 A、比特(1位) B、字节(8位) C、字(16位) D、双字(32位) 3、设段地址为5788H,偏移地址为94H,该字节的物理地址_____。 A、57974H B、5883H C、58ECH D、57914H 4、汇编语言源程序中,每个语句由4项组成,不影响语句功能的是_____。 A、名字项 B、助记符(操作码) C、操作数 D、注释 5、执行INT 21H指令后,8086CPU将转入_____号中断服务程序。 A、20 B、20H C、21 D、21H 第二题、多项选择题(每题2分,5道题共10分) 1、如下________名称属于8086的16位通用寄存器。 A、IP B、DS C、BP D、DX E、AX 2、采用汇编语言进行程序开发,可以使用的工具软件有______。 A、文本编辑程序 B、汇编程序 C、调试程序 D、集成化开发环境 E、连接程序 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件

汇编语言实验讲义

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

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

汇编语言上机实验汇总

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后, (1) 编辑源程序(生成 .ASM (2) 汇编源程序(.ASM → .OBJ (3) 连接目标程序(.OBJ → .EXE (4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件) (5) 运行程序输出结果。 2、 Windows 环境下的汇编语言集成编程环境的使用 实验一 汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM 的使用; 4、熟练掌握连接程序LINK 的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

《微机原理与接口技术》教学大纲-48学时

《微机原理与接口技术》课程教学大纲 一、课程说明 二、学时分配表 三、教学目的与要求 1.本课程总体教学目的和要求 通过本课程的学习、上机操作,使学生较熟练地掌握微机的基本结构、基本工作原理,初步掌握汇编语言程序设计及微机接口技术,具有微机应用系统设计开发能力,并为其它后续课程奠定基础。

教学要求是通过课堂教学与演示,课后习题练习等环节,掌握微型计算机的基本组成与工作原理的基础知识,包括理解计算机硬件原理,能够设计或调试基本的微机硬件接口及驱动程序等多方面的技能。 2.各章教学要求和知识考核点 第1章微型计算机概述 目的和要求:主要了解微型计算机系统的构造及微型计算机工作过程。 重点:微型计算机的基本组成 难点:微型计算机工作过程 第2章微处理器 目的和要求:掌握8086/8088 CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;理解存储器读/写时序;了解微处理器的发展。 重点:Intel x86CPU微处理器的基本结构,寄存器、堆栈,引脚及其功能;最小/最大模 式下系统总线形成;存储器分段与物理地址形成 难点:Intel x86CPU的内部结构、典型时序分析 第3章寻址方式和指令系统 目的和要求:掌握有关寻址的概念;8086的6种基本的寻址方式及有效地址的计算;掌握8086指令系统 重点:掌握寻址方式;掌握常用指令的功能和用法 难点:区别指令的正确与错误。 第4章汇编语言程序设计 目的和要求:了解汇编语言特点、汇编程序功能、汇编语言结构;掌握汇编语言中的表达式、伪指令、宏定义的含义和用法;掌握DOS功能调用基本I/O,返回DOS方法,了解文件管理;理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能编写、运行、调试简单的汇编语言程序。 教学重点:汇编的概念及其方法, 掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤;顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法。 教学难点:伪指令、宏定义的用法;程序设计算法与流程图。 第5章输入输出接口 目的与要求:掌握输入/输出的基本概念;I/O的编址方法、特点;CPU与外设数据传递的方式及接口技术;理解程序控制传送方式、中断传送方式;掌握8086CPU I/O特点。 重点: I/O的编址方法、译码电路及CPU与外设数据传递的方式;掌握8086CPU I/O特点。难点:程序控制、中断、DMA方式特点及其应用场合 第6章存储器系统 目的与要求:了解存储器的作用、分类、结构及性能指标,了解存储器系统的多层结构;掌握静态RAM、动态RAM及EPROM的特点、基本结构、地址形成方法及典型芯片;了解DRAM 刷新;掌握存储器芯片的扩充的常用方法. 重点:存储器的分类、性能指标;读写存储器RAM、只读存储器ROM、存储器扩展及其与CPU的连接 难点:存储器的位/字扩充方式的方法及连接 第7章中断系统 目的与要求:掌握中断基本概念;深刻理解中断类型码、中断矢量和中断向量表的概念,以及如何对中断服务程序寻址;了解8259A的编程结构,理解8259A工作方式、有关命令和初始化编程及其在PC机中应用

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

汇编语言程序设计第一二三阶段在线作业

第一次在线作业)单选题 (共40道题 2.51.(分)8086CPU在基址变址的寻址方式中,变址寄存器可以为:?CX或、BX A?SI B、CX或?SI C、DX或?DI D、SI或我的答案:D 此题得分:2.5分的源操作数的位置是:,,则指令SI=1234H MOV AX,[BX+SI+2]2.52.(分)已知BX=2000H?的字节、数据段中偏移量为3236H A?的字节、附加段中偏移量为3234H B?的字节、数据段中偏移量为3234H C?的字节D、附加段中偏移量为3236H我的答案:分A 此题得分:2.5IP(2.5分)在程序执行过程中,寄存器中始终保存的是: 3.?、上一条指令的首地址A?、下一条指令的首地址B ?、正在执行指令的首地址C ?、需计算有效地址后才能确定地址D我的答案:2.5分B 此题得分:,那32K16分)位二进制)是某系列微机对存储器的分段,如果每一个段最多的字存储单元(2.54.(么表示段内字节单元偏移地址的二进制位数应是:?位20 A、?位16 B、?位C、15 ?位12 D、我的答案:B 此题得分:2.5分(2.5分)可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是:5.?DXCX,AX A、,BX,?SS,CSB、DS,ES, ?BXBP,IP,,C、SP?BXBP,,D、SIDI,我的答案:分D 此题得分: 2.5 . . . . 顺序存放在连续两个字存储单元中,可选用Ⅱ码两个字符的ASC41H,42H分)6.(2.5 要求将A,B的语句是:?‘AB'B A、DA1 D ?‘AB'DW B、DA1 ?ABHB C、DA1 ?ABHW D、DA1 我的答案:2.5分A 此题得分:下面语句中有语法错误的语句是:7.(2.5分)?5HDB A、?ABCDHB、DW ?‘ABCD'C、DW ?‘AB'、DDD 我的答案:分2.5C 此题得分:(2.5分)寄存器间接寻址方式中,操作数存放在:8.?、通用寄存器A?、堆栈B?、程序计数器C?、主存单元D 我的答案: D 此题得分:2.5分 2.5(分)操作数地址存放在寄存器的寻址方式称为:9.?、变址寻址A ?、寄存器寻址B?、相对寻址C?、寄存器间接寻址D我的答案:此题得分:2.5分D 操作数的物理地址是:BYTE PTR[DI](10.2.5分)设DI=3942HDS=8225H,,指令NEG ?85B92H、A?86192H、B?BB690H C、?12169H、D我的答案:2.5分A 此题得分:下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是:分)(2.5 11.?DX,BXCX,,、 AAX . . . . ?DI,SI,、BBX,BP?DXBP,,C、SP,IP ?SSES,、DCS,DS, 我的答案:2.5分B 此题得分:分配的存,10H),3BUF5) 上述语句汇编后,为变量12.10H (2.5分)BUF DW DUP(3 ,DUP(2储单元字节数是:?80HA、 ?100HB、 ?124C 、?192、D我的答案:此题得分:2.5B 分13.发出的访问存储器的地址是:(2.5分)CPU?、物理地址A?、偏移地址B?、逻辑地址C?、段地址D我的答案:分A 此题得分:2.5]指令中的操作数的数据类型是:BYTE DEC PTR[BX14.(2.5分) ?、字A?、双字B?、字节C?、四字D我的答案:C 分此题得分:2.5BUFFER称为:,0AH 中,15.(2.5分)在语句BUFFER DB 01H?、符号A?、变量B?、助记符C?、标号D我的答案:B 此题得分:2.5分将数据5618H存放在存储单元中的伪指令是:16.(2.5分)?1856HDATA1 DW A、

相关文档
相关文档 最新文档