zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    面向 部分
    并发 编程
    数据库 部分
    匿名函数
    Linux 30岁,这些年经历了什么?
    漫谈 HTTP 连接
    华为交换机命令基础入门学习,小白也能看得懂!
    一文讲透APaaS平台是什么
    什么是边缘CDN和虚拟CDN (vCDN)?
    systemd进程管理工具实战教程
  • 原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5480559.html
Copyright © 2011-2022 走看看