汇编 基础概念 基础指令 物理地址

由于看不懂IDA反汇编的源码,还是要学一下汇编 记录一下

汇编基础指令

汇编指令 高级语言的表述
mov ax,18 AX = 18
mov ax,bx AX = BX
add ax,8 AX = AX + 8
add ax,bx AX = AX + BX

在数据后面

001AH H代表这个数是16进制的
1001B B代表这个数是2进制的(binary)

物理地址

物理地址 = 段地址 * 16 + 偏移地址(8086CPU)

为何段地址要*16 如下图
地址加法器加算时会把段地址前移4位

左移位数 二进制 十六进制 十进制
0 10B 2H 2
1 100B 4H 4
2 1000B 8H 8
3 10000B 10H 16
4 100000B 20H 32

16进制的顺序
0 2 3 4 5 6 7 8 9 a b c d e f

ax 与 ah al 的关系(16进制下)
ax=4E20H
ah=4EH
al=20H

ah=66 bh=9c
ah + bh = 102h
但是因为存储器只能存8位数据
所以1被舍弃 在寄存器中 只取后两位

你可能感兴趣的:(汇编 基础概念 基础指令 物理地址)