x86汇编代码学习-计算机工作原理2

前言

视频教程

x86汇编代码学习-计算机工作原理1


在这里插入图片描述

1.mov

在这里插入图片描述

因为ah是8bit,所以会传送一个字节的数据到ah寄存器中
在这里插入图片描述
ax 是 16bit,所以会传送两个字节的数据到它那里
在这里插入图片描述

综上,就是会自动判断寄存器的大小,来移动数据。
mov ax,bx是可以的,但是mov cx,dh就不可以,必须保持左右两边宽度一样

所以总共有9个mov操作
mov word [0x01], 0xb80
加了[]为内存单元,不加的时候是立即数
在这里插入图片描述

2.内存分段

8086是16位的计算机,但是它的数据总线有20位,所以有1M的寻址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果每一段位16Byte,那么1M就有65536个16Byte
如果每一段为64kb,那么就有16个64KB
在这里插入图片描述
下面可以看到一个物理地址,根据分段的不同,有多个逻辑地址,这也很好理解,因为分段不一样
在这里插入图片描述
根据实际运行来给段地址
在这里插入图片描述
在这里插入图片描述

3.调试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bochs官网:http://bochs.sourceforge.net/
Bochs下载:https://sourceforge.net/projects/bochs/files/bochs/2.6.11/
Bochs命令:http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html

在这里插入图片描述
在这里插入图片描述

然后点击disk Boot,出现下面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以通过load来加载
在这里插入图片描述

运行,如果运行失败把里面的lock文件删除了重新来
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

e05b是bios程序的入口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mov ax, 0x7c00
mov ds, ax

mov bx, 0x353637
mov byte [0xf1], 'h'
mov byte [0xf2], 0x3839
jmp $

times 510-($-$$) db 0
db 0x55,0xaa


编译
nasm -f bin .\mov2.asm -o .\mov2.bin

5.注释

在这里插入图片描述

6.标号

在这里插入图片描述
在这里插入图片描述

7.add sub

结果保存在第一个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

s 200
表示循环200次

8.inc dec自增,自减

32位加法

9.adc sbb

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 乘法栈

64位寄存器,但是关注后16bit
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

11 栈寄存器push pop

在这里插入图片描述
在这里插入图片描述

12 jz jnz

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13 section 16字节对齐

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14 CALL

在这里插入图片描述

15 逻辑运算

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16 启动MBR以外的程序

在这里插入图片描述
在这里插入图片描述

17

4.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值