欢迎光临散文网 会员登陆 & 注册

0160-16位寄存器

2023-08-13 21:52 作者:jiangbo4444  | 我要投稿

环境

  • Time 2022-11-07

  • WSL-Ubuntu 22.04

  • QEMU 6.2.0

  • NASM 2.15.05

前言

说明

参考:《x86汇编语言:从实模式到保护模式》李忠
参考:https://wiki.osdev.org/CPU_Registers_x86

目标

了解 16 位寄存器,了解寻址方式。

通用目的寄存器

前面讲的八个八位的寄存器,其中 H 代表高位,L代表地位,两位组合成为一个十六位的寄存器。

先可以只认识 AX, BX, CX 和 DX 四个寄存器,其余的后面来看。

指令指针寄存器

IP(Instruction Pointer)表示指令的指针寄存器,在 8086 上可以查看 PC 寄存器,即程序计数器。

段寄存器

可以先认识代码段 CS 和数据段 DS。

寻址方式

8086 寻址通过 IP 和 CS 来完成,CS 表示代码段地址,DS 是数据段地址,IP 是偏移地址。 真实的物理地址是段寄存器乘以 16 加上偏移地址,16 位地址最大寻址 64K,加上向左移动 4 位,最大 1M。

大小端

当有十六位寄存器存在的时候,就需要考虑字节的存放情况,intel 架构是将低字节放到低内存地址,高字节放到高内存地址。 这种情况称为小端序,如果是反过来,则称为大端序。

总结

介绍了 CPU 的十六位寄存器,了解了指令执行的时候的寻址方式,了解什么是大小端存储。

附录


0160-16位寄存器的评论 (共 条)

分享到微博请遵守国家法律