win32汇编以.386指令的MASM32题目做题记录 -- 子程序

这篇博客记录了使用MASM32在WIN32环境下,通过.386指令集进行汇编编程的实践,涉及到子程序的实现,包括MaxN的最大值计算、素数判断、字符串连接strcat、查找最小值MinN以及字符串复制strcpy等功能的详细操作。
摘要由CSDN通过智能技术生成

//MaxN

.386				;选择的处理器
.model flat, stdcall		;存储模型,Win32程序只能用平展(flat)模型
option casemap:none		;指明标识符大小写敏感
include	kernel32.inc		;要引用的头文件
includelib	kernel32.lib	;要引用的库文件
includelib	msvcrt.lib	;引用C库文件
scanf PROTO C:DWORD,:vararg	;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg	;C语言printf函数原型声明
.data				;⑤数据段
Infmt	BYTE	'%d',0
Outfmt	BYTE	'最大值为%d',0
a		DWORD	80 Dup(0) 	;定义数组a
.code				;⑥代码段
 ;*【*/
MaxN PROC s:DWORD,n:DWORD
;LOCAL max:DWORD
MOV ESI,0
MOV EBX,s
MOV EAX,[EBX+ESI*4]
.while ESI < n
INC ESI
.IF EAX < [EBX+ESI*4]
MOV EAX,[EBX+ESI*4]
.ENDIF
.endw
RET
MaxN ENDP
 ;*】*/
start:				;定义标号start
mov		ESI,0
invoke scanf,ADDR Infmt,ADDR a[ESI*4];输入a[i]的值
.while	EAX==1
INC		ESI
invoke scanf,ADDR Infmt,ADDR a[ESI*4];
.endw
invoke MaxN,ADDR a,ESI		;求a数组和通过EAX返回
invoke printf,ADDR Outfmt,EAX;输出结果
invoke ExitProcess,0		;退出进程,返回值为0
end	start			;指明程序入口点start

//素数


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值