下载此文档

第5章 高级汇编语言程序设计.ppt


文档分类:IT计算机 | 页数:约99页 举报非法文档有奖
1/99
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/99 下载此文档
文档列表 文档介绍
第 5 章
教学重点
在掌握基本的汇编语言程序设计方法之后,进一步学习如何提高编程效率的各种实用方法:
高级语言特性
宏结构
模块化
高级语言特性
MASM
条件控制伪指令
.IF .ELSE .ENDIF
循环控制伪指令
.WHILE .ENDW .REPEAT .UNTIL
过程声明和过程调用伪指令
.PROTO .INVOKE
条件控制伪指令
类似高级语言中IF、THEN、ELSE和ENDIF的相应功能
在汇编时要展开,自动生成相应的比较和条件转移指令序列,实现程序分支
.IF 条件表达式 ;条件为真(值为非0)
分支体 ;执行分支体
[ .ELSE ;前面IF条件为假
分支体 ;执行分支体]
.ENDIF ;分支结束
条件
条件表达式中的操作符
操作符
功能
操作符
功能
操作符
功能
==
等于
&&
逻辑与
CARRY?
CF=1?
!=
不等于
||
逻辑或
OVERFLOW?
OF=1?
>
大于
!
逻辑非
PARITY?
PF=1?
>=
大于等于
SIGN?
SF=1?
<
小于
&
位测试
ZERO?
ZF=1?
<=
小于等于
()
改变优先级
第 5 章
;单分支结构
.IF AX < 0
neg ax
.ENDIF
mov result,ax
;双分支结构
.IF ax==5
mov bx,ax
mov ax,0
.ELSE
dec ax
.ENDIF
;双分支结构
.IF ax==5
* cmp ax,05h
* jne ***@C0001
mov bx,ax
mov ax,0
.ELSE
* jmp ***@C0003
****@C0001: dec ax
.ENDIF
****@C0003:
例题
.data
_a sbyte ?
_b sbyte ?
_c sbyte ?
tag byte ?
.code
.startup
mov al,_b
imul al
mov bx,ax ;bx中为b2
mov al,_a
imul _c
mov cx,4
imul cx ;ax中为4ac
-1/2
.if sword ptr bx >= ax ;比较二者大小
mov tag,1
;第一分支体:条件满足,tag←1
.else
mov tag,0
;第二分支体:条件不满足,tag←0
.endif
.exit 0
-2/2
循环控制伪指令
WHILE结构的循环控制伪指令
.WHILE 条件表达式 ;条件为真
循环体 ;执行循环体
.ENDW ;循环体结束
UNTIL结构的循环控制伪指令
.REPEAT ;重复执行循环体
循环体
.UNTIL 条件表达式 ;直到条件为真
WHILE循环结构的流程图
第 5 章

第5章 高级汇编语言程序设计 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数99
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-09-06