汇编语言-001(BYTE、DUP、WORD 、DWORD 、QWORD 、TBYTE 、REAL )

1 : 基础汇编语言展示

.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.code
main PROCmov eax,5add eax,6INVOKE ExitProcess,0
main ENDP
END main

2:基础汇编语言展示增加变量的访问

.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
sum DWORD 0.code
main PROCmov eax,5add eax,6mov sum,eaxINVOKE ExitProcess,0
main ENDP
END main

3:BYTE数据定义

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
value1 BYTE 'A'
value2 BYTE 0
value3 BYTE 255
value4 SBYTE -128
value5 SBYTE +127
value6 BYTE ?
value7 BYTE 10h
value8 BYTE 20hvalue9 DB 255   ;传统数据伪指令
value10 DB -128 ;传统数据伪指令list BYTE 10,20,30,40,50list2 BYTE 10,20,30,40,50BYTE 60,70,80,90,100list3 BYTE 10,32,41h,00100010b
list4 BYTE 0Ah,20h,'a',22h.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

4:BYTE定义字符串

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
;多个字节数值初始化必须用逗号隔开,但字符串是个例外要不然后每个字节都要用逗号,很麻烦
greeting1 BYTE "Good afternoon",0
greeting2 BYTE "Good night",0greeting3 BYTE "Welcome to the Demo program "BYTE "created by me .",0dh,0ahBYTE "If you wish to modify this program, please "BYTE "send me a copy.",0dh,0ah,0;行连续符(\)把两个源代码连在一起
greeting4 BYTE "Welcome to the Demo program "
greeting5 \BYTE "Welcome to the Demo program ".code
main PROCINVOKE ExitProcess,0
main ENDP
END main

5:DUP操作符分配空间赋初始值,DUP使用一个整数表达式作为计数器,为多个数据分配存储空间

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
dup1 BYTE 20 DUP(0)  ;20个字节,值都为0
dup2 BYTE 20 DUP(?)  ;20个字节,未补始化
dup3 BYTE 20 DUP("STACK")  ;20个字节,赋字符串.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

6:WORD数据定义

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
word1 WORD 65535 ;最小无符号数
word2 SWORD -32768 ;最小有符号数
word3 WORD ? ;未初始化,无符号;传统数据伪指令
word4 DW 65535 ;无符号
word5 DW -32768 ;有符号mylist WORD 1,2,3,4,5
array WORD 5 DUP(?) ;5个数值,未初始化.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

7:DWORD数据定义 DWORD还可以用于声明一种变量,这种变量的包含另一个变量(就是保存地址)

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
value1 DWORD 12345678h  ;无符号
value2 SDWORD -2147483648 ;有符号
value3 DWORD 20 DUP(?) ;无符号数组;传统数据伪指令
value4 DD 12345678h ;无符号
value5 DD -2147483648 ;有符号;DWORD还可以用于声明一种变量,这种变量的包含另一个变量pValue1 DWORD value1   ;value1的地址
pValue2 DWORD value2   ;value2的地址mylist DWORD 1,2,3,4,5.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

8:QWORD数据定义

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
value1 QWORD 1234567812345678h;传统伪指令
value2 DQ 1234567812345678h.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

9:BCD压缩数据定义 MASM使用TBYTE伪指令来定义BCD变量

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
intVal TBYTE 80000000000000001234h  ;有效定义
;intVal TBYTE -1234  无效;浮点数据使用压缩BCD码,要通过浮点寄存器
posVal REAL8 1.5
bcdVal TBYTE ?.code
main PROCfld posVal  ;加载到浮点堆栈fbstp bcdVal ;向上舍入到2,压缩BCD码值INVOKE ExitProcess,0
main ENDP
END main

10:REAL浮点数据定义

.386
.model flat,stdcall.stack 4096
ExitProcess PROTO,dwExitCode:DWORD.data
rVal1 REAL4 -1.2        ;短实数        有效数字6位
rVal2 REAL8 3.2E-260    ;长实数        有效数字15位
rVal3 REAL10 4.6E+4096  ;扩展精度实数  有效数字19位
ShortArray REAL4 20 DUP(0.0);传统数据伪指令
rVal4 DD -1.2 
rVal5 DQ 3.2E-260
rVal6 DT 4.6E+4096.code
main PROCINVOKE ExitProcess,0
main ENDP
END main

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<各国地图轮廓app>技术支持

如在app使用过程中遇到任何问题,请与开发者联系caohechunhotmail.com

Java BigDecimal longValueExact()方法与示例

BigDecimal类longValueExact()方法 (BigDecimal Class longValueExact() method) longValueExact() method is available in java.math package. longValueExact()方法在java.math包中可用。 longValueExact() method is used to convert this BigDecimal to an exact long val…

c#中的多线程同步

在处理多线程同步问题的时候,我们一般有临界区,互斥量,信号量和消息机制等几种解决方案,在c#中可以非常方便的使用它们来实现进程的同步。下面我就常用的lock,Monitor和Mutex几种来说明如何实现进程的同步。 lock和Monitor依靠一种…

ffplay SDL_OpenAudio (2 channels, 44100 Hz): WASAPI can‘t initialize audio client“

windows下: ffplay 提示"SDL_OpenAudio (2 channels, 44100 Hz): WASAPI can’t initialize audio client" 添加环境变量:SDL_AUDIODRIVERdirectsound

