程序运行入口:
CS:Code segment(基地址)
IP:指令指针寄存器(偏移地址)
CS:IP
实际地址 = CS * 16 + IP
Debug命令的使用:
R:寄存器查看/修改
D:查看内存(默认显示CS:IP地址)
U:将机器码转换为汇编指令
T:跟踪(trace)代码
A:编写代码
-a
mov ax,1234
mov bx,3456
-u cs:0103 //显示汇编指令
-r //显示当前寄存器状态
-t
----执行程序------:
CS地址不变
IP地址每执行一次 会指向下一个地址
---------
数据段: int a;
代码段: if(a>0) a++;
堆栈段: a = 10;
-----------
DS寄存器(内存访问):
CPU根据DS寄存器和任意一个通用寄存的值或其它数值组成数据段的物理地址
如:DS:[0]
例:
写法一:mov ds:[13ABH],1234H
写法二:mov [13ABH],1234H (默认指向ds)
把"1234"放入13AB地址