汇编学习笔记

本文详细介绍了8086汇编语言的基本概念,包括通用寄存器的使用,汇编指令格式,地址偏移计算,代码段寄存器CS和指令指针寄存器IP的功能,以及debug工具的使用。此外,还讨论了如何进行内存读写,栈的操作,以及编程段定义和链接。
摘要由CSDN通过智能技术生成

通用寄存器:AX,BX,CX,DX,为16位寄存器,都可分为两个八位寄存器(A,B,C,D)H,(A,B,C,D)L

汇编指令格式:[指令][目的地][出发地] 如:mov ax,18

mov:给寄存器赋值

add:将寄存器内值加上一个值,如果溢出了就会把多的直接舍弃,注意操作如AL时是把AL当成单独的寄存器使用的,溢出部分会直接舍弃而不是放到AH里面。sub与add类似,另外,如果减出了负值,就会按照0-1=ffff,然后继续减(2-5=(0-1)-2=ffff-2=fffd)。也可以给内存单元加减值。


地址偏移:8086cpu寄存器为16位,而地址总线有20位,为了使用16位来寻址20位而搞出来的东西。

                 物理地址=段地址*10H+偏移地址

                  这导致了物理地址不会唯一对应一个段地址和偏移地址,理论上只要保证物理地址相同即可。

代码段寄存器CS:记录当前要读取的指令的段地址

指令指针寄存器IP:记录当前要读取的指令的偏移地址

jmp [段地址]:[偏移地址]:修改CS,IP为指定内容

jmp [寄存器]:将IP修改为该寄存器的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值