草庐IT

IDA反汇编

全部标签

v87.01 鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main () | 百篇博客分析 OpenHarmony 源码

本篇关键词:内核重定位、MMU、SVC栈、热启动、内核映射表内核汇编相关篇为:v74.01鸿蒙内核源码分析(编码方式)|机器指令是如何编码的v75.03鸿蒙内核源码分析(汇编基础)|CPU上班也要打卡v76.04鸿蒙内核源码分析(汇编传参)|如何传递复杂的参数v77.01鸿蒙内核源码分析(链接脚本)|正在制作中...v78.01鸿蒙内核源码分析(内核启动)|从汇编到main()v79.01鸿蒙内核源码分析(进程切换)|正在制作中...v80.03鸿蒙内核源码分析(任务切换)|看汇编如何切换任务v81.05鸿蒙内核源码分析(中断切换)|系统因中断活力四射v82.06鸿蒙内核源码分析(异常接管)|

挑战30天写操作系统-day2-汇编语言学习与Makefile入门

1.介绍文本编辑器这里,我们直接采用自己windows电脑自带的文本编辑器即可以完成制作要求2.继续开发下面先是对昨天使用的helloos.nas文件内容进行详细解释;hello-os;TAB=4;标准FAT12格式软盘专用的代码StandFAT12formatfloppycode DB 0xeb,0x4e,0x90 DB "HELLOIPL" ;启动扇区名称(8字节) DW 512 ;每个扇区(sector)大小(必须512字节) DB 1 ;簇(cluster)大小(必须为1个扇区) DW 1 ;FAT起始位置(一般为第一个扇区) DB 2

挑战30天写操作系统-day2-汇编语言学习与Makefile入门

1.介绍文本编辑器这里,我们直接采用自己windows电脑自带的文本编辑器即可以完成制作要求2.继续开发下面先是对昨天使用的helloos.nas文件内容进行详细解释;hello-os;TAB=4;标准FAT12格式软盘专用的代码StandFAT12formatfloppycode DB 0xeb,0x4e,0x90 DB "HELLOIPL" ;启动扇区名称(8字节) DW 512 ;每个扇区(sector)大小(必须512字节) DB 1 ;簇(cluster)大小(必须为1个扇区) DW 1 ;FAT起始位置(一般为第一个扇区) DB 2

学习汇编-32位

数据类型类型用法BYTE8位无符号整数,B代表字节SBYTE8位有符号整数,S代表有符号WORD16位无符号整数SWORD16位有符号整数DWORD32位无符号整数,D代表双(字)SDWORD32位有符号整数,SD代表有符号双(字)FWORD48位整数(保护模式中的远指针)QWORD64位整数,Q代表四(字)TBYTE80位(10字节)整数,T代表10字节REAL432位(4字节)IEEE短实数REAL864位(8字节)IEEE长实数REAL1080位(10字节)IEEE扩展实数简写DB8位整数DW16位整数DD32位整数DQ64位整数DT80位整数指令操作数符号x86指令格式:[label:

学习汇编-32位

数据类型类型用法BYTE8位无符号整数,B代表字节SBYTE8位有符号整数,S代表有符号WORD16位无符号整数SWORD16位有符号整数DWORD32位无符号整数,D代表双(字)SDWORD32位有符号整数,SD代表有符号双(字)FWORD48位整数(保护模式中的远指针)QWORD64位整数,Q代表四(字)TBYTE80位(10字节)整数,T代表10字节REAL432位(4字节)IEEE短实数REAL864位(8字节)IEEE长实数REAL1080位(10字节)IEEE扩展实数简写DB8位整数DW16位整数DD32位整数DQ64位整数DT80位整数指令操作数符号x86指令格式:[label:

汇编指令

aaa/aasaaa;将AL的加和调整为非压缩BCD码,AH=AH+调整的进位aas;将AL的减差调整为非压缩BCD码,AH=AH+调整的借位先执行以AL为目的操作数的加法或减法指令addadd目的,源;加法指令,结果放入目操作数,操作数的长度必须相同adcadc目的,源;带进位加法,目的=目的+源+CF主要与ADD配合,实现多精度加法运算andand目的,源;逻辑按位与指令,结果放到目的操作数。;影响标志位OF、SF、ZF、PF和CF。callcalls;使calls下一条指令的CS:IP入栈(段内转移只有IP入栈),跳转到标号处cbw/cwdcbw;AL的符号扩展至AXcwd;AX的符号扩

汇编指令

aaa/aasaaa;将AL的加和调整为非压缩BCD码,AH=AH+调整的进位aas;将AL的减差调整为非压缩BCD码,AH=AH+调整的借位先执行以AL为目的操作数的加法或减法指令addadd目的,源;加法指令,结果放入目操作数,操作数的长度必须相同adcadc目的,源;带进位加法,目的=目的+源+CF主要与ADD配合,实现多精度加法运算andand目的,源;逻辑按位与指令,结果放到目的操作数。;影响标志位OF、SF、ZF、PF和CF。callcalls;使calls下一条指令的CS:IP入栈(段内转移只有IP入栈),跳转到标号处cbw/cwdcbw;AL的符号扩展至AXcwd;AX的符号扩

计算机系统6-> 计组与体系结构3 | MIPS指令集(中)| MIPS汇编指令与机器表示

上一篇计算机系统5->计组与体系结构2|MIPS指令集(上)|指令系统从顶层讲解了一个指令集/指令系统应当具备哪些特征和工作原理。这一篇就聚焦MIPS指令集(MIPS32),看看其汇编语句和机器语言是什么样子的。参考资料:ComputerOrganizationandDesignthe5thEdition,即计算机组成与设计硬件软件接口第五版龙芯杯MIPS指令系统规范手册课件,由于是英文且只是老师的思路,所以是辅助参考《计算机组成原理》谭志虎,HUST(此书强推)《计算机组成原理》MOOCHUST00数据格式本文约定MIPS32的数据格式定义如下:比特(bit,b)字节(Byte,8bits,

计算机系统6-> 计组与体系结构3 | MIPS指令集(中)| MIPS汇编指令与机器表示

上一篇计算机系统5->计组与体系结构2|MIPS指令集(上)|指令系统从顶层讲解了一个指令集/指令系统应当具备哪些特征和工作原理。这一篇就聚焦MIPS指令集(MIPS32),看看其汇编语句和机器语言是什么样子的。参考资料:ComputerOrganizationandDesignthe5thEdition,即计算机组成与设计硬件软件接口第五版龙芯杯MIPS指令系统规范手册课件,由于是英文且只是老师的思路,所以是辅助参考《计算机组成原理》谭志虎,HUST(此书强推)《计算机组成原理》MOOCHUST00数据格式本文约定MIPS32的数据格式定义如下:比特(bit,b)字节(Byte,8bits,

自己动手从零写桌面操作系统GrapeOS系列教程——10.NASM汇编语言

学习操作系统原理最好的方法是自己写一个简单的操作系统。汇编语法主要有两种:Intel语法和AT&T语法。由于大部分介绍x86汇编的书籍和资料用的都是Intel语法,毕竟x86就是Intel发明的,大家学过的x86汇编大概率也是Intel语法,所以GrapeOS的汇编也用Intel语法。支持Intel语法的x86汇编器不止一种,常见的有MASM和NASM。MASM来自微软公司,只能在微软的操作系统Windows和MS-DOS上用。NASM是开源软件,支持多平台。GrapeOS选用NASM。下面介绍一下NASM在Linux上的使用1.首次使用需要先安装yuminstallnasm由于我之前已经安装