《计算机输入输出系统》汇编实验指导书17页word文档
《计算机输入输出系统》实验指导书第一部分80X86汇编语言实验杨全胜编东南大学计算机科学与工程学院、软件学院第一章 x86 16位汇编语言程序调试工具—DebugDEBUG是为汇编语言设计的一种调试工具,它通过单步和设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
在DOS的提示符下,可键入命令:C>DEBUG [d:][path][filename[.ext]][parml][parm2]其中,文件名是被调试文件的名字。
如用户键入文件名,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。
如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。
命令中的d指定驱动器,Path为路径,parml和parm2则为运行被调试文件时所需要的命令参数。
在DEBUG程序调入后,将出现提示符“-”,此时就可用DEBUG命令来调试程序。
下面介绍DEBUG的主要命令。
1. 显示存储单元的命令D(DUMP)格式为:-D[address]或-D[range]例如,按指定范围显示存储单元内容的方法为:-d100 11F1636:0100 00 8B 36 EB D8 8B 0E E9-D8 8B D6 E3 42 51 565B ..6.........BQV[1636:0110 2B DE 59 03 CB 8B D6 C6-06 CD DC 00 34 00 25 16 +.Y.........4.%.其中,0100H至011FH是DEBUG显示的单元内容。
左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,.表示不可显示的字符。
这里没有指定段地址,D命令自动显示DS段的内容。
如果只指定首地址,则显示从首地址开始的128个字节的内容。
如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。
以上命令也可写为-D100L20,其中L表示长度。
注意:在DEBUG中,与汇编语言不同,所有数默认为16进制数。
2. 修改存储单元内容的命令E(Enter)输入命令E有两种格式。
第一种格式可以用给定的内容表来替代指定范围的存储单元内容。
命令格式为:-E address [list]例如,-EDS∶100 F3'XYZ'8D其中F3,'X','Y','Z'和8D各占一个字节,该命令可以用这五个字节来替代存储单元DS∶0100H到0104H的原先的内容。
第二种格式则是采用逐个单元相继修改的方法。
命令格式为:-E address例如,-ECS∶100则可能显示为:14A0∶0100 00.如果需要把该单元的内容修改为78,则用户可以直接键入78,再按“空格”键可接着显示下一个单元的内容,如下:14A0∶0100 00.78 8B.这样,用户可以不断修改相继单元的内容,直到用Enter键结束该命令为止。
3. 检查和修改寄存器内容的命令R(Register)它有三种格式。
第一,显示CPU内所有寄存器内容和标志位状态,其格式为:-R。
例如:-rAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=14A0 ES=14A0 SS=14A0 CS=14A0 IP=0100 NV UP EI PL NZ NA PO NC14A0∶0100 F3 REPZ14A0∶0101 7879 JS 017C第二,显示和修改某个寄存器内容,其格式为:-R register。
例如,键入-rAX,系统将响应如下:AX 0000即AX寄存器的当前内容为0000H,如不修改则按Enter键,否则,可键入欲修改的内容,如:-rbxBX 0000:369则把BX寄存器的内容修改为0369H。
第三,显示和修改标志位状态,命令格式为:-RF。
系统将响应如:NV UP EI PL NZ NA PO NC -此时,如不修改其内容可按Enter键,否则,可键入欲修改的内容。
如:NV UP EI NG NZ NA PO NC -ngovdnpo即可,可见键入的顺序可以是任意的。
但必须按照标志位的置复位表示方法书写。
4. 运行命令G(Go)其格式为:-G[=address1][address2][address3...]]其中,地址l指定了运行的起始地址,如不指定则从当前的CS∶IP开始运行。
后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容和下一条将要执行的指令。
5. 跟踪命令T(Trace)有两种格式。
第一,逐条指令跟踪,其格式为:-T[=address]从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。
如未指定地址,则从当前的CS∶IP开始执行。
第二,多条指令跟踪,其格式为:-T[=address][value]从指定地址起执行n条指令后停下来,n由value指定。
6. 汇编命令A(Assemble)其格式为:-A [address]该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。
7. 反汇编命令U(Unassemble)①从指定地址开始,反汇编32个字节,其格式为:-u[address]例如:-U100如果地址被省略,则从上一个u命令的最后一条指令的下一个单元开始显示32个字节。
②对指定范围内的存储单元进行反汇编,格式为:-u[range]例如:-U100 10C或U100LD8. 命名命令N(Name)其格式为:-N filespecs [filespecs]命令把两个文件标识符格式化在CS∶5CH和CS∶6CH的两个文件控制块中,以便在其后用L或W命令把文件装入或存盘。
filespecs的格式可以是:[d:][path]filename[.ext]例如,-N myprogL-L可把文件myprogL装入存储器。
9. 装入命令L(Load)①把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。
其格式为:-L[address][drive sector number]②装入指定文件,其格式为:-L[address]此命令装入已在CS∶5CH中格式化了的文件控制块所指定的文件。
如未指定地址,则装入CS∶0000H 开始的存储区中。
10. 写命令W(write)①把数据写入磁盘的指定扇区。
其格式为:-W address drive sector number②把数据写入指定的文件中。
其格式为:-W[address]此命令把指定的存储区中的数据写入由CS∶5CH处的文件控制块所指定的文件中。
如未指定地址则数据从CS∶0100H开始。
要写入文件的字节数应先放入BX 和CX中。
CX中为低16位,若数据长度大于64K,则使用BX记录高16位。
11. 帮助命令格式为-?显示DEBUG所有命令简明列表。
12. 退出DEBUG命令Q(Quit)其格式为:-Q它退出DEBUG,返回DOS。
本命令并无存盘功能,如需存盘应先使用W命令。
第二章汇编实验实验一汇编语言程序上机过程一)实验目的学会安装“16位汇编程序开发软件”的安装,完成将汇编语言源程序录入进计算机、利用ml.exe进行汇编,LINK进行链接,并用DEBUG调试16位程序的全部过程。
本实验大家不必了解程序细节,只是为了熟悉开发环境和上机过程。
二)实验内容1. 按照安装说明中所述,安装好16位汇编开发环境。
配置好相关的BAT 文件。
(本文假设大家是按照安装手册建议的路径安装的)2. 熟悉16位汇编程序的上机过程。
参照《汇编语言上机过程(自学)》PPT中“16位汇编语言上机过程”的内容,输入,汇编和调试下面的程序(命名为sample.asm, 程序功能是将BUFF 中的值(3C6DH)以十六进制的形式打印到屏幕上).8086.MODEL SMALL.STACK.DATABUFF WORD 3C6DHSTRING BYTE 'PRINT HEX.',0AH,0DH,'$'.CODESTART: MOV AX,@DATAMOV DS,AXMOV DX, OFFSET STRING MOV AH, 09HINT 21HLEA SI,BUFFMOV BX,[SI] MOV CH,4A1: MOV CL,4ROL BX,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL A2 ADD AL,7H A2: MOV DL,AL MOV AH,2 INT 21HDEC CHJNZ A1MOV AH,4CH INT 21H END START注:执行文件后,用DEBUG SAMPLE16.EXE命令将该程序调入到DEBUG环境中调试。
1)用U命令察看源代码2)用D命令察看数据段的数据3)用R命令察看寄存器状态4)用T命令单步跟踪程序执行5)用G命令设置断点,调试软件中断指令(int 21h)(不要用T)3. 写16位汇编程序,从键盘输入一个字符串,然后换行后将该字符串输出到屏幕。
实验二顺序程序设计一)实验要求通过这一部分的实验,进一步熟悉汇编过程和DEBUG调试过程;掌握用汇编语言编写顺序程序。
二)实验内容1. x,y,z,v均为16位带符号数,用16位汇编计算(v-(x*y+z-540))/x,用Debug调试并看结果, AX中是否为-2(FFFEH),DX中是余数-5(FFFBH)。
.8086.MODEL SMALL.DATAX WORD 30Y WORD 20Z WORD 40V WORD 35.CODESTART: MOV AX,@DATAMOV DS,AXMOV AX, XIMUL Y ; x*yMOV CX, AXMOV BX, DXMOV AX, ZCWDADD CX, AXADC BX, DX ; x*y+zSUB CX, 540SBB BX, 0 ;x*y+z-540MOV AX, VCWDSUB AX, CXSBB DX, BX ; v-(x*y+z-540)IDIV X ; (v-(x*y+z-540))/x.STACKEND START2. 写完整程序16位程序,在内存中从Table开始的10个单元中连续存放0到9的平方值,任给一个0到9的数X,该数存放在内存单元XX中,用XLAT 指令查表求X的平方值,并将结果存于内存YY单元中。
编写程序,并在DEBUG 中进行调试和验证结果。
3 . 假设CX:BX中放了4位非压缩的BCD码表示的十进制数4386,请编写完整程序将这个数转成2进制数放到DI寄存器中,并用DEBUG调试和验证之。
汇编语言实验指导书
目录第一部分汇编语言程序的上机过程 (1)一、建立汇编语言的工作环境 (1)二、在计算机上运行汇编语言的步骤 (1)三、建立ASM文件 (1)四、用MASM程序产生OBJ文件 (3)五、用LINK程序产生EXE文件 (3)六、程序的执行 (3)七、举例 (3)第二部分汇编语言上机调试 (4)一、为何需要调试? (4)二、如何进行调试? (5)第三部分汇编语言上机内容 (8)实验一输出字符串 (8)实验二算术指令综合编程 (8)实验三查找子字符串 (9)实验四字符串正向、反向输出 (9)实验五信息检索 (9)实验六格式化输出 (9)实验七数组合并 (10)实验八字符统计 (10)实验九数制转换 (10)第四部分汇编语言实验参考代码 (11)实验一输出字符串 (11)实验二算术指令综合编程 (11)实验三查找子字符串 (12)实验四字符串正向、反向输出 (13)实验五信息检索 (14)实验六格式化输出 (17)实验七数组合并 (18)实验八字符统计 (20)实验九数制转换 (22)第一部分汇编语言程序的上机过程一、建立汇编语言的工作环境为运行汇编语言程序至少要在磁盘上建立以下文件:1、编辑程序,如EDIT.EXE2、汇编程序,如MASM.EXE3、连接程序,如LINK.EXE4、调试程序,如必要时,还可建立如CREF.EXE,EXE2BIN.EXE等文件。
二、在计算机上运行汇编语言的步骤1、用编辑程序建立ASM源文件,以ASM作为扩展名2、用汇编程序把ASM文件转换成OBJ文件3、用连接程序把OBJ文件转换成可执行文件4、在DOS提示符下直接键入可执行文件名即可执行该程序三、建立ASM文件建立ASM文件的编辑程序可以是DOS自身带的编辑程序EDIT.EXE,在DOS提示符下键入EDIT命令即可出现EDIT界面,其操作如下:D:\>edit源程序输入完后,以ASM作为扩展名进行保存,假设所保存的文件名为:ex.asm。
汇编语言实验一 指导书
实验一:汇编上机指导及例示一、实验目的●了解汇编语言程序的运行环境和所需的系统程序;二、实验要求●掌握如何编辑、汇编、连接和运行汇编程序;●掌握常用的DEBUG命令。
三、实验原理题:在屏幕上显示一条'THIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAY'提示信息,如从键盘上输入ESC键,则结束程序,如输入的不是大写字母,则在显示器上显示出来,如输入的是大写字母,则转换为小写字母输出。
四、实验设备计算机五、实验步骤1、用用文字编辑工具(常用EDIT或记事本)将源程序输入,其扩展名为.ASM。
2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。
若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
3、用TYPE命令显示产生的.LST文件。
4、用LINK将.OBJ文件连接成可执行的.EXE文件。
5、在DOS状态下运行LINK产生的.EXE文件。
用于调试程序时的输入格式:DEBUG FILENAME.??? 回车其中FILENAME是主文件名,???是扩展文件名,例如我们在此前已编译好了一个文件,它的名字为:djx.exe 要对它进行调试时就在DOS提示符下打:DEBUG djx.exe 回车,便可见到 '-' 提示符,如无任何提示说明正确,可进行调试按ESC键可返回DOS。
若未出现预期结果,用DEBUG检查程序。
附: 基本debug操作1、显示内存单元的内容:-d [地址] 或 [范围]2、修改内存单元的内容:-e 地址内容表或-e 地址3、显示CPU内部寄存器和标志位状态:-r4、显示和修改某个寄存器的内容:-r 寄存器名5、汇编命令:-a 地址6、逐条指令追踪:-t [=地址] (无地址则执行IP所指示的指令)7、退出debug:-g8、多条指令追踪:-t [=地址] [n]注:该指令从指定地址起执行n条命令后停下来9、运行命令:-g [=地址1] [地址2 [地址3...]]地址1规定了运行起始地址,后面的地址均为若干断点地址10、反汇编命令:(1)-u [地址]该命令从指定地址开始,反汇编32个字节,若省略地址,则从上一个u命令的最后一条指令的下一单元开始显示32个字节(2)-u 范围该命令对指定范围的内存单元进行反汇编如:-u 04ba:0100 0108等价于:-u 04ba:0100 L9下面给出一些常见出错信息,以便查对:1、Register already defined 汇编内部出现逻辑错误2、Unknown symbol type 在符号语句的类型中,有些不能识别的东西3、Symbol is multi-defined 重复定义一个符号4、Symbol not defined 符号没有定义5、Syntax error 语句的语法与任何可识别的语法不匹配6、Symbol is reserved word 企图非法使用一个汇编程序的保留字(例:定义add为一变量)7、Not proper align/combine type SEGMENT参数不正确8、One operand must be const 这是加法指令的非法使用9、Operands must be same or 1 abs 这是减法指令的非法使用10、Already have base register 试图重复基地址11、Illegal size for item 引用的项的长度是非法的,(如:双字移位)12、Illegal register value 指定的寄存器值不能放入“reg”字段13、Must be AX or AL 某些指令只能用AX或AL14、Improper use of segment reg 段寄存器使用不合法(如:mov ds,0)15、Division by 0 or overflow 给出一个用0作除数的表达式16、Value is out of range 数值大于需要使用的17、CS register illeal usage 试图非法使用CS寄存器18、DUP is too large for linker DUP嵌套太长,以至于从连接程序不能得到所要的记录。
《汇编语言》实验指导书
(1)输入程序并汇编
_A100
0B03:0100 MOV DL,33
0B03:0102 MOV AH,2
0B03:0104 INT 2l
“0B03:0100”类似这样的地址是系统自动提供的,不需用户输入。至此程序已输入完毕,并汇编成机器指令。现在用G命令运行程序如下:
(2)运行程序
_G
3
Program terminated normally
编程思路(仅供参考):
该题目要求掌握运算中带符号数和无符号数运算的区别。本题目只考虑有符号数情况
参考程序清单:ABC.ASM
DATA SEGMENT
X DB1;x 单元存放数字1,以下类推
Y DB4
Z DB3
WDB?,? ;预留2个单元,存放运算结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
INT 21H
:
当要执行INT 21H这条指令时,若用T命令进行跟踪,则进入INT 21H程序(DOS功能调用)后,需要数十次T命令才能返回当前程序;若采用P命令进行调试,则只执行INT 21H一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当读者以后遇到CALL、INT n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用P命令。
若是0则为偶数若为2则为奇数可以采用test指令和条件转移指令jz来实现在内存中以buf单元开始缓冲区中连续存放着10个学生的分数试编制程序统计英中90100分8089分6079分及60分以下少人并把结果分别存放在s9s8s7和s6试编制程序从键盘输入学生成绩abcd自动汇总并显示各类分数的人数假定各类分数的总人数在0止输入
汇编语言 接口技术第七章 输入输出系统ppt实用资料
写完icw后8259a建立了基本的工作环境初始化命令字一定要在系统复位后首先写入8259a写入时要严格按照写入的顺序不允许颠倒写完初始化命令字后也要写入操作命令字ocw来改变某些中断方式操作命令字可以随时写入修改但是初始化命令字一经写入一般不再改动如果在写入初始化命令字后不写入操作命令字则8259a便处于全嵌套工作方式38259a操作命令字在初始化命令字写入8259a之后8259a就准备接收中断请求输入信号了在8259a工作期间cpu可以随时通过操作命令字使8259a完成各种不同的工作方式在写入时它们与初始化命令字不同不是按一定的顺序写入而是按设计者的要求写入的8259a操作命令字的寻址当初始化完成后对8259a操作命令字的寻址是通过8259a的地址线a和某些数据位结合来进行的
D7~D0
数据总线 缓冲器
INTA INT 控制逻辑
RD WR CS A0
CAS0 CAS1 CAS2 SP/ EN
读/写 控制电路
级联缓 冲/比较器
中断 服务 寄存器
(ISR)
优先权 判决 电路
IR0
中断 请求
IIRR12 IR3
寄存器 (IRR)
IIRR45 IR6
汇编实验指导书
实验一汇编语言程序的上机过程一、实验目的掌握汇编语言源程序的编辑、汇编、连接及运行过程,为以后的实验打下基础。
二、实验内容1、输入下列完整的程序STACK SEGMENT STACKDB 200 DUP(?)STACK ENDSDATA SEGMENTBUF DB‘HOW ARE YOU!$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START(本程序的正确运行结果是在屏幕显示“HOW ARE YOU!”)2、完成课本P193习题5.1。
三、实验步骤(1)利用EDIT编辑源程序;(2)汇编源程序;(3)连接目标程序文件;(4)运行可执行文件。
四、实验报告要求写出以上两个实验内容的题目、源码、具体实验步骤和实验结果。
1.在屏幕上打印字符串”How are you?”。
(1)源代码:;打印字符串"How are you?"STACK SEGMENT STACKDB 200 DUP(?)STACK ENDSDATA SEGMENTBUF DB 'How are you?$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AX;在屏幕上打印字符串LEA DX, BUFMOV AH, 9HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START(2)具体实验步骤:编辑→保存→masm→link→运行(3)结果截图:2.编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
《计算机操作系统》实验指导书
《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
为了收到良好的实验效果,编写了这本实验指导书。
在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。
任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。
进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。
实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。
实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
输入输出实验报告
一、实验目的1. 熟悉计算机输入输出设备的基本概念和作用。
2. 掌握常用输入输出设备的使用方法。
3. 了解输入输出设备的性能指标及其对计算机系统的影响。
二、实验环境1. 实验室:计算机实验室2. 硬件设备:计算机、键盘、鼠标、显示器、打印机、U盘等3. 软件:Windows操作系统三、实验内容1. 输入设备实验(1)键盘输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接键盘,确保键盘正常工作;③ 打开记事本,输入一段文字;2)实验结果:成功输入文字,观察键盘布局,了解各个键位的含义;3)实验总结:熟练掌握键盘布局,提高输入速度。
(2)鼠标输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接鼠标,确保鼠标正常工作;③ 使用鼠标在桌面进行拖动、点击等操作;2)实验结果:成功进行鼠标操作,熟悉鼠标的使用方法;3)实验总结:熟练掌握鼠标操作,提高操作效率。
2. 输出设备实验(1)显示器输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 观察显示器显示的桌面背景、图标等信息;2)实验结果:显示器正常工作,显示计算机信息;3)实验总结:了解显示器的作用,熟悉显示器的性能指标。
(2)打印机输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将打印机连接到计算机;③ 打开文档,进行打印设置;④ 点击打印按钮,将文档打印到纸上;2)实验结果:成功将文档打印到纸上;3)实验总结:了解打印机的工作原理,熟悉打印机的性能指标。
3. 存储设备实验(1)U盘存储实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将U盘插入USB接口;③ 在文件资源管理器中找到U盘,进行文件读写操作;2)实验结果:成功将文件存入U盘,从U盘中读取文件;3)实验总结:了解U盘的工作原理,熟悉U盘的容量、读写速度等性能指标。
四、实验结果与分析1. 输入设备实验通过键盘输入实验,掌握了键盘布局和输入方法,提高了输入速度。
完整word版,汇编实验报告,推荐文档
实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。
设定源程序的文件名为ABC。
DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。
图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。
2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。
汇编语言实验指导书
实验目的与要求一、实验目的学习程序设计的基本发方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。
为后续课程打下坚实的基础。
二、实验要求1、上机前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。
2、上机时要遵守实验室的规章制度、爱护实验设备。
要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。
在程序的调试过程中,有意识地学习及掌握debug程序的各种操作命令、以便掌握程序的调试方法和技巧。
3、每个实验完成后,应写出实验报告。
实验报告的要求如下:①实验目的②实验内容③算法分析及详细的寄存器和变量分配④流程图⑤程序代码⑥实验结果⑦分析总结(心得体会)实验一、汇编语言上机操作过程一、实验目的1、熟悉汇编语言程序的调试环境2、掌握部分DEBUG命令二、实验内容编写一个汇编语言程序,计算1+2+3+…+99+100,并将结果存入SUM字单元。
通过调试程序熟悉汇编语言的上机操作过程及部分命令。
三、上机操作过程1、建立ASM文件(编辑源程序)使用编辑程序EDIT在磁盘上建立源程序EX.ASM例如:D:\MASM>EDIT EX.ASM2、用MASM程序产生OBJ文件源文件建立后,就要用汇编程序对源文件汇编,汇编后产生二进制的目标文件(OBJ 文件)例如:D:\MASM>MASM EX3 、用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把目标文件转换为可执行的EXE文件例如:D:\MASM>LINK EX4、调试运行在建立了EXE文件后,就可以直接从DOS执行程序。
如果用户程序有错误或者没有直接将结果在终端上显示出来,程序执行完之后无法看见正确的结果。
那么怎么知道程序执行的结果是正确的呢?此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,得到正确的结果。
汇编实验报告--输入输出程序设计
实验六输入输出程序设计学生姓名:何茂杰学号:2010305104 专业班级:计算机本科一班指导老师:文远熔实验日期:实验成绩:一、实验目的1) 掌握输入输出程序的编写方法。
2) 熟悉系统功能调用的方法。
3) 熟悉动画程序的编写方法。
二、实验内容1)在CRT上每隔一秒连续显示字符0-9。
编程提示2)用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。
三.实验设计及步骤为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一个空格。
为了输出0-9,置寄存器BL初值为0,每循环一次使其增量。
为了保证输出是十进制,增量后用DAA调整指令。
由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。
1)在CRT上每隔一秒连续显示字符0-9。
2)用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。
3)编制在屏幕上画线的子程序,调用该子程序画一矩形。
4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。
5)创建一磁盘文件,保存从键盘输入的字符串。
6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。
7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。
8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。
四.实验结果执行程序EXAM5-1·EXE,屏幕上依次循环显示一个数字一个空格:0 1 2 3 4 5 6 7 8 9 ……执行程序EXAM5-2·EXE,输入HELLO↙屏幕上显示结果:*** HELLO ***五.实验心得:通过这次的实验又进一步加深了对汇编的理解以及它的整个运行过程,能熟练掌握它的运行过程,也能够看懂一些基本的顺序设计的汇编程序,能设计出简单的顺序汇编。
刚上机时只想按照老师给出的提纲,把缺省的部分照上面给出的提示简单修改后拷贝,可是当程序出错时便不知道哪里的问题也不会修改,最后静下心仔细看程序后理解了,很快就做出来了。
