ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

学 Win32 汇编[5]: 数据类型与声明

2021-04-30 12:02:26  阅读:227  来源: 互联网

标签:汇编 inc .. 10 dd 数据类型 Win32 include PrintDec


学 Win32 汇编[5]: 数据类型与声明


类型描述 类型 缩写 位数 字节数 浮点数有效位 数值范围
字节 BYTE DB 8 1   0..255
有符号字节 SBYTE DB 8 1   -128..127
WORD DW 16 2   0..65535
有符号字 SWORD DW 16 2   -32768..32767
双字 DWORD DD 32 4   0..4294967295
有符号双字 SDWORD DD 32 4   -2147483648..2147483647
远字 FWORD DF 48 6  
四字 QWORD DQ 64 8  
十字节 TBYTE DT 80 10  
单精度浮点数 REAL4 32 4 6 1.18*10-38..3.40*1038
双精度浮点数 REAL8 64 8 15 2.23*10-308..1.79*10308
10字节浮点数 REAL10 80 10 19 3.37*10-4932..1.18*104932

注: 类型缩写(譬如用 db 代替 byte)不能用于局部变量.

进制表示(其中的 d t b y q o h 不区分大小写):
; Test5_1.asm
.386
.model flat, stdcall

include    windows.inc
include    kernel32.inc
include    masm32.inc
include    debug.inc
includelib kernel32.lib
includelib masm32.lib
includelib debug.lib

.data
    v1 dd 10   ;十进制
    v2 dd 10d  ;十进制(Decimal)
    v3 dd 10t  ;十进制
    v4 dd 10b  ;二进制(Binary)
    v5 dd 10y  ;二进制
    v6 dd 10q  ;八进制
    v7 dd 10o  ;八进制(Octal)
    v8 dd 10h  ;十六进制(Hexadecimal)
    v9 dd 0ah  ;十六进制; 如果第一位不是数字应前置 0
    
.code
start:
    PrintDec v1  ;10
    PrintDec v2  ;10
    PrintDec v3  ;10
    PrintDec v4  ;2
    PrintDec v5  ;2
    PrintDec v6  ;8
    PrintDec v7  ;8
    PrintDec v8  ;16
    PrintDec v9  ;10
    ret
end start

浮点数:
; Test5_2.asm
.386
.model flat, stdcall

include    windows.inc
include    kernel32.inc
include    masm32.inc
include    debug.inc
includelib kernel32.lib
includelib masm32.lib
includelib debug.lib

.data
    v1 real8 3.14
    v2 real8 3.
    v3 real8 3.14E2
.code
start:
    PrintDouble v1  ;3.14
    PrintDouble v2  ;3
    PrintDouble v3  ;314
    ret
end start

常量、可赋初值的变量、不赋初值的变量:
; Test5_3.asm
.386
.model flat, stdcall

include    windows.inc
include    kernel32.inc
include    masm32.inc
include    debug.inc
includelib kernel32.lib
includelib masm32.lib
includelib debug.lib

.const ;常量
    v1 dd 11
    
.data ;可赋初值的变量, 其中也可声明不不赋初值的变量
    v2 dd 22
    v3 dd ?
    
.data? ;不赋初值的变量
    v4 dd ?

.code
start:
    PrintDec v1  ;11
    PrintDec v2  ;22
    PrintDec v3  ;0
    PrintDec v4  ;0
    mov eax, 33
    mov v3, eax
    mov eax, 44
    mov v4, eax
    PrintDec v1  ;11
    PrintDec v2  ;22
    PrintDec v3  ;33
    PrintDec v4  ;44
    ret
end start

汇编中的标识符(变量名、常量名、过程名、标号)可以使用下面符号:
A-Z a-z 0-9 _ @ $ ?

但第一个字符不能是数字(0-9), 长度不要超过 239 个字符.

posted on 2010-04-04 16:22  万一  阅读(3861)  评论(0)  编辑  收藏

标签:汇编,inc,..,10,dd,数据类型,Win32,include,PrintDec
来源: https://blog.51cto.com/u_14617575/2745513

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有