首页 > 其他 > 详细

汇编 第一天

时间:2018-06-03 10:08:03      阅读:211      评论:0      收藏:0      [点我收藏+]

1.看的小甲鱼的视频。

2.我用的是 mac笔记本。今天把dos装上了,用来debug。装的教程参考的这:https://blog.csdn.net/Zach_z/article/details/78171329

重点在于:用 mount c (资源地址) 挂上资源,后进入 c盘,运行debug。

 

3.知识点 :

 

3.1 汇编语言对大小写不敏感

 

3.2 debug的六个功能:

R 查看、改变寄存器的内容。( r ax )

D 查看         内存中的内容  

E 改写          内存中的内容 (数字、机器码)

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

T 执行一条机器指令

U 将内存中的机器指令翻译成汇编指令

 

3.3 CS 为代码段寄存器 放的是指令的段地址 和 IP为 指令指针(控制)寄存器 放的是 指令的偏移地址。 

  CS和IP 指示了CPU当前要读取的指令的地址。

 

3.4 CPU要访问内存单元时,要得到内存单元的物理地址

  物理地址=段地址*16+偏移地址 (16进制乘16,相当于向左进一位 ——> N进制的数*N 相当于左移1位)

  原因:(8086CPU)内部的总线为16位,要与外部20位的地址总线转换。 (二进制 * 16相当于偏移 4位,总共就为20位了)

3.5 任意两个连续的内存单元(N,N+1)可以看成地址为N的字单元中,地位字节 单元(N)和高位字节单元(N+1)。

 

4.今天的练习题: 内存情况如下,写出指令执行后寄存器内的值。

技术分享图片

解题思路,一、内存里填内容 e  二、写汇编 a  三、逐步执行t

e 1000:0 23 11 22 66 (连续的内存空间)

r

a cs:ip mov ax,1000 //把段地址数据放入通用寄存器中

   cs:ip mov ds,ax //把通用数据的内容放入段寄存器中

 cs:ip mov ax,[0] // 把段内偏移地址为0的 内存单元的内容送入寄存器中

 cs:ip mov bx,[2] 

 ....

t //单步执行

 

汇编 第一天

原文:https://www.cnblogs.com/30ends/p/9127900.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!