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及以后内容
- 170316 汇编-Debug指令、寄存器和内存
- 寄存器和常用汇编指令
- 一些汇编指令和寄存器。
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 32位CPU寄存器和汇编指令
- 汇编_32位CPU寄存器和汇编指令
- 汇编寄存器基本指令
- 关于win10系统如何调用debug查看CPU汇编指令和内存
- “DEBUG”汇编指令
- 汇编DEBUG常用指令
- 记录DEBUG汇编指令
- 8086CPU汇编loop指令和cx寄存器
- 8086汇编寄存器常用指令
- 为控件添加动画的方法(Alpha透明度,rotate旋转,scale缩放,translate位移)
- Trie——51nod1526 分配笔名
- 有关三角形坐标面积代码
- STM32F407(5)
- Codeforces 785E 题解(树套树-树状数组套线段树)
- 170316 汇编-Debug指令、寄存器和内存
- Unity手游框架 之 界面管理(一)
- gcc编译之常见错误
- Unity5.5 制作2D游戏
- L1-025. 正整数A+B
- Python爬虫抓取马蜂窝游记的照片 基于xpath
- 535. Encode and Decode TinyURL
- 低鲁棒车流分析
- 抛硬币直到出现连续N次正面为止的期望