从c语言程序到汇编语言程序,从汇编语言到C语言零基础教程

634c4708c495b3670cff6546f5ee7b9f.png

汇编语言,汇编指令?

用汇编语言写指令

汇编语言还包括:伪指令, 符号指令。

伪指令是个编译器看的,告诉编译器怎么执行

机器指令  和 二进制?

用二进制写机器指令

汇编指令  和 机器指令?

汇编指令翻译成机器指令给cpu执行。

机器指令存放的地方?

内存中存放。

内存的构成:内存条,显卡中用显存,键盘中的内存,鼠标中的内存,还有其他设备或者叫部件的内存。

指令和数据都在内存中存储,对cpu来说,内存中的东西都是数据,那么cpu如何区分指令和数据?

cs :  ip 组合寄存器中地址指向的内存空间的内容对cpu来说是指令。

那指令执行的过程是什么?

cpu从cs :  ip 地址指向的内存单元中取出数据放在指令缓冲器中;

ip寄存器: ip =  ip  +  指令的字节数,因为每个指令都有长度,用几个字节存储。

执行指令寄存器中的内容,然后再重复回去。

一些汇编指令:

r :寄存器指令

d: 段地址:偏移地址 - 偏移地址      展示内存

u:将后续字节翻译成汇编指令 查看汇编指令

a :段地址:偏移地址   写入指令

e: 段地址: 偏移地址  修改内存

内存:

最小单位(储存单元)

字节(Byte)=2个16进制数字 = 8 个2进制数字 bit (比特)

对字节(储存单元)进行编号

它们是从0开始编号

1byte = 8bit

1kb = 1024 byte

1MB = 1024 KB

1GB = 1024 MB

1TB = 1024 GB

指令是有长度的,可以由多个字节组成,指令执行的过程:

1 cpu 从cs:ip所组成的地址处读取指令,将这个指令存放到指令缓冲器中

2 ip=ip+所读指令的字节数

3 执行指令缓存器中的内存,回到步骤1重复这个过程

10进制->2进制(机器指令)-》16进制-》汇编指令-》内存-》内存编号(内存地址)-》地址(寻址能力)-》数据线(至少8根表示一个Byte)-》控制线

寄存器-》数据寄存器-》地址寄存器-》通过cs:ip组成的地址 将里面的内容当作指令

段地址:偏移地址

ds           ip

es           sp

ss           bp

cs           si

di

bx

通过汇编指令 修改CPU寄存器中的内容 控制CPU,从而达到控制整个计算机的目的

mov  ax,bx 移动 (注意数据长度)移动指令

add ax,ax

sub ax,ax         运算指令

jmp XXXX:XXXX (实际不这么写地址跳转)

call xxxx(很多形式,修改CSIP)

以上俩个都是转移指令

写程序经验:

数据在哪里?地址寄存器组合

AXBXCXDX  通用寄存器

处理数据

将结果存放起来 地址寄存器组合

cpu执行机器指令/汇编指令

汇编指令-》编译器—>机器指令

表示地址的线路:地址线(表示0或1,决定cpu寻址能力)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值