计算机主要硬件及技术指导,计算机硬件技术基实验指导书V1.3.doc

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

计算机硬件技术基础

实验指导书

东北大学计算中心

二零一零年四月

目录

第1章 汇编语言程序设计基础1

1.1汇编语言程序的语句1

1.1.1 语句格式1

1.1.2 数据定义1

1.2 汇编语言程序的结构2

1.3 汇编语言常用伪指令3

第2章 汇编语言程序调试过程6

2.1 汇编语言程序的命令行开发调试过程6

2.1.1 编辑源程序6

2.1.2 汇编程序8

2.1.3 连接程序10

2.1.4 调试程序11

2.2 汇编语言编程集成开发环境PWB18

2.2.1 编辑源文件19

2.2.2 运行程序20

第3章 汇编语言程序设计实验29

3.1 顺序程序设计29

3.2 分支程序设计31

3.3 循环程序设计35

3.4 综合程序设计37

第4章 实验报告撰写规范42

附录45

I ASCII码表45

II 指令速查表46

III 伪指令表50

IV DOS功能调用51

V 常用BIOS功能调用56

VI 错误码表58

第1章 汇编语言程序设计基础

汇编语言程序的语句

1.1.1 语句格式

汇编与言语句一般是由分隔符分成的四个部分组成,格式如下:

[名字] 助记符 [操作数] [;注释]

其中带方括号的项可以省略。

名字项是合法的标识符,包括标号、变量名、过程名、段名或符号名等。其中,标号后要跟冒号(:),用于指令之前,表示指令的起始地址。

标识符由字母、数字以及_、$、?和@组成,并满足如下要求:

不能以数字开头;

不能单独使用或,它们有专门用途;

不能是系统的保留字,如指令名、寄存器名和伪指令名等。

一个名字的最大有效长度为31,超过31的部分计算机不再识别。

为了便于记忆,名字的定义最好能够见名知义,如用BUFFER表示缓冲区,SUB表示累加和等。

助记符项可以是指令或伪指令。

操作数项包含0个、一个或多个操作数,依赖于具体的指令或伪指令。多个操作数之间以逗号(,)分隔。

注释项以分号(;)开始。

汇编语言源程序中的每条语句一般占一行,每行不超过132个字符(MASM6.0开始可以是512个字符),汇编语言对大小写是不敏感的。为了使程序具有较好的可读性,应该使各个项对齐。通常将名字项放在第一列,后面的几项依次以一个或多个TAB分隔。

1.1.2 数据定义

通过数据定义语句可为数据项分配存储单元,并根据需要设置其初值。还可用符号代表数据项,此时符号就与分配的存储单元相联系。代表数据项的符号本身称为变量名,与之相对应的存储单元用于存放变量,所以常常就把这样的存储单元称为变量。

[例1.1] 定义字节数据

COUNTDB100;定义一个字节的存储空间,存放100

BUFFDB3+4,5*6;定义两个字节的存储空间,存放7,30

[例1.2] 定义字数据

FLAG1DW65530;定义一个字存储空间,存放65530

FLAG2DW0F020H;定义一个字存储空间,存放0F020H

[例1.3] 定义没有初值的数据项

BUF1DW?,?;定义两个字存储空间,没有定义初值

[例1.4] 定义字符串

MESS1DB“HELLO!”;定义一个字符串,内容是HELLO!

MESS2DB‘H’,’E’,’L’,’L’,’O’,’!’;定义一个字符串,内容是HELLO!

[例1.5] 重复操作符DUP

BUF2DB5 DUP(0);定义5个字节的存储空间,初值均为0

[例1.6] 使用EQU定义等值表达式

COUNTEQU234;

[例1.7] 使用等号定义

COUNT=234;

[例1.8] 使用$定义

$是一个特殊的地址表达式,表示当前地址。

XDW0,1,2,4,8,4,2,1,0;

LENDB$-X;变量LEN的值等于18

1.2 汇编语言程序的结构

汇编语言源程序建立在段结构的基础上,一个段就是一些指令和数据的集合。所以一个汇编语言源程序,根据程序用途被划分成几段,如数据段、堆栈段、附加段和程序段(代码段),用CS、DS、SS、ES段寄存器存放段值。这样就构造了源程序的基本格式:

DATASEGMENT

DATAENDS

EXTRASEGMENT

EXTRAENDS

STACK1SEGMENT

STACK1ENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

ASSUMESS:STACK1,ES:EXTRA

START:MOVAX,DATA

MOVDS,AX

C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值