计算机硬件技术基础实验指导书V1.3.doc

计算机硬件技术基础实验指导书V1.3.doc

ID:56282166

大小:2.31 MB

页数:76页

时间:2020-06-05

计算机硬件技术基础实验指导书V1.3.doc_第1页
计算机硬件技术基础实验指导书V1.3.doc_第2页
计算机硬件技术基础实验指导书V1.3.doc_第3页
计算机硬件技术基础实验指导书V1.3.doc_第4页
计算机硬件技术基础实验指导书V1.3.doc_第5页
资源描述:

《计算机硬件技术基础实验指导书V1.3.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机硬件技术基础实验指导书东北大学计算中心二零一零年四月目录第1章汇编语言程序设计基础11.1汇编语言程序的语句11.1.1语句格式11.1.2数据定义11.2汇编语言程序的结构21.3汇编语言常用伪指令3第2章汇编语言程序调试过程62.1汇编语言程序的命令行开发调试过程62.1.1编辑源程序62.1.2汇编程序82.1.3连接程序102.1.4调试程序112.2汇编语言编程集成开发环境PWB182.2.1编辑源文件192.2.2运行程序20第3章汇编语言程序设计实验293.1顺序程序设计293.2分支程序设计313.3循环程序设计35

2、3.4综合程序设计37第4章实验报告撰写规范42附录45IASCII码表45II指令速查表46III伪指令表50IVDOS功能调用51V常用BIOS功能调用56VI错误码表58第1章汇编语言程序设计基础1.1汇编语言程序的语句1.1.1语句格式汇编与言语句一般是由分隔符分成的四个部分组成,格式如下:[名字]助记符[操作数][;注释]其中带方括号的项可以省略。名字项是合法的标识符,包括标号、变量名、过程名、段名或符号名等。其中,标号后要跟冒号(:),用于指令之前,表示指令的起始地址。标识符由字母、数字以及_、$、?和@组成,并满足如下要求:

3、(1)不能以数字开头;(2)不能单独使用或,它们有专门用途;(3)不能是系统的保留字,如指令名、寄存器名和伪指令名等。(4)一个名字的最大有效长度为31,超过31的部分计算机不再识别。为了便于记忆,名字的定义最好能够见名知义,如用BUFFER表示缓冲区,SUB表示累加和等。助记符项可以是指令或伪指令。操作数项包含0个、一个或多个操作数,依赖于具体的指令或伪指令。多个操作数之间以逗号(,)分隔。注释项以分号(;)开始。汇编语言源程序中的每条语句一般占一行,每行不超过132个字符(MASM6.0开始可以是512个字符),汇编语言对大小写是不敏

4、感的。为了使程序具有较好的可读性,应该使各个项对齐。通常将名字项放在第一列,后面的几项依次以一个或多个TAB分隔。1.1.2数据定义通过数据定义语句可为数据项分配存储单元,并根据需要设置其初值。还可用符号代表数据项,此时符号就与分配的存储单元相联系。代表数据项的符号本身称为变量名,与之相对应的存储单元用于存放变量,所以常常就把这样的存储单元称为变量。[例1.1]定义字节数据COUNTDB100;定义一个字节的存储空间,存放100BUFFDB3+4,5*6;定义两个字节的存储空间,存放7,30[例1.2]定义字数据FLAG1DW65530;

5、定义一个字存储空间,存放65530FLAG2DW0F020H;定义一个字存储空间,存放0F020H[例1.3]定义没有初值的数据项BUF1DW?,?;定义两个字存储空间,没有定义初值[例1.4]定义字符串MESS1DB“HELLO!”;定义一个字符串,内容是HELLO!74MESS2DB‘H’,’E’,’L’,’L’,’O’,’!’;定义一个字符串,内容是HELLO![例1.5]重复操作符DUPBUF2DB5DUP(0);定义5个字节的存储空间,初值均为0[例1.6]使用EQU定义等值表达式COUNTEQU234;[例1.7]使用等号定义

6、COUNT=234;[例1.8]使用$定义$是一个特殊的地址表达式,表示当前地址。XDW0,1,2,4,8,4,2,1,0;LENDB$-X;变量LEN的值等于181.2汇编语言程序的结构汇编语言源程序建立在段结构的基础上,一个段就是一些指令和数据的集合。所以一个汇编语言源程序,根据程序用途被划分成几段,如数据段、堆栈段、附加段和程序段(代码段),用CS、DS、SS、ES段寄存器存放段值。这样就构造了源程序的基本格式:DATASEGMENT┊DATAENDSEXTRASEGMENT┊EXTRAENDSSTACK1SEGMENT┊STACK

7、1ENDSCODESEGMENTASSUMECS:CODE,DS:DATAASSUMESS:STACK1,ES:EXTRASTART:MOVAX,DATAMOVDS,AX┊CODEENDSENDSTART结合上面的源程序结构格式,需要说明如下:(1)互相配对的SEGMENT和ENDS前的标号必须一样;(2)ASSUME语言使汇编程序得知哪一段是数据段(DS),哪一段是堆栈段(SS),哪一段是附加段(ES),哪一段是代码段(CS)。除CS段以外,各个段寄存器的实际值还要用MOV指令来赋予;(3)ENDSTART表示源程序结束。下面,我们通过

8、一个简单的汇编语言程序来说明汇编语言的结构DSEGSEGMENT;数据段开始DATA1DB13H,26HDATA2DW0DSEGENDS;数据段结束74SSEGSEGMENTSTACK;堆栈段

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。