首页 > 其他分享 >nasm:变量的使用(bss_section)

nasm:变量的使用(bss_section)

时间:2023-01-18 02:33:30浏览次数:45  
标签:变量 start section mov bss eax nasm

nasm:变量的使用(bss_section)

 

 

 

 

一、bss变量的说明

 

  1、bss段内的变量名,代表内存地址;

 

  2、bss段的变量赋值:    mov    [bss_var_name],    register

 1 section .text
 2     global _start
 3 
 4 _start:
 5     mov    eax,    'e'
 6     mov    [s],    eax
 7 
 8 
 9 section .bss
10     s resb 1

 

 

 

 

二、源码和运行结果

 

  1、源码

 1 ; file_name = nasm_bss_section.asm
 2 
 3 
 4 
 5 
 6 section .text
 7     global _start            ; 必须声明链接器 (ld)
 8 
 9 _start:                    ; 告诉链接器入口点
10 
11     mov    eax,    'e'            ; 将字符‘e’,放入寄存器eax
12     mov    [s],    eax            ; 【重点内容: 使用变量s(bss段)】 将‘e’,放入内存[s]
13 
14     mov    edx,    1            ; 消息长度
15     mov    ecx,    s            ; 消息内容;  【重点内容: 使用变量s(bss段)】
16     mov    ebx,    1            ; 文件描述 (stdout)
17     mov    eax,    4            ; 系统调用号 (sys_write)
18     int    0x80                ; 调用内核
19 
20     mov    eax,    1            ; 系统调用号 (sys_exit)
21     int    0x80                ; 调用内核
22 
23 
24 section .data
25     choice    db    'y'
26 
27 
28 section .bss
29     s    resb    1                ; 定义1个字节的变量s,s未初始化

 

  2、运行结果:

 

 

 

标签:变量,start,section,mov,bss,eax,nasm
From: https://www.cnblogs.com/lnlidawei/p/17059045.html

相关文章