|
本帖最后由 wl1383838438 于 2020-5-10 00:22 编辑
语句过于基础,故不在详细注释,需要详细注释请安第一条帖子!
#include<iostream>
using namespace std;
int main()
{
for (int b = 0; b < 3;)
{
cout << "b循环中" << endl;
}
return 0;
}
//--------------------------------------------------------分割线 下面是win32汇编仿c++ for语句循环
.386
.model flat,stdcall
option casemap:none
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
includelib C:\masm32\lib\user32.lib
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\kernel32.lib
.data
a dd 1
szCaption db '循环',0
szText db '循环',0
.code
start:
mov eax,a
jmp code1
;-----------------------------
code2:
mov eax,a
add eax,1
mov a,eax
;-----------------------------
code1:
cmp a,3
jg CodeEnd
invoke MessageBox,0,offset szText,offset szCaption,MB_OK
jmp code2;跳到code从新开始执行直到cmp a,3大于时在jg处跳出
;-----------------------------
CodeEnd:
invoke ExitProcess,0
end start
//--------------------------------------------------------------分割线---
C++源码 do while循环语句
#include<iostream>
#include<windows.h>
using namespace std;
int main()
{
int a = 5;
do
{
cout << "test" << endl;
} while (a < 3);
Sleep(5000);
return 0;
以下是win32汇编仿
win32汇编仿C++ do while函数
.386
.model flat,stdcall
option casemap:none
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
includelib C:\masm32\lib\user32.lib
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\kernel32.lib
.data
a dd 5
szCaption db '循环',0
szText db '循环中',0
.data?
.code
start:
mov eax,a
jmp code1
;---------------------
code2:
mov eax,a
add eax,1
mov a,eax
;---------------------
code1:
invoke MessageBox,0,offset szText,offset szCaption,MB_OK
cmp a,3
jg CodeEnd
jle code2
;---------------------
CodeEnd:
invoke ExitProcess,0
end start
---------------------------------------下面是仿while-------------------------------------------
.386
.model flat,stdcall
option casemap:none
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
includelib C:\masm32\lib\user32.lib
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\kernel32.lib
.data
a dd 1
szCaption db '循环',0
szText db '循环中',0
.data?
.code
start:
mov eax,a
jmp code1
;---------------------
code2:
mov eax,a
add eax,1
mov a,eax
;---------------------
code1:
cmp a,3
jg CodeEnd
invoke MessageBox,0,offset szText,offset szCaption,MB_OK
jmp code2
;---------------------
CodeEnd:
invoke ExitProcess,0
end start |
上一篇: win32汇编的自加与VS的自加下一篇: win32api的窗口注册和win32汇编窗口注册
|