汇编语言学习(王爽2.3章)
1.代码段储存寄存器CS和指令寄存器IP共同决定代码开始执行的位置:(CS左移四位+IP)
程序提供两种方法修改段寄存器:(1)跳转指令(2)直接把寄存器的值mov进入段寄存器
2.代码执行过程:
(1)CPU根据CS和IP的值在主存空间里找到即将执行的指令,指令进入指令缓冲器;(2)IP加3,指向下一条指令(3)执行代码(循环至1)
3.在DOS中debug模式的基本操作:(2章实验)
(1)-r 显示所有寄存器的情况
(-r 后再加入寄存器名字,可针对性修改寄存器的值)
(2)-d 展示存储空间的情况
(-d 查看内存数据情况时,如-d 1000:0 ,可以默认后面什么都不加,直接展示往后128位的内存值;也可以加十六进制数值,如-d 1000:0 2,表示显示从基地址1000:0开始,再往后显示两个字节(加上基地址一共会产生三个字节))
(3)-a 汇编代码形式(向指定内存位置)输入指令
(4)-e 机器代码形式修改指定内存位置的数值
(5)-u 翻译指定位置机器码为汇编源码
(6)-t 从CS和IP加起来指定的位置开始执行代码
4.数据段寄存器DS
(1)其实数据段和代码段都是运用的同一个内存,只是解读的方式不同,于是产生了不同的字段。
(2)数据段寄存器和【】中的一起,同代码段寻址一样的原理偏移寻址。
(3)mov数据传送到AX等寄存器,一次是传送一个字(8086数据线是16位),两个字节,并且高位地址存放的字节是数据高八位。
5.mov,add,sub指令
(1)都可以数字到寄存器、寄存器到寄存器、内存到寄存器、寄存器到内存
(2)数字不能直接到内存,数字不能直接进入段寄存器
网友评论