网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
学 Win32 汇编 [4]: 数据类型与声明
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/11/26
下载{$ArticleTitle}原创论文样式

类型描述类型缩写位数字节数浮点数有效位数值范围
字节BYTEDB81 0..255
有符号字节SBYTEDB81 -128..127
WORDDW162 0..65535
有符号字SWORDDW162 -32768..32767
双字DWORDDD324 0..4294967295
有符号双字SDWORDDD324 -2147483648..2147483647
远字FWORDDF486  
四字QWORDDQ648  
十字节TBYTEDT8010  
单精度浮点数REAL4 32461.18*10-38..3.40*1038
双精度浮点数REAL8 648152.23*10-308..1.79*10308
10字节浮点数REAL10 8010193.37*10-4932..1.18*104932

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

进制表示(其中的 d t b y q o h 不区分大小写):

; Test4_1.asm  
.386 
.model flat, stdcall 
 
include msVCrt.inc 
includelib msvcrt.lib 
 
.data 
  szFmt db ''%d'',13,10,0 ;13,10 是回车与换行, 也可写作: 0dh,0ah 
 
  v1 dd 10  ;十进制 
  v2 dd 10d ;十进制 
  v3 dd 10t ;十进制 
  v4 dd 10b ;二进制 
  v5 dd 10y ;二进制 
  v6 dd 10q ;八进制 
  v7 dd 10o ;八进制 
  v8 dd 10h ;十六进制 
  v9 dd 0ah ;十六进制; 如果第一位不是数字应前置 0 
   
.code 
start: 
  invoke crt_printf, addr szFmt, v1 ;10 
  invoke crt_printf, addr szFmt, v2 ;10 
  invoke crt_printf, addr szFmt, v3 ;10 
  invoke crt_printf, addr szFmt, v4 ;2 
  invoke crt_printf, addr szFmt, v5 ;2 
  invoke crt_printf, addr szFmt, v6 ;8 
  invoke crt_printf, addr szFmt, v7 ;8 
  invoke crt_printf, addr szFmt, v8 ;16 
  invoke crt_printf, addr szFmt, v9 ;10 
  ret 
end start 

浮点数:

; Test4_2.asm 
.386 
.model flat, stdcall 
 
include msvcrt.inc 
includelib msvcrt.lib 
 
.data 
  szFmt db ''%g'', 0DH, 0AH, 0 
  v1 real8 3.14 
  v2 real8 3. 
  v3 real8 3.14e-2 
  v4 real8 3.14E2 
.code 
start: 
  invoke crt_printf, addr szFmt, v1 ;3.14 
  invoke crt_printf, addr szFmt, v2 ;3 
  invoke crt_printf, addr szFmt, v3 ;0.0314 
  invoke crt_printf, addr szFmt, v4 ;314 
  ret 
end start 

常量、可赋初值的变量、不赋初值的变量:

; Test4_3.asm 
.386 
.model flat, stdcall 
 
include msvcrt.inc 
includelib msvcrt.lib 
 
.const ;常量 
  szFmt db ''%d'',0dh,0ah,0 
  v1  dd 11 
   
.data ;可赋初值的变量, 其中也可声明不不赋初值的变量 
  v2 dd 22 
  v3 dd ? 
   
.data? ;不赋初值的变量 
  v4 dd ? 
 
.code 
start: 
  invoke crt_printf, addr szFmt, v1 ;11 
  invoke crt_printf, addr szFmt, v2 ;22 
  invoke crt_printf, addr szFmt, v3 ;0 
  invoke crt_printf, addr szFmt, v4 ;0 
  mov eax, 33 
  mov v3, eax 
  mov eax, 44 
  mov v4, eax 
  invoke crt_printf, addr szFmt, v1 ;11 
  invoke crt_printf, addr szFmt, v2 ;22 
  invoke crt_printf, addr szFmt, v3 ;33 
  invoke crt_printf, addr szFmt, v4 ;44 
  ret 
end start 
(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号