当前位置:网站首页>汇编语言段定义
汇编语言段定义
2022-07-06 09:29:00 【My71】
段定义三步走
段定义
关键字:segment(开始) ends(结束)
段名:不得超过八个字符。一般情况下,
- code 表示代码段。
- data 表示数据段
语法
段名 segment 段名 ends
段关联
关键字:assume
类型:CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段)
语法:
assume 类型:段名
例:定义一个代码段 code,定义一个数据段 data
code segment assume cs:code,ds:data code ends data segment data ends
段传送
传送是将段中的数据传到指定的段寄存器中。例如,讲 data 中的数据传到 DS 数据段中,在关联的时候并没有真正的传递数据。
代码段在定义时不需要段传送,其他段都需要手动传送。
通过 mov 不能将段直接传递给段寄存器,可以间接行传送。
…… mov ax,data mov ds,ax ……
这段代码表示,现将 data 数据段存到 ax 中,再将 ax 中的数据存到 ds 中。
数据段
开辟空间的伪指令
- db:开辟一个字节空间。
- dw:开辟一个字空间。(两个字节)
- dup:循环存字符
存储数据
- 存储 10 进制数据时,直接写入。
- 存储字符数据时用单引号扩起来,最终在 debug 模式下现实的是该字符 ASCII 码16进制表现形式。
语法格式
无地址符号
有地址符号
代码演示
使用 db 定义 5 个奇数,将第一个数存到 AH 中,最后一个数存到 AL 中。
最终,AX=0109,恰好是 AH 与 AL 的拼接。
使用 dw 定义 5 个奇数,存入 AX 中。
利用 dup 开辟三个单字节空间
data segment str db 3 dup(5) data ends code segment assume cs:code,ds:data main: mov ax,data mov ds,ax edit: mov ah,4ch int 21h code ends end main
边栏推荐
- 字节跳动海外技术团队再夺冠:高清视频编码已获17项第一
- LeetCode 1550. There are three consecutive arrays of odd numbers
- How to configure hosts when setting up Eureka
- LeetCode 1020. Number of enclaves
- Which is more important for programming, practice or theory [there are some things recently, I don't have time to write an article, so I'll post an article on hydrology, and I'll fill in later]
- Shell_ 05_ operator
- Introduction to microservices
- Spark independent cluster dynamic online and offline worker node
- TCP的三次握手和四次挥手
- SQL quick start
猜你喜欢
Some instructions on whether to call destructor when QT window closes and application stops
Simply try the new amp model of deepfacelab (deepfake)
One hundred questions of image processing (1-10)
Chapter III principles of MapReduce framework
~81 long table
~73 other text styles
LeetCode 1557. The minimum number of points that can reach all points
README. txt
字节跳动新程序员成长秘诀:那些闪闪发光的宝藏mentor们
[graduation project] QT from introduction to practice: realize imitation of QQ communication, which is also the last blog post in school.
随机推荐
~87 animation
~82 style of table
Shell_ 06_ Judgment and circulation
~78 radial gradient
The concept of spark independent cluster worker and executor
Data config problem: the reference to entity 'useunicode' must end with ';' delimiter.
LeetCode 1557. The minimum number of points that can reach all points
LeetCode1556. Thousand separated number
登陆验证koa-passport中间件的简单使用
CMake速成
~86m rabbit practice
Codeforces Round #771 (Div. 2)
Eureka high availability
LeetCode 1584. Minimum cost of connecting all points
Solr new core
Eureka single machine construction
Usage of insert() in vector
Business system compatible database oracle/postgresql (opengauss) /mysql Trivia
LeetCode 1562. Find the latest group of size M
Monomer application concept