asm学习笔记2

1.cs+ip确定了一个代码段物理地址,这段内存地址被cup看成一个栈,
这个地址是没办法通过普通方法来改变的,最常见的使用jmp语句
例:jmp 2ae3:3 执行后:cs=2ae3,ip=0003h,若只想修改ip,那可以用jmp 某个寄存器,来改变ip的内容.
2.ss+sp确认了一个代码段的栈顶;
3.ds+[]确定了一个数据地址.[]为偏移地址,ds内的值不能通过常规方法改变,
只能通过中转的方式,如:mov ax,1000 mov ds,ax
4.cpu中用16位存放寄存器存放一个字.因为内存只能存一个字节,所以字的低八
位对应内存的低位,内存的高八位对应内存的高位.
5.关于栈顶:如果视10000-1001f为栈代码段,那么栈顶为1001f+1 = 10020
6.内存段段可以是数据段.代码段.栈段
7.bx也可以被当做偏移地址[]
8.cx被当做loop的循环变量

你可能感兴趣的:(ASM,汇编)