- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机原理与汇编汇新编语言基础
汇编语言概述;;设置数据段
DATA SEGMENT
A DB 25 ;数据A
B DB 3 ;数据B
C DB 76 ;数据C
Y DB ? ;存放结果
DATA ENDS
;设置堆栈段
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS;;设置代码段
COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA,SS:STACK1
START: MOV AX , DATA ;装填段寄存器DS
MOV DS , AX
MOV AL , A ;取数据A
ADD AL , B ;计算(A+B)
SAL AL , 1 ;计算 2(A+B)
SUB AL , C ;计算 2(A+B)-C
MOV Y , AL ;存结果
MOV AH,4CH ;结束用户程序,返回操作系统
INT 21H
COSEG ENDS
END START;汇编语言:
是汇编格式指令,伪指令的集合及其表示,使用这些指令的一组规则。
机器语言:
用二进制编码的机器指令的集合及一组使用规则,它是CPU能直接识别的唯一语言。
MOV DS,AX —— 汇编语言
8E D8 —— 机器语言(目标代码);汇编语言与目标代码的对应;与机器语言相关
效率高
编写源程序繁琐
调试困难;二、汇编语言语句种类;格式:
名字 操作符 操作数 ; 注释
指令语句: [标号:] 助记符 [操作数[,操作数]][;注释]
伪指令语句:[名字] 定义符 [参数,...,参数] [;注释]
命名规则:
可以用 ?,@,_,数字和英文字符。
名字的第一个字符不能是数字。
名字的长度不受限制,但只有前31个字符有效。
不允许用保留字作名字(指令,伪指令,寄存器名等)。;指令语句: [标号:]助记符 [操作数[,操作数]][;注释];伪指令语句:[名字] 定义符 [参数,...,参数][;注释];三、符号定义语句;2. 等号语句
格式: 符号 = 表达式
CONT=5
NUM=10H
NUM=NUM+20H
表达式形式同上,但可多次重新定义同一符号。
;例:
DATA SEGMENT
DA1 DB 9AH
DA2 DW 5678H
DA3 DD
DATA ENDS;格式: 变量名 DB/DW/DD 表达式1,表达式2,...
表达式:
(1)数值
(2)字符/字符串
(3)?表达式:分配相应数量的存储单元,但不初始化。
(4)带DUP的表达式:使用重复数据操作符DUP,能方便地定义连续的存储单元。
格式: 变量名 DB/DW/DD 表达式1, DUP(表达式2)
次数 内容
操作符DUP可以嵌套使用:
DA_B3 DB 10H DUP(4 DUP(3),8);;;;数据类型;1.常数 数值常数:二、八、十、十六进制 B,O,D,H
字符串常数
2. 变量
用数据定义语句定义并预置初值后,变量代表存储单元的数据,并作为该单元的符号地址。
变量引用:
(1)在指令语句的操作数字段中,引用的变量名作为地址表达式的组成部分之一。
地址表达式的值:存放操作数的存储单元偏移量。
地址表达式的类型:同变量名的类型。
(2)在用DW或DD的数据定义语句中,若操作数字段引用了变量名,则在分配的存储单元中,预置被引用的变量名的地址部分—— 偏移量(DW ;DD,前两个字节)
—— 段基值(DD ,后两个字节);3. 标号:一条指令的符号地址。
段属性
偏移属性
类型属性 NEAR/FAR
类型属性设置:
(1)隐含方式:NEXT:MOV AX, 3000
(2)用LABEL伪指令设置类型属性:
标号伪指令LABEL格式:
名字 LABEL 类型
与指令语句配合使用:
名字(新标号) LABEL 类型(NEAR/FAR)
SUB1_FAR LABEL FAR
SUB1: MOV AX,1234H
与数据定义语句配合使用:
名
文档评论(0)