汇编
文章平均质量分 56
汇编知识
WongKyunban
这个作者很懒,什么都没留下…
展开
-
在MacOS编译bochs
如果你的Mac OS足够新,那么可以直接通过$ brew install bochs安装,否则可以参考以下的方式安装。下载tar.gz包https://bochs.sourceforge.io/bochs-2.6.tar.gz解压软件包$ tar xvf bochs-2.6.tar.gz安装sdlbochs用的库在OS X平台上不支持GUI。这可以使用 SDL代替。$ brew install sdlconfigure软件包$ ./configure --enable-cpu-lev原创 2021-07-07 23:24:14 · 1196 阅读 · 1 评论 -
汇编:mov指令
mov是汇编中的传送指令。mov 目的操作数,源操作数目的操作数必需是一个容器,如内存单元、寄存器源操作数可以是一个立即数,也可以是一个容器容器有内存单元、通用寄存器(AX、BX、CX、DX等)、段寄存器(CS、DS)立即数就是指令中指定的长度为16位的2的补码,如0xb800立即数只能用作源操作数,也就是它只能传给容器,如内存单元目的操作数,通用寄存器。但是,不能传给段寄存器,原因也很简单,段寄存可是记录记录代码段或数据段的起始地址,岂能随便修改。立即数不能作为目的操作数。段寄存器虽然不原创 2021-07-02 22:06:26 · 23812 阅读 · 0 评论 -
机器语言->汇编语言->高级语言
在硬件层面来看,计算机的运行就是高底电压的变化。这种高低电压的变化在早期是通过开关或插拔电线来控制的。计算机中用0和1来表示低电压和高电压,这些0和1的序列就可以控制计算机CPU进行各种动作。一组一组的0、1序列就是一个一个的指令,这些指令被称为机器语言。早期,工程师先用0、1编写程序,再将程序中的0、1打到纸带上,纸带被分割成等长的块,根据程序的0、1,在每个块上打孔,1就打一个孔,0则不需要打孔。计算机在读入程序时,用一个探针去戳,戳到有孔的则输入1,否则输入0,通过这种方式把一个个由0、1组的指令读原创 2021-06-28 16:33:53 · 1625 阅读 · 0 评论 -
MBR分区、BootLoader程序、分区表
MBR(Master Boot Record) 主引导记录,MBR在电脑硬盘的0面0道1扇区。硬盘的一个盘片的靠最外边的是0磁道,编号依次往圆心递增。一个磁道划分为63个扇区,编号从1开始,每个扇区的大小是512字节。MBR分区中的BootLoader代码是负责加载操作系统的。同时,MBR中还有硬盘的分区信息。从上面我们可知BootLoader程序最大只有446字节,磁盘分区表用64个字节记录,我们也可以知道为什么一个磁盘最多只可以有4个主分区,因为这里最多只能记录4个主分区表的入口。0x55AA是51原创 2021-06-27 23:11:38 · 1703 阅读 · 0 评论 -
迷一般的存在:0x7c00
8086 cpu是一个完全16位的处理器,也就是说它的寄存器、内部和外部数据总线都是16位的。它有8个16位的通用寄存器AX,BX,CX,DX,SI,DI,BP,SP。通常计算机都是处理单字节(8位)的数据,如果每次都用16位的寄存器来存储就显得有些浪费,因此为了减少这些浪费,AX,BX,CX,DX这个4个寄存器可以拆成一个高8位和一个低8位的寄存器来用,使用时互不干扰,即:AX:AH,ALBX: BH,BLCX: CH,CLDX: DH,DL8086 CPU扩展了4根地址线,共有20根地址线,原创 2021-06-27 21:02:19 · 2435 阅读 · 0 评论 -
逻辑门电路
我也是后来才发现只有了解了逻辑门电路后,才了解了我们的计算机是如何执行程序了的,也才了解了指令集是什么意思。逻辑门是数字系统的主要结构部分。逻辑门是在满足输入逻辑要求时产生二进制1或0信号的硬件块。它们都是电子电路。每个门都有一个不同的图形符号,其操作可以用代数表达式来描述。七个基本逻辑门包括:AND、OR、XOR、NOT、NAND、NOR和XNOR。每个门的输入输出二进制变量之间的关系可以用真值表以表格形式表示。每个门有一个或两个由A和B指定的二进制输入变量和一个由x指定的二进制输出变量。AND 与门原创 2021-05-30 23:15:10 · 3153 阅读 · 0 评论 -
计算机层次结构
如果要计算机处理广泛的问题,那么它必须能够执行用不同语言编写的程序,如C,C++,java,kotlin等。编程经验告诉我们,当一个问题比较大时,我们应该将其分解,然后逐个解决。在编程中,我们习惯把一个大问题分解成多问题,然后分别为每一个子问题设计一个模块。每一个模块处理特定的任务,模块之间的通信通过接口来实现。根据抽象原理,我们可以想象机器是从一个层次结构中构建起来的。在这个层次结构中,每个层次都有一个特定的功能,并且作为一个不同的假想机器存在。我们把每一级的假想机器为虚拟机。每一级的虚拟机都执行自己特原创 2021-05-23 16:15:42 · 1689 阅读 · 0 评论 -
在mac安装Homebrew
Homebrew是什么呢?其实它是一个命令行工具,可以用安来安装一些工具如汇编工具nasm等等。它就像Ubuntu上的apt命令。Step 1:打开命令行工具输入以下命令并按回车/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"接下来就是等待它运行完。Step 2:运行完后就等于安装好Homebrew工具了,试用它来安装nasm。brew install n原创 2021-05-23 02:07:06 · 1516 阅读 · 0 评论 -
How to code assemble program on Ubuntu
Maybe you want to ask me a question? why do you want to study assemble language.That is not worthy.But someone told me that starting programming the most difficult part of programming ,which no doubt is assemble language,will lead to an easy way to other p原创 2021-02-27 00:42:13 · 1272 阅读 · 0 评论