汇编语言段定义的使用

 更新时间:2024年03月26日 11:38:56   作者:iGma_e  
汇编语言源程序的基本结构是段,一个汇编语言源程序由若干个代码段,本文主要介绍了汇编语言段定义的使用,需要的朋友们下面随着小编来一起学习学习吧

段定义三步走

段定义

关键字: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

到此这篇关于汇编语言段定义的使用的文章就介绍到这了,更多相关汇编语言段定义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • asm基础——汇编指令之in/out指令

    asm基础——汇编指令之in/out指令

    这篇文章主要介绍了asm基础——汇编指令之in/out指令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Go 中的循环是如何转为汇编的(方法详解)

    Go 中的循环是如何转为汇编的(方法详解)

    这篇文章主要介绍了Go 中的循环是如何转为汇编的,本文通过循环的汇编代码给大家讲解的非常详细,代码简单易懂,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 汇编语言进制转换之16进制转10进制

    汇编语言进制转换之16进制转10进制

    这篇文章主要介绍了汇编语言进制转换之16进制转10进制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 汇编语言中mov和lea指令的区别详解

    汇编语言中mov和lea指令的区别详解

    指令(instruction)是一种语句,它在程序汇编编译时变得可执行。本文给大家总结一下汇编语言中mov和lea指令的区别详解,感兴趣的朋友跟随小编一起看看吧
    2020-01-01
  • 汇编:Debug的常用命令

    汇编:Debug的常用命令

    DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段
    2023-08-08
  • UEFI开发实战用户交互界面基础说明

    UEFI开发实战用户交互界面基础说明

    这篇文章主要为大家介绍了UEFI开发实战用户交互界面的基础说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 汇编语言编译环境搭建过程

    汇编语言编译环境搭建过程

    这篇文章主要介绍了汇编语言编译环境搭建过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 使用汇编语言实现if else 循环函数调用的具体方法

    使用汇编语言实现if else 循环函数调用的具体方法

    这篇文章主要介绍了使用汇编语言实现if else 循环函数调用的具体方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 从汇编代码开始全面解析synchronized还原最真实的偏向锁

    从汇编代码开始全面解析synchronized还原最真实的偏向锁

    这篇文章主要为大家介绍了从模板解释器汇编源码开始分析还原最真实的偏向锁实现,解释monitorenter字节码命令的方法开始,从汇编代码开始全面解析synchronized
    2022-02-02
  • 纯汇编实现打飞机小游戏的示例代码

    纯汇编实现打飞机小游戏的示例代码

    这篇文章主要介绍了纯汇编实现打飞机小游戏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论