hex - 汇编器内存地址表示

标签 hex assembly

我正在尝试使用汇编程序,并且经常遇到以下形式的数字:

org 7c00h

; initialize the stack:
mov     ax, 07c0h
mov     ss, ax
mov     sp, 03feh ; top of the stack.

7c00h、07c0h、03feh - 这个数字表示法的名称是什么?他们的意思是什么?为什么使用它们而不是“正常”十进制数?

最佳答案

它是十六进制,即由 0-9 和 A-F 16 位数字组成的数字系统。内存地址以十六进制给出,因为它更短,更容易阅读,并且代表内存位置的数字对人类来说没有任何特殊意义,因此使用长数字是没有意义的。我猜想在过去的某个地方,有人也必须手动输入一些地址,也可能是从那里开始的。

关于hex - 汇编器内存地址表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4581468/

相关文章:

c++ - 使用 C 或 C++ 的汇编语言

linux - NASM 为注册 bug 增加值(value)

c - 如何计算周期?

将二进制字符串转换为十六进制字符串 C

c++ - 为什么 cout<<hex 语句使其余部分仅以十六进制格式打印

c++ - 读取文件十六进制数据并存储到 C++ 中的字符串二维数组中

c - 从文件中读取十六进制值并在 C 中显示它们

c - 字符串转换时 strtol 结果不匹配

c - 为什么clang用-O0产生效率低的asm(对于这个简单的 float 和)?

c++ - C++ 中的 asm block 作为宏