已解决
汇编-变量
来自网友在路上 165865提问 提问时间:2023-11-07 14:59:57阅读次数: 65
最佳答案 问答题库658位专家为你答疑解惑
.386
.model flat,stdcall
option casemap:none.data
sum DWORD 0 ;创建一个全局变量,取名sum,初始化0
sum1 DWORD ? ;创建一个全局变量sum1,无初始化
;问号(?)初始化值使得变量未被初始化,这意味着在运行时才会为该变量分配一个值
;变量名其实是一个标号,标识了从该变量从所在段的开始到该变量的偏移量list BYTE 10,20,30,40BYTE 50,60,70,80BYTE 81,82,83,84;如果同一个数据定义中使用了多个初始化值,则它的标号只指出第一个初始化值的偏移量
;假设list的偏移量为0000,那么数值10的偏移量就为0000,20的偏移量为0001,30的偏移量为0002,40的偏移量为0003
;不是所有的数据定义都需要标号。比如, 要在list字节数组后面继续扩展,就可以在下一行定义后加的字节:
;BYTE 50, 60, 70, 80 BYTE 81, 82, 83, 84ExitProcess PROTO,dwExitCode:DWORD .code
main PROC
mov eax,5 mov sum,eax INVOKE ExitProcess,0
main ENDP
END main
定义DWORD和SDWORD数据
.data
val1 DWORD 12345678h ;无符号数
val2 SDWORD -2147483648 ;有符号数
val3 DWORD 20 DUP(?) ;无符号数组val4 DD 12345678h ;无符号数
val5 DD -2147483648 ;有符号数pVal DWORD val3
;DWORD还可用于声明一种变量, 这种变量包含的是另一个变量的32位偏移量。如上所示, pval包含的就是val3的偏移量myList DWORD 1, 2, 3, 4, 5 ;定义数组,偏移量的增量为4
定义压缩的BCD(TBYTE) 数据
Intel将一个压缩的BCD整数存放在一个10字节的包中。每个字节(除了最高字节外)包含两个十进制数字。在低9个字节中,每半个字节都存放了一个十进制数字。在最高字节中,最高位表示该数的符号。如果最高字节为80h,则该数为负数;如果最高字节为00h,则该数为正数。整数的范围是-999999999999999999到+999999999999999999。与其他数据值一样, BCD以小端序存储(最低字节存放在变量的起始偏移量处) 。
MASM使用T BYTE伪指令来声明压缩BCD变量。常量初始化值必须是十六进制的, 因为汇编器不会自动将十进制初始化值转换为BCD码。下面的两个例子展示了十进制数-1234有效和无效的表达方式:
定义浮点类型
.data
rVal1 REAL4 -1.2
rVal2 REAL8 3.2E-260
rVal3 REAL10 4.6E+4096
ShortArray REAL4 20 DUP(0.0);DD、DQ和DT伪指令也可以定义实数:
rVal4 DD -1.2 ;短实数
rVal5 DQ 3.2E-260 ;长实数
rVal6 DT 4.6E+4096 ;扩展精度实数
实例:变量相加程序
.386
.model flat,stdcall
option casemap:none.data
firstval DWORD 20002000h
secondval DWORD 11111111h
thirdval DWORD 22222222h
sum DWORD 0ExitProcess PROTO,dwExitCode:DWORD .code
main PROC mov eax,firstval add eax,secondval add eax,thirdval mov sum,eaxINVOKE ExitProcess,0
main ENDP
END main
查看全文
99%的人还看了
相似问题
- JVM:字节码文件,类的生命周期,类加载器
- 网工内推 | 字节原厂,正式编,网络工程师,最高30K*15薪
- Go 以小端字节序修改文件
- UDP端口接收到的字节流如何转为QJsonObject、QJsonArray的方法
- 《2020年最新面经》—字节跳动Java社招面试题
- 计算Qt中的QAudioOutput缓冲区未播放的音频字节数对应时长
- 字节面试:请说一下DDD的流程,用电商系统为场景
- 深入理解JVM虚拟机第二十一篇:详解JVM当中的操作数在栈以及分析操作数栈与字节码指令和执行引擎的关系图解
- 【Linux网络编程_TCP/UDP_字节序_套接字 实现: FTP 项目_局域网聊天项目 (已开源) 】.md updata:23/11/05
- 【项目源码】反编译Java字节码生成源码
猜你感兴趣
版权申明
本文"汇编-变量":http://eshow365.cn/6-34548-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: IntelliJ IDEA 2022创建Maven项目
- 下一篇: Day22力扣打卡