摘要:[asm/c]:SYSCALL系统调用的编号(x86_64) 一、基本说明 1. 操作系统信息(ubuntu25.10): Linux ubuntu 6.17.0-5-generic 2. 系统调用编号文件的位置: /usr/include/x86_64-linux-gnu/asm 3. 系统调用编
阅读全文
随笔分类 - asm
汇编语言
摘要:[ubuntu2504] NASM安装——ubuntu2504 一、环境 1. 操作系统: Linux ubuntu 6.14.0-22-generic 二、安装实例 [wit@ubuntu:tmp]$ [wit@ubuntu:tmp]$ [wit@ubuntu:tmp]$ sudo apt ins
阅读全文
摘要:[asm]:NASM 编译、链接、执行的过程(32/64) 一、正文 NASM 编译过程 1、 编译环境 nasm: 2.16 os: Linux rocky 5.14.0-503.22.1.el9_5.x86_64 2、 编译为目标文件: 32位系统:nasm -f elf32 hello.asm
阅读全文
摘要:【asm/c/cpp】:时间单位换算(秒) 一、秒的单位: 1、 second(秒:s) 2、 microsecond(微秒:ms): 1 second = 1000 microseconds (1s = 103 ms) 3、 millisecond(毫秒:μs): 1 second = 10000
阅读全文
摘要:[asm] as - linux64 1 code 1 [root@rocky:src]# cat hello64.as 2 # filename = hello64.as 3 4 5 .data 6 msg : .string "Hello, World!\n" 7 len = . - msg 8
阅读全文
摘要:[asm/c/cpp]: function syscall() 1. syscall() - docs [root@rocky:src]# cat syscall.txt syscall(2) System Calls Manual syscall(2) NAME syscall - indirec
阅读全文
摘要:[nasm]: nasm汇编语言笔记和心得 一、笔记内容 1. ascii: 分为ascii字符和ascii码值 -- ascii字符 ascii码值 | ascii码值(十进制) ascii码值(十六进制) | A 65 0x41 | a 97 0x61 | 0 48 0x30 | 1 49 0x
阅读全文
摘要:[asm]: linux syscall number(32bits_64bits) 一、32bit_syscall_number(451个系统调用) 1 [root@rocky:syscall]# cat linux_syscall_no_32.txt 2 // date: 2024-10-26
阅读全文
摘要:asm:汇编语言概述 汇编语言主要由几个部分构成:指令,伪指令,数据,系统调用。 指令,由“CPU”提供。 伪指令,由“汇编器”提供。 数据,由“内存”和“寄存器”提供。 系统调用,由“操作系统”提供。 因此,汇编语言与CPU、汇编器、操作系统相关。
阅读全文
摘要:[os]:linux 【系统调用的编号】- SYSCALL_NUMBER 一、基本说明 1、操作系统:fedora38 2、【系统调用的编号】所在路径和名称: [ /usr/include/asm-generic/unistd.h ] 二、系统调用编号的源码【文件路径和名称: /usr/includ
阅读全文
摘要:[cpp]: 好玩的“宏定义(macro)” 一、有趣的“宏定义” 1、思想/原理:用【宏macro】,定义【伪指令directive】。 2、命令格式: #define [directive_name] [function or ...] 3、应用实例: 1 // directive entry
阅读全文
摘要:[asm]: GNU Binutils: <as><ld/linker> 1. websites: 1.1 [all] https://sourceware.org/binutils/ 1.2 [docs] https://sourceware.org/binutils/docs/ 3. refer
阅读全文
摘要:nasm:变量的使用(bss_section) 一、bss变量的说明 1、在bss段内,“变量名”代表“内存地址”。 2、bss段的变量赋值: mov [bss_var_name], register 1 section .text 2 global _start 3 4 _start: 5 mov
阅读全文
摘要:计算机科学(cs):负数的补码为什么是“绝对值取反+1”? 一、补码 1、答:计算机所有的数字都表示为补码。在计算机中,正数、零、负数,都可以采用补码表示。补码,统一了数字在计算机中的表示方法。 2、补码:将所有的数字都采用或部分采用“非负数”的表示方法。非负数,补码是“非负数”本身;负数,补码是负
阅读全文
摘要:编程:C语言内存的堆栈模型 一、C语言内存的堆栈模型 1、内存的最小单位是字节(byte)。 2、栈:栈底是高地址,栈顶是低地址。栈空间的地址生长方向:从高地址到低地址。 3、堆:堆底是低地址,堆顶是高地址。堆空间的地址生长方向:从低地址到高地址。 二、C语言内存的堆栈模型示意图
阅读全文
摘要:asm:8086寄存器概述(intel - reg16bits) 一、 4个16位段地址寄存器 1、8086对存储器采用分段管理,4个段寄存器分别用于存放4个当前段的起始地址,又称为段基址寄存器。 CS(Code Segment) —— 代码段寄存器,CS用来存放“代码段”的地址,不能人工修改CS的
阅读全文
摘要:asm:操作数寻址的七种方式(intel8086 - masm.exe) 在汇编汇编语言中,很多命令需要“操作数(参数)”。“操作数”给出的方式,有三类。第一类,“直接”给出操作数;第二类,操作数存储在“寄存器”内;第三类,操作数存储在“内存”内。其中,直接给出操作数,包含一种方法。在“寄存器”中给
阅读全文
摘要:os:计算机术语之“编码”和“解码” 一、基本说明 1、信息,被赋予特定涵义的一组符号。 2、文字,能被人类识别出涵义的一组符号;文字,是被赋予特定涵义的一组符号。 3、机器码,能被机器识别出涵义的一组符号。 二、编码和解码 1、编码(编码:“文字” —> “机器码”): 编码,将“文字”转换为“机
阅读全文
摘要:asm:segment -- assume:ds关联多个段(win_intel) 一、 assume:ds 关联多个段:程序源码 1 ; file_name = address.asm 2 3 4 5 6 assume ds:datas1, ds:datas2, ss:stacks, cs:code
阅读全文
摘要:asm: segment 的使用(win_intel) 一、segment(段)的使用 1 ; file_name = segment.asm 2 ; assume ds:data_s, ss:stack_s, cs:code_s 3 4 5 6 7 assume ds:data_s, ss:sta
阅读全文

浙公网安备 33010602011771号