js 正则表达式,正整数

var ss "3.333";var type /^[0-9]*[1-9][0-9]*$/;var re new RegExp(type);alert(ss.match(re));if (ss.match(re) null) {alert("请输入大于零的整数!");return;} 转载于:https://www.cnblogs.com/lingxzg/archive/2012/08/02/2620543.html

java 根据类名示例化类_Java即时类| EpochSecond()方法的示例

java 根据类名示例化类EpochSecond()方法的即时类 (Instant Class ofEpochSecond() method) Syntax: 句法: public static Instant ofEpochSecond(long sec_val);public static Instant ofEpochSecond(long sec_val, long nanos_adjust);ofEpochSecond() method is…

java中Date()类型输入数据的处理

对于Date类型的数据,需要输入生日存入相应数据库中 private Date birthday;// 生日package com.pdsu.mybatis.pojo;import java.io.Serializable; import java.util.Date;public class User implements Serializable {/*** */private static final long serialVers…

(扩展)欧几里德快速幂

GCD模板 __int64 gcd(__int64 a,__int64 b) {return b0? a:gcd(b,a%b); } 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd函数就是用来求(a,b)的最大公约数的。 gcd函数的基本性质: gcd(a,…

汇编语言-002(.data、Equal、$、EQU 、MOV 、MOVSX、MOVZX)

1:变量相加程序 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD.data firstval DWORD 20002000h secondval DWORD 11111111h thirdval DWORD 22222222h sum DWORD 0.code main PROCmov eax,firstvaladd eax,secondvaladd eax,thirdvalm…

\r与\n的区别,\r\n与\n或\r的区别(C语言/C#)

本文出处http://topic.csdn.net/t/20020718/07/882679.html 原作者:triout(笨牛) \r表示回车,\n表示换行,我们按回车按钮的时候,系统自动产生回车和换行两个字符: 回车仅仅是表示完成,把光…

通过ID查询一个用户的两种开发方法

通过ID查询一个用户的两种开发方法 数据库建表sql语句如下:https://github.com/beyondyanyu/Sayingyy/blob/master/JDBC2-数据库sql建表语句 ①,原始Dao开发: UserDao.java(接口): package com.pdsu.mybatis.dao;i…

duration java_Java Duration类| minusMinutes()方法与示例

duration java持续时间类minusMinutes()方法 (Duration Class minusMinutes() method) minusMinutes() method is available in java.time package. minusMinutes()方法在java.time包中可用。 minusMinutes() method is used to subtract the given duration in minutes from t…

Silverlight + WCF异步调用 例子

看大家好像对我的NParsing框架不是很感兴趣(写NParsing帖没人顶我),那就给大家来点“甜品”,换换口谓。来说说Silverlight方面的东西。 在Silverlight中数据通信只能用异步。有人会觉得写起来很麻烦,其实不然。也有很简…

我博客主页的搜索功能怎么不好用

用博客里面的搜索功能,“找找看”,搜索我博客里面的关键字,但是不能出现结果。但是我在别人的主页上能够搜索该人的内容,能够查询到记录,难道博客园对每个博客的信息要先排序?目前我的还不在他的搜索数据库…

小议SqlMapConfig.xml配置文件

①、mybatis-3-config.dtd 主要用于mybatis的核心配文件sqlMapConfig.xml的约束 sqlMapConfig.xml代码如下&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN&q…

ffmepg 命令提取音视频数据

原文件&#xff1a; 1&#xff1a; 原音频数据提取&#xff08;保留还是mp4的封装格式的&#xff09;&#xff1a; ffmpeg -i test_1920x1080.mp4 -acodec copy -vn audio.mp4 -vn 就是没有视频&#xff0c; -acodec copy 音频拷贝不进行任何转码 原视频数据提取&#xff0…

Java BigInteger类| modInverse()方法与示例

BigInteger类modInverse()方法 (BigInteger Class modInverse() method) modInverse() method is available in java.math package. modInverse()方法在java.math包中可用。 modInverse() method is used to calculate the mod inverse by using the inverse of (this BigInteg…

【7】jQuery学习——入门jQuery选择器之过滤选择器-可见性过滤选择器

这篇什么都不说&#xff0c;看标题就知道了&#xff0c;很简单&#xff0c;就2个选择器&#xff0c;嘿嘿 选择器描述返回$("Element:hidden")选取所有不可见的元素集合元素$("Element:visible")选取所有可见元素集合元素这篇很简单吧&#xff0c;就2个&…

Creating an undraggable TitleWindow container in Flex (转载)

The following examples show how you can create an undraggable TitleWindow container by setting the isPopUp property to false on the TitleWindow instance. <?xml version"1.0" encoding"utf-8"?><!-- http://blog.flexexamples.com/2…

汇编语言-003(LAHF_SAHF 、XCHG、FLAGS、 OFFSET、ALIGN、PTR、LENGTHOF、SIZEOF)

1&#xff1a;LAHF将EFLAGS符号寄存器低8位字节复制到AH&#xff0c;SAHF将AH复制到EFLAGS符号寄存器低8位字节 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD.data saveflags BYTE ?.code main PROClahfmov saveflags ,ahmov ah,saveflagssahfIN…