小甲鱼汇编语言学习笔记——day02
1、8086CPU不支持将数据直接送入段寄存器,需要按照下面方式:数据——》通用寄存器——》段寄存器。
2、mov指令的几种形式:
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元 mov ax,[0] 将段地址为DS,偏移地址为0的数据存到ax寄存器里。
mov 内存单元,寄存器 mov [0],ax 将ax寄存器里的数据存储到段地址为DS,偏移地址为0的内存地址。
mov 段寄存器,寄存器
mov 寄存器,段寄存器
3、mov、add、sub是具有两个操作对象的指令,jmp只有一个操作对象。
4、入栈和出栈指令:
push ax :将寄存器ax中的数据送入栈中
pop ax :从栈顶取出数据送入ax
ps:8086CPU的入栈和出栈操作都是以字为单位进行的。
5、8086CPU中,有两个寄存器与栈有关:
段寄存器ss 存放栈顶的段地址
寄存器sp 存放栈顶的偏移地址
ps:任意时刻,SS:SP指向栈顶元素。push : sp=sp-2, pop: sp=sp+2
当栈里元素为空的时候,sp指向空间最高地址单元的下个单元。
6、字型数据用两个单元存放,高地址放高8位,低地址放低8位。
7、将10000H~1000FH这段空间当做栈,初始状态为空,设置AX=001AH,BX=001BH,将AX,BX中的数据入栈,然后将AX,BX清零,从栈中恢复AX,BX原本的内容。(注:main函数调用方法)
mov ax,1000 初始化栈顶
mov ss,ax 初始化栈顶
mov sp,0010 初始化栈顶
mov ax,001A
mov bx,001B
push ax
push bx
mov ax,0
mov bx,0
pop bx
pop ax
最新文章
- 作业三(代码规范、代码复审、PSP)
- CSS 笔记五(Combinators/Pseudo-classes/Pseudo-elements)
- 保留json字符串中文的函数,代替json_encode
- NodeJS系列~目录
- python sklearn.linear_model.LinearRegression.score
- [转帖]音响及DarBee
- 安装weblogic的步骤10.3.0.0
- C#数字类型及运算符
- Log4Net不同日志类型写入到不同文件
- maven安装与环境变量配置
- 通过mysqlbinlog 恢复数据
- centos6.5安装nginx+python+uwsgi+django
- 【原】git常用命令笔记
- 浏览器通知--window.Notification
- 《mysql从入门到精通》提高
- MySql(六)单表查询
- WPF Demo511 控件共用事件
- BZOJ 1227 [SDOI2009]虔诚的墓主人 - 扫描线
- ubuntu -- 安装最新版的nodejs
- mvc模拟实现