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