汇编
活得真实
善意生活,善意沟通;活出生命的精彩,走出人生的意义!
展开
-
主存储器
功能:存放程序和数据 内存:rom,ram原创 2015-11-23 14:33:34 · 426 阅读 · 0 评论 -
控制寄存器:指令指针寄存器IP:存放下一条指令的地址的偏移量,标志寄存器FR(16):
指令指针寄存器IP:存放下一条指令的地址的偏移量 (下一条指令的地址,CS给出段基值+ip偏移地址,20位的物理地址) 标志寄存器FR:存放当前程序执行的状态,相加以后结果为0,溢出,符号位为正为负等。指令指针IP(16位): CS提供指令地址的段基值,IP提供偏移量,相加得到一条当前执行指令的20位物理地址,下一条指令得地址也是这样得出来的。 标志寄存器FR(16): .1进位标志位CF原创 2015-11-23 20:45:47 · 14929 阅读 · 0 评论 -
8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令
双操作数指令:OPR DEST,SRC 单操作数指令:OPR DEST 无操作数指令:OPR按指令功能划分为六大类: 1传送类指令 2算术运算类指令 3位操作类指令 4串操作类指令 5程序转移类指令 6处理器控制类指令一,传送类指令 1,数据传送指令2交换指令3标志位传送指令4地址传送指令 1数据传送类指令 格式: MOV DEST (R/M),SRC(R/M/立原创 2015-11-24 21:57:38 · 15035 阅读 · 0 评论 -
基本汇编语言学习结构
汇编语言语句及格式 汇编语言数据 常用伪指令 表达式与运算符 汇编程序基本结构原创 2015-11-26 14:16:25 · 555 阅读 · 0 评论 -
汇编语言程序开发过程
工作环境: 为运行汇编语言程序,要在磁盘上建立以下文件: EDIT.EXE MASM.EXE / ASM.EXE LIKE.EXE DEBUG.COM EXE2BIN.EXE 其中,DEBUG是调试程序,它是调试汇编语言程序必不可少的工具,目前有一些集成开发环境,如MasmEdit 编辑程序–源文件.ASM–汇编程序–目标文件.OBJ–连接程序–可执行文件.EXE EDIT原创 2015-11-26 20:46:07 · 996 阅读 · 0 评论 -
寻址方式 寄存器寻址方式 立即数寻址方式 存储器寻址方式: 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式 串操作寻址方式 I/O端口寻址方式
寻找操作数地址的方法共有八种: 寄存器寻址方式 立即数寻址方式 存储器寻址方式:( 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式) 串操作寻址方式 I/O端口寻址方式8086采用的是变字长指令格式,指令长度为1~6个字节,第一个字节包含操作码,第二个字节通常表示寻址方式,第三个到第六个字节表示位移量,立即数。1,寄存器寻址方式:指令所需的操作数在寄存器中,按指令原创 2015-11-24 14:29:53 · 7766 阅读 · 0 评论 -
四,标志位操作指令
1,清除进位标志指令:CLC ;置CF = 0 2,进位标志置位指令:STC;置CF = 1 3,进位标志取反指令:CMC;CF取反 4,清除方向标志指令:CLD;置DF=0 5,方向标志置位指令:STD;置DF = 1 6,清除中断标志指令:CLI;置IF = 0 7,中断标志置位指令:STI;置IF =1原创 2015-11-26 14:13:54 · 1183 阅读 · 0 评论 -
三,位操作类指令:包括逻辑运算指令,测试指令和移位指令
1,测试运算指令:有四条,其格式与功能本别为: 与: AND DEST,SRC EDST <= (SRC) ^(DEST) 或:OR DEST,SRC DEST <= (SRC) v (DEST) 异或:XOR DEST,SRC DEST <= (SRC) O+ (DEST) 上述三条指令影响:SF,ZF,PF,CF,OF 置零,AF不确定 非:NOT原创 2015-11-26 14:04:38 · 2679 阅读 · 0 评论 -
汇编语言中的常数
1,数值常数 二进制数 10110100B 八进制数146Q,5430 十进制数146D,543 十六进制数 1A2FH,0FF00H 实数12.48E-2,1A3C0000R 汇编时,则有汇编程序将所有的数值常数都转换成二进制标示的目标代码 凡是以字母A-F开头的十六进制数,唏嘘在前面加一个02字符串常数 源程序中,用双引号或单引号括起来的一个或多个字符,机器代码中以ASSII码表原创 2015-11-27 09:35:08 · 2539 阅读 · 0 评论 -
汇编语言语句及其格式
指令语句,伪指令语句,宏指令语句一,指令语句 【标号】: 指令助记符 【操作数,。。。,操作数】【;注释】 例如:MOV AX,DSEG ;数据段段值送AX寄存器 NOT TEMP 二,伪指令语句:宏汇编中使用 【名字】 伪指令定义符【参数,。。。参数】;注释】 三,标识符 指令语句中的标号和伪指令语句中的符号名统称为标识符,规则如下: 。字符个数1~31 。第一个字符必须是原创 2015-11-27 09:12:26 · 3298 阅读 · 0 评论 -
什么是压栈操作?指令:PUSH src ;src为16位操作数
什么是压栈操作?指令:PUSH src ;src为16位操作数 功能:SP <=(SP)-2 (SP) <=srcPUSH AX PUSH [BX] PUSH DS原创 2015-11-23 21:38:24 · 4011 阅读 · 0 评论 -
通用寄存器:地址指针寄存器,数据寄存器,变址寄存器
数据寄存器:AX,BX,CX,DX 地址指针寄存器:SP,BP 变址寄存器:SI,DI 1, 指针寄存器:主要提供全部或部分偏移量 16位: SP堆栈指针寄存器 BP基址指针寄存器 SP:存放堆栈段中栈顶单元的偏移量 BP:存放堆栈段中某个单元的全部或部分偏移量,也可以存放16位操作数或结果、 2,变址寄存器 16位: SI源变址寄存器 DI 目的变址寄存器 存放主存操作数的原创 2015-11-23 20:14:54 · 12224 阅读 · 1 评论 -
堆栈的初始化,主要是为ss和SP赋初值
主要是为ss和sp赋初值 段基值:ss 堆栈长度:sp原创 2015-11-23 21:28:23 · 4551 阅读 · 1 评论 -
什么是堆栈?内存中划分出按FIL0方式操作的特殊区域,叫做堆栈
内存中划分出按FIL0方式操作的特殊区域,叫做堆栈 有两个操作,分为压栈,出栈 每次压栈和出栈以字为单位。 SS存放段基值,SP存放栈顶单元偏移量 SS:SP构成堆栈指针 物理地址SSx16+SP 常用于中断或子程序调用,存放返回地址,过程参数,保护数据等。原创 2015-11-23 21:15:04 · 921 阅读 · 0 评论 -
8086的堆栈组织
堆栈段的最大长度为64KB 采用向上生长方式原创 2015-11-23 21:26:32 · 4399 阅读 · 0 评论 -
出栈是如何操作的?指令:POP dest dest为16位操作数
出栈是如何操作的?指令:POP dest dest为16位操作数 功能: dest <=((SP)) SP <=(SP) +2 例子:POP AX POP [BX] POP DS原创 2015-11-24 12:41:22 · 1159 阅读 · 0 评论 -
什么是堆栈的构造方法?向上生长堆栈,向下生长堆栈
向上生长的堆栈: Bottom对应的是堆栈的栈底 Top对应的是堆栈的栈顶 向下生长的堆栈:原创 2015-11-23 21:24:02 · 3955 阅读 · 0 评论 -
具体的压栈指令,例子
设(AX) = 1020H ,执行PUSH AX 前后对比:原创 2015-11-23 21:42:07 · 1657 阅读 · 0 评论 -
指令 机器指令 汇编指令 指令系统 汇编指令的基本构成 操作数
指令:空值计算机完成特定操作的命令 机器指令:指令的二进制代码形式 汇编指令:指令的助记符形式 指令系统:机器所有指令的集合 8086指令系统:向后兼容,应用广泛原创 2015-11-24 12:43:23 · 1285 阅读 · 0 评论 -
段寄存器
用来存放逻辑段的段基值 CS 存放代码段的段基址的高16位,即段基值 DS存放数据段的段基值 ES存放代码段的段基值 CS存放代码段的段基值原创 2015-11-23 15:51:02 · 535 阅读 · 0 评论 -
段寄存器中代码段数据段堆栈段附加段
段寄存器中代码段数据段堆栈段附加段原创 2015-11-23 15:54:38 · 1549 阅读 · 0 评论 -
主存储器物理地址,逻辑地址,转换
20根地址线,可寻址1m字节空间 物理地址: cpu送到地址总线上的20位地址 对主存的读写操作使用物理地址 字节地址:访问的是一个字节 字地址:连续两个8位的存储器的内容存储器的段结构: 逻辑地址: 段基址:一个的段的起始地址,低4位必须是0 段基值:20位段基址的高16位,放在段寄存器中 偏移量:一个存储单元与段基址之间的字节距离逻辑地址 段基值+偏移量 程序原创 2015-11-23 20:59:01 · 1563 阅读 · 0 评论 -
变量,变量的属性
符号地址 1变量定义:有数据定义伪指令变量名 XXXX 表达式1,表达式2,。。。。。 DB 定义字节变量 DW 定义字变量 DD 定义4字节变量 DQ 定义8字节变量 DT 定义10字节变量变量的属性: 段属性 SEG 表示变量存放在哪个逻辑段中,用变量所段的段基值表示 偏移量属性 OFFSET 表示变量在逻辑段中相距起始地址的字节数 类型属性TYPE原创 2015-11-27 12:12:01 · 469 阅读 · 0 评论