170316 汇编-Debug指令、寄存器和内存

来源:互联网 发布:流畅的python pdf 编辑:程序博客网 时间:2024/05/18 19:45

1625-5 王子昂 总结《2017年3月16日》 【连续第166天总结】

A.汇编第二章实验、第三章

B.本次实验的命令有:

-r查看、改变寄存器的内容

-r-rip(直接输入为显示所有寄存器、当前cs:ip指向的地址、命令)(加上寄存器名称则为显示当前内容及修改内容)

-d查看内存中的内容

用法:-d 1000:0-d 1000:0 0(不加偏移地址结尾则全部显示64KB的段内容)

-e改变内存中的内容

输入首地址,空格进入下一个内存,回车键结束

-u将内存中的机器指令翻译为汇编指令

-u 段地址:偏移地址

-t执行(当前指针所指向的地址的)一条机器指令

-a以汇编指令的格式在内存中写入一条机器指令

-a 段地址:偏移地址

注:0-9FFFF为主存储器地址空间,可以随便修改

     A0000-BFFFF为显存地址空间,实验中对它的修改没有起效,并且第二次查找它的内容完全不同

C0000-FFFFF为各类ROM地址空间,debug无法修改它的内容(不会报错,但写入命令无法生效)

CPU中用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。

字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字形数据的低位字节。

8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。比如读取10000H单元的内容,可以:

mov bx,1000H

mov ds,bx

mov al,[0]

其中,[0]表示传入al寄存器的内容的内存单元的偏移地址。段地址则为ds寄存器的内容。

直接把值赋给ds段存储器的命令是不允许的,因此需要bx存储器来中转;

mov指令有两个参数,允许接入寄存器、数据、内存单元和段寄存器的任意写入;

add和sub指令也是两个参数,允许接入寄存器、数据和内存单元,但不接受对段寄存器的写入

对于8086PC机,在编程时可以将一组内存单元定义为一个段。要求为:长度小于等于64KB、地址连续、起始地址为16的倍数的内存单元。段地址直接传给ds段寄存器后,即可通过mov ax,[0]等来修改偏移地址轻松地累加数据段中的内容

C.明日计划

JAVA

汇编 检测点3.1及以后内容

0 0
原创粉丝点击