![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编要笑着学
文章平均质量分 93
小Y的编程课堂
这个作者很懒,什么都没留下…
展开
-
【汇编要笑着学】汇编模块化编程 | call和ret调用指令 | jmp跳转指令 | inc自加指令
我们了解模块化编程前先给出一个例子,方便大家快速了解。输入c运行等一会后,再输入r命令查看寄存器数据。这段代码用到了了我们今天要学的所有知识。这段代码实际上看意思应该就大概知道了。我们用bochs运行一下。这次几天,你就忘了?算了,重新发一下命令。原创 2024-01-14 11:42:36 · 979 阅读 · 0 评论 -
【汇编要笑着学】第一个程序 | bochs使用 | mov指令 | 运算指令add和sub
这是因为bios会自动从硬盘的第一个扇区(一个扇区512字节)载入引导程序。我们首先使用nasm来编译这段汇编。没事,我们数一数,可以发现不多不少,这个程序刚好512字节。准确的说是0x7c000,因为这里的真实地址要偏移四位。这样bios就知道这是一个没有问题的扇区,不然就会。这段代码会点英文应该就看得出作用,具体的我就不讲了。我也不知道,这个是intel工程师们写死的。不爽的自己去找intel的工程师,别找我。我们打开一下看看这个编译好的二进制文件。这一切都得益于上面这行代码。我们先来运行这段代码。原创 2024-01-11 20:08:54 · 824 阅读 · 0 评论 -
【汇编要笑着学】一些你可能感到疑惑的问题 | 环境配置 | 纵览寄存器
汇编是什么玩意?简单来说汇编就是二进制的助记符。在上古时代,苦逼的程序员只能使用一天天二进制文件来编程。但是二进制文件根本就不是给人看的不信(以上是一个打印helloworld的二进制程序)二进制根本就不是给人看的,程序做了啥根本看不出来。聪明的程序员就发明了汇编语言(虽然难度几乎没变,但总比一堆看不懂的0101要好)汇编的指令和二进制是一一对应的。编译器的工作也十分简单,只需要将文字的代码翻译成二进制指令就行了。不同cpu的指令集是不同的,对应的汇编语言也不一样。原创 2024-01-06 09:24:39 · 879 阅读 · 0 评论