0x02全局变量和局部变量
全局变量在什么地方定义?
.data和.data?
格式如下:
变量名 类型 初始值1,初始值2...
变量名 类型 重复数 dup(初始值1,初始值2,...)
变量名 类型 ?
类型有哪些?
字节 byte/db 字 word/dw 双字dword/dd 三字fword/df 四字qword/dq 十字节 tbyte/dt 有符号字节 sbyte 单精度浮点 real4
val db ? ;定义变量
buffer dw 64 dup(0) ;定义64个字的缓冲区
szText db 'abc123',0dh,0ah ;定义字符串 ASCII字符串加回车换行
注意:定义字节和字在内存中存放的区别
内存以字为存储单位,低位在前,高位在后;
LIST |
10 | VAL | 34H | |
LIST+1 | 20 | VAL+1 | 12H | |
LIST+2 | 30 | VAL+2 | 78H | |
LIST+3 | 40 | VAL+3 | 56H |
list db 10,20,30,40
mov al,list
mov bl,list+1
mov cl,list+2
mov dl,list+3
val dw 1234h,5678h
mov ax,val ;ax=1234h
mov bx,val+2
mov dx,word ptr val+1
mov eax,dword ptr val
疑问?
注:单引号和双引号的区别,可以相互定义对应的字符,比如:
"aaa'a'" -> 输出结果:aaa'a'
'aaa"a"' -> 输出结果:aaa"a"
局部变量
作用域在单个子程序,属于堆栈变量,伪指令 LOCAL
LOCAL 变量名1[重复数量]:[类型],...
test proc
LOCAL @val:dword ;@定义一个局部变量,便于区分,
LOCAL @buffer[1024]:btye
LOCAL @wnd:WNDCLASS ;定义一个WNDCLASS数据结构
mov eax,0FFFFFFFFH
mov @val,eax
test endp
0x02全局变量和局部变量的更多相关文章
- JS函数 -- 功能,语法,返回值,匿名函数,自调用匿名函数,全局变量与局部变量,arguments的使用
“JavaScript设计得最出色的就是它的函数的实现.” -- <JavaScript语言精粹> 函数包含一组语句,它们是JS的基础模块单元,用于指定对象的行为.一般来说,所谓编程,就是 ...
- JavaScript的全局变量与局部变量解析
一.JavaScript scope 的划分标准是function函数块,不是以 if.while.for来划分的 <script> function f1(){ alert(" ...
- python3--函数(函数,全局变量和局部变量,递归函数)
1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合.函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能, ...
- 剖析javascript全局变量和局部变量
首先要记住: javascript是弱类型语言,它只有一种变量类型(var),为变量赋值时会自动判断类型并进行转换. 全局变量和局部变量如何声明? 全局变量声明: 第一种方式(函数外) var a; ...
- Javascript:谈谈JS的全局变量跟局部变量
原文链接:http://blog.csdn.net/zyz511919766/article/details/7276089# 今天公司一个实习小妹子问我两段JS代码的区别: <script t ...
- Python之路 day3 全局变量、局部变量
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 全局与局部变量 在子程序中定义的变量称为局部变 ...
- C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别
全局变量.局部变量.静态全局变量.静态局部变量的区别 C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作 ...
- c语言全局变量和局部变量问题汇总
.局部变量是否能和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,须要使用"::" 局部变量能够与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变 ...
- c语言全局变量与局部变量(当变量重名时)的使用情况
在c语言中,变量有全局变量和局部变量之分,这一点和很多高级语言类似,如c#,java等.不过与c#,java中的局部变量如在全局变量作用域内则不允许与全局变量名相同,而c语言是允许这样做的.这样的做法 ...
随机推荐
- Java操作XML的工具类
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...
- missing required architecture x86_64 in file 不支持64位
( slices) 解决方法:
- NodeJS学习之网络操作
NodeJS -- 网络操作 使用NodeJS内置的http模块简单实现HTTP服务器 var http = require('http'); http.createServer(function(r ...
- 使用ambari搭建Hadoop平台
1.操作系统 CentoOS Server with GUI(有GUI,有浏览器*ambari基于浏览器*推荐latest stable version)2.分区 默认 + /hadoop3.网络设置 ...
- Hadoop YARN配置参数剖析—RM与NM相关参数
注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1. ResourceManager相关配置参数 (1) ...
- asp.net(c#)网页跳转七种方法小结
在asp.net下,经常需要页面的跳转,下面是具体的几种方法.跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于.net中response.redirect sever.execute se ...
- 【学习笔记】【C语言】赋值运算
将某一数值赋给某个变量的过程,称为赋值. 1. 简单赋值 C语言规定,变量要先定义才能使用,也可以将定义和赋值在同一个语句中进行 int a = 10 + 5;的运算过程 a = b = 10;的运算 ...
- .net framework缓存遍历
背景: 公司的老框架里的登录信息用的MemoryCache保存的,为了实现单用户登录(即一个账号不能同事登录),需要在登录前对已经登录的信息做遍历. 大致思路如下: 本方法可用于清除所有的缓存. 1. ...
- 20141103--SQL主键,外键
设置主键: 右键表→设计,在需要的列上右键→设置主键 或者在创建表的时候,在想要作为索引的列后面加上 primary key create table biao3 ( [No.] int primar ...
- 解决win7 下 curl无法加载的问题
最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题! 一.win7系统64位, apache2.2, php 5.35 vc6 版本 这个比较容易: 1. phpinfo ...