匯編語言-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.pswp.cn/news/379454.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379454.shtml
英文地址,請注明出處:http://en.pswp.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…