汇编语言如何定义字符串变量

C++实习生 2011-01-10 04:46:57
汇编语言如何向C语言一样的定义局部变量
比如:
int sub()
{
int iAge = 100;
char szName[] ="HelloGirl!";


}


请问汇编语言如何实现呢?一定要放到.DATA段中吗?

sub PROC
local iAge:byte
local szName[100]:byte

sub ENDP
...全文
2753 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JustFromHell 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 aasmfox 的回复:]
汇编语言如何向C语言一样的定义局部变量
比如:
int sub()
{
int iAge = 100;
char szName[] ="HelloGirl!";


}


请问汇编语言如何实现呢?一定要放到.DATA段中吗?

sub PROC
local iAge:byte
local szName[100]:byte

sub ENDP……
[/Quote]

没太看明白你究竟想问什么

貌似你后边那段代码就是你问题的答案啊

局部变量一般都是定义在栈上的,如你所写的LOCAL定义就是啊,这将被编译器编译成几条对ESP及EBP的操作。当然LOCAL伪指令中不支持直接赋初值,想赋初值的话你得在后边专门用指令实现。
masmaster 2011-01-10
  • 打赏
  • 举报
回复
函数中要使用的字符串的地址可以通过栈来传递到函数中使用。
1cctv 2011-01-10
  • 打赏
  • 举报
回复
masm32中有的.

szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM



szText TheMsg,"hello world"
szText szDisplayName,"hi"
invoke MessageBox,hWin,ADDR TheMsg,ADDR szDisplayName,MB_OK
znxllyuan 2011-01-10
  • 打赏
  • 举报
回复
在数据段 附加段代码段都可以定义
X DB ‘aeasdaadasd$'

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