学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
2021/4/30 12:25:08
本文主要是介绍学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令
;可以使用和 C 语言类似的条判断: a == b a != b a > b a >= b a < b a <= b a && b a & b a || b !a ;还可以直接判断几个常用的标志位: CARRY? ;进位标志 OVERFLOW? ;溢出标志 PARITY? ;奇偶标志 SIGN? ;符号标志 ZERO? ;零标志
; Test30_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc xor eax, eax .if !eax PrintText 'EAX = 0' .endif ; mov eax, 3 .if eax == 3 PrintText 'EAX = 3' .else PrintText 'EAX != 3' .endif ; mov eax, 4 .if eax == 3 PrintText 'EAX = 3' .elseif eax > 3 PrintText 'EAX > 3' .else PrintText 'EAX < 3' .endif ret main endp end main ; Test30_2.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov eax, 1 mov edx, 0 .if eax && edx PrintText '&&' .endif .if eax || edx PrintText '||' ; .endif .if eax & edx PrintText '&' .endif ret main endp end main
.WHILE、.ENDW: While 循环伪指令:
; Test30_4.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov eax, 9 .while eax > 0 PrintDec eax dec eax .endw ret main endp end main
.REPEAT、.UNTIL: Repeat 循环伪指令:
; Test30_5.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov eax, 9 .repeat PrintDec eax dec eax .until eax == 0 ret main endp end main
.While 与 .Repeat 都支持 .Break 和 .Continue
.WHILE 与 .BREAK:
; Test30_6.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov eax, 9 .while TRUE PrintDec eax dec eax .break .if eax == 5 .endw ret main endp end main
.REPEAT 与 .CONTINUE:
; Test30_7.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov eax, 0 .repeat inc eax .continue .if eax == 2 PrintDec eax .until eax > 3 ret main endp end main
posted on 2010-04-21 17:26 万一 阅读(6424) 评论(0) 编辑 收藏
这篇关于学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)