寄存器(内存访问)

debug的使用可以在上部分的CPU原理查询:

执行完程序之后查看对应的通用寄存器的值,观察是不是如程序所示的那样对应寄存器的地址发生改变。

 说明:如果第三行的代码是:mov ax,[0]  那么传给ax的就是1123,如果代码是mov al,[0]  那么传给ax的就是23,在这里主要是区分字节和字的区别,ax传输的字,al传输的是字节   中括号里面是偏移地址,包括字节和字两种形式

问题3.3和3,4的操作步骤:

先使用指令 e 1000:0 23 11 22 11 将对应的数据放进去内存d

然后使用指令 r 查看ds:ip(段地址和偏移地址的位置,又叫做物理地址)的位置,本教程介绍的ds:ip是073f:100

使用指令 a 073f:100可以进入写入指令的模式,然后输入上面的指令,可以修改对应的通用寄存器值

最后使用 d 1000:0 4 可以查看该物理地址指向的内存里面的前五个值,可以发现对应的值的变化情况和之前没有使用指令之前的区别

提示:在第三行代码中的11316使用问题的,因为debug中指令中默认的数值应该是16进制的数据,而此处的11316是十进制的数值,所以应该先将113156转换成16进制的2c34,再输入即可

mov、add、sub指令的用法:

 

 

写几条指令,累加前三个数据段中的前三个字型数据:

 小结:

猜你喜欢

转载自www.cnblogs.com/souhaite/p/10849775.html