当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 161861提问 提问时间:2023-11-08 02:04:43阅读次数: 61

最佳答案 问答题库618位专家为你答疑解惑

文章目录

  • 前言
  • 1.mov
  • 2.内存分段
  • 3.调试
  • 5.注释
  • 6.标号
  • 7.add sub
  • 8.inc dec自增,自减
  • 9.adc sbb
  • 10 乘法栈
  • 11 栈寄存器push pop
  • 12 jz jnz
  • 13 section 16字节对齐
  • 14 CALL
  • 15 逻辑运算
  • 16 启动MBR以外的程序
  • 17
  • 4.

前言

视频教程

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, axmov 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.

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"x86汇编代码学习-计算机工作原理2":http://eshow365.cn/6-34949-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!