文档介绍:该【微机4-12上第2章已学汇编 】是由【落意心冢】上传分享,文档一共【170】页,该文档可以免费在线阅读,需要了解更多关于【微机4-12上第2章已学汇编 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。微机4-12上第2章已学汇编
汇编语言的特点
汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码
利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序
在有些应用领域,汇编语言的作用是不容置疑和无可替代的
汇编程序设计的过程是与其他高级语言程序设计大致相同
什么是汇编语言
以助记符形式表示计算机指令
助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号
助记符是表明指令功能的英语单词或其缩写
汇编格式指令以及使用它们编写程序的规则就形成汇编语言(AssemblyLanguage)
汇编语言程序:用汇编语言书写的程序
汇编程序:将汇编语言程序“汇编”成机器代码目标模块的程序
汇编语言程序与汇编程序是两个概念
硬指令和伪指令
汇编程序
将汇编语言源程序翻译成在机器上能执行的机器语言程序(目的代码程序
硬指令---执行性语句
使CPU产生动作、并在程序执行时才处理的语句,就是第2章学****的处理器指令
与具体的处理器有关、与汇编程序无关。汇编后对应一条指令代码
伪指令(Directive)---说明性语句
不产生CPU动作、在程序执行前由汇编程序处理的说明性语句,例如,数据说明、变量定义等等
伪指令与具体的处理器类型无关,但与汇编程序的版本有关
硬指令和伪指令采用易于记忆的符合表达,这就是助记符
(4部分)
标号硬指令的位置(逻辑地址),后加冒号:
名字伪指令的位置或存储单元名称(变量名),后不加冒号:
一般最多由31个字母、数字及规定的特殊符号(如_、$、?、)组成
不能以数字开头(如1ABC错),不能是保留字
指令助记符必须有,其它3部分可无
伪指令助记符----伪指令
硬指令助记符-----硬指令
注释
语句中由分号“;”开始的部分为注释内容,用以增加源程序的可读性
必要时,一个语句行也可以由分号开始作为阶段性注释
汇编程序在翻译源程序时将跳过该部分,不对它们做任何处理
标号: 硬指令助记符操作数1,操作数2;注释
名字伪指令助记符参数1,参数2,…;注释
例:硬指令Done:moval,02h
伪指令Sumdb02h
[标号]指令助记符[操作数][;注释]
保留字
保留字(ReservedWord)是汇编程序已经利用的标识符(也称为关键字),主要有:
硬指令助记符——例如:MOV、ADD
伪指令助记符——例如:DB、DW
操作符——例如:OFFSET、PTR
寄存器名——例如:AX、CS
预定义符号——例如:data
汇编语言大小写不敏感
汇编语言源程序格式---操作数
操作数常数、数值表达式、寄存器、标号、变量等
数值表达式
一般是指由运算符连接的各种常数所构成的表达式
汇编程序在汇编过程中计算表达式,最终得到一个确定的数值,所以也是常数
常用的运算符是加减乘除(+-*/)
例:movax,3*4+5 ;等价于movax,17
字节变量定义实例
;数据段
Xdb61h,0fbh
db2dup(64h),?
Ydb'ABC'
应用
moval,X
decX+1
movY,al
ASCII‘a’=61h’A’=41h‘B’=42h‘C’=43h
;此处X表示它的第1个数据,故AL←61h
;对X为始的第2个数据减1,故为0fah
;Y=al=61h,现在Y这个字符串成为'aBC'
实例
程序如下
count db 80h,'B',?
maxint equ 04h
number dw maxint
array db maxintdup(3)
mov cx,count
dec byteptrarray
mov bx,offsetnumber
mov ah,[bx+2]
mov al,[bx-2]
hlt
问:程序执行后ax=?cx=?
存储单元
3
3-1=2
array
00
04H
number
-
‘B’=42H
80H
count
答案:
cx=4280hah=2al=42h
字变量定义实例
;数据段
count dw8000h,?,'AB'
maxint equ64h
number dwmaxint
array dwmaxintdup(0)
ASCII’A’=41h‘B’=42h