汇编学习记录

1.cpu有N条地址总线,就可以寻找2的N次方的内存单元,体现寻址能力。

例:8086有20条地址总线,其有1Mb的内存。内存从低到高放,如数据信息1023H, 23H放在第一个,10H放在第二个,依次向下。

2.数据总线的宽度决定cpu与外界传输的速度,一次数据传送量。(地址中储存的数据)8088为8位,8086为16位。

3.控制总线是cpu向外传输读写操作。

4.二进制信息可以是指令也可是数据, 放在cs寄存器中的一定是指令。

5.汇编语言必须从cpu角度考虑问题,VC系统会自动优化,进行自增与双目运算+时出现错误,可以通过汇编语言来判断。

6.cpu由运算器,寄存器,控部器组成,ni内部依靠内部总线传输。

7.8086cpu所有寄存器都是16位,可以存放两个字节(8位),为一个字,如89A5H。8.8086的四个16位寄存器都可以分为两个独立的8位寄存器用(出于兼容性),如AX可以分位AH,AL。

9.汇编指令:

mov AX, 18 //AX=18(18是十进制数)

add AX ,8 //AX=AX+8

(十六进制满16进1)超过存放的值如进位值会先将舍去的值暂时放其它地方。注:标志寄存器。

10.地址加法器求得物理地址:16×段地址+偏移地址。8086和8088的cpu有20根地址总线,存储单元有1MB(有更大的内存),但由于数据总线为16位,一次性只能输送16位数据,因此用逻辑地址表示(段地址与偏移地址)。如2000H:1234H→21234H。

注:不同逻辑地址可能是同一物理地址,所以只有物理地址是唯一的,必须用其确定,见检测点3.1

11.cpu将内存分段,每段不低于64kb,即偏移地址的个数。

12.8086cpu有段寄存器有CS.DS.SS.ES。CS是代码段寄存器(存放段地址),IP是指令指针寄存器(存放偏移地址)。IP=IP+所取指令长度。内存移至IP指向的地方。

13.mov指令可以直接修改通用寄存器的值,jmp可以修CS:IP的值

JMP 3:1024H //物理地址变为1054H

JMP AX //逻辑地址中段地址不变,偏移地址变成AX所存放的内容。

14.电脑死机可能是进入死循环,即物理地址一直在循环。

15.下面的3条指令执行后,CPU几次修改IP?

都是在什么时候?最后IP中的值是什么?

mov ax, bx

sub ax, ax

jmp ax

执行了4次,三次为指令,第四次是jmp跳转ip值改变成0000H。

16.Debug是cpu调试工具,也可以编写代码。进入方法:按win+R进入dos页面键入cmd输入debug。

17.内存中字的存储:字型数据1234H与字节型数据是34H。内存中字存储可在连续的N,N+1的存储单元,可以称为N存储单元的字型数据。

18.mov指令的五种用法

    mov AX, 18 //AX是通用寄存器,可以直接数据传送,但ip不可以,要通过JMP修改

     mov AX.BX //寄存器与寄存器

     mov DS,AX //段寄存与寄存器

     mov [0],AX //寄存器到内存单元

     mov Al,[0] //从内存单元到寄存器

(al存放一个字节,ax存放一个字)

19.mov,add,sub是有两个操作对象,jmp是只有一个操作对象。

20.栈的方式是先进先出

push es入栈:将一个新的元素放到栈顶

pop ds出栈:把栈顶元素拿出来

21.cpu中的寄存器[cs:ip]是指向当前执行指令的地址,[ss:sp]是指向栈顶元素的地址。

ss栈顶元素的段地址

sp栈顶元素的偏移地址

//进入一个字,sp=sp-2

22.当栈为空的时候,不存在栈顶元素,ss:sp指向栈最低部单元下面的单元,即该单元的偏移地址为栈的最底部的字(2个)单元的偏移地址+2。

23.获取数据的段地址,cpu从ds寄存器中获;获取代码的段地址,cpu从cs寄存器获得;获取栈的段地址,cpu从ss中获得。

24.ax清零的方式:

sub ax,ax

xor ax,ax

mov ax,0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值