- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机汇编与其原理课件
第八章汇编语言;;设置数据段
DATA SEGMENT
A DB 25 ;数据A
B DB 43 ;数据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
COUNT=VAR ;COUNT是变量VAR的别名
COUNT=NUM ;COUNT是常数NUM的别名
表达式形式同上,但可多次重新定义同一符号。
;四、数据定义语句;例:
DATA SEGMENT
DA1 DB 9AH
DA2 DW 5678H
DA3 DD
DATA ENDS;格式: 变量名 DB/DW/DD 表达式1,表达式2,...
表达式:
(1)数值
DA_BYTE1 DB 50H
DA_BYTE2 DB 10H,20H,30H,40H
DA_WORD1 DW 0A34H
DA_WORD2 DW 1234H,5678H,9ABCH
DA_DWORD DD,9ABCDEFH
;格式: 变量名 DB/DW/DD 表达式1,表达式2,...
表达式:
(2)字符/字符串
字符串必须用引号括起来
DB时一个字符串可以连续书写小于255个字;
DW、DD时每一个字符串表达式由1~2个字符构成;
STRING1 DB ‘STRING’
STRING2 DW ‘ST’,‘RI’,‘NG’
STRING3 DD ‘ST’,‘RI’,‘NG’
;STRING1;格式: 变量名 DB/DW/DD 表达式1,表达式2,...
表达式:
(3)?表达式:分配相应数量的存储单元,但不初始化。
DA_BYTE3 DB ?,?
DA_WORD3 DW ?,?;格式: 变量名 DB/DW/DD 表达式1,表达式2,...
表达式:
(4)带DUP的表达式
DA_B1 DB 10H DUP(?)
DA_B2 DB 20H DUP(‘ABCD’)
DA_W1 DW 10 DUP(4)
DA_W2 DW 10 DUP(-1,1)
操作符DUP可以嵌套使用:
DA_B3 DB 10H DUP(4 DUP(3),8);1.常数
数值常数:二、八、十、十六进制 B,O,D,H
字符串常数
(1)在指令语句的原操作数中作立即数.
MOV AL, 0A9H MO
文档评论(0)