![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
文章平均质量分 82
_ZestyJt
这个作者很懒,什么都没留下…
展开
-
8086汇编语言(三) 字符串输入和显示
字符串输入 字符串输入通过调用DOS功能的0AH号功能实现,需要用户指定一个输入缓冲区存放输入的字符串。缓冲区一般定在数据段,其定义格式如下字节位置作用原创 2021-11-26 00:13:48 · 13614 阅读 · 1 评论 -
8086汇编语言(二) 汇编语言伪指令
汇编语言伪指令 指示性语句中的位操作命令, 称为伪指令1. 数据定义伪指令(1). 格式[变量名] 位操作 操作数1, 操作数2 ...定义数据伪操作有以下五种伪操作作用变量占据内存DB定义变量为字节类型8位DW定义变量为字类型16位DD定义变量为双字类型32位DQ定义变量为四字类型64位DT定义变量为十字街类型80位(2). 操作数 数据定义伪操作后的操作数可以是常数、表达式或字符串举例DATA DB 21H,原创 2021-11-25 17:54:33 · 5938 阅读 · 0 评论 -
8086指令系统(五) 程序控制指令
程序控制指令1. 无条件转移指令(1). 段内直接转移指令JMPJMP NEAR LABLE功能: LABLE是一个符号地址, 指令执行会跳到LABLE指向的位置(2). 无条件段内间接转移指令JMPJMP OPRD功能: OPRD是一个16位寄存器或存储器地址(需要指明16位), 指令执行会跳到以OPRD为内容的位置(3). 无条件段间直接转移指令JMPJMP FAR LABLE功能: LABLE是另一个代码段的地址, 指令执行会跳到CS:IP的位置(4).原创 2021-11-23 23:53:17 · 1084 阅读 · 0 评论 -
8086指令系统(四) 串操作指令
串操作指令串操作指令特点源串(源操作数)的偏移地址是DS:SI, 允许段重设目标串(目标操作数)的偏移地址是ES:DI, 不允许段重设串的长度值放在CX寄存器中串操作指令本身可实现地址指针的自动修改, 修改方向与DF的状态有关, DF = 1按减地址(从高地址向减地址),DF = 0按增地址(从低地址向高地址),对字节(8位)操作加1, 对字(16位)操作加2可以在串操作指令前加重复前缀, 若使用了重复前缀, CX寄存器的值会自动减1 源串: DS/SEGMENT:SI 目标串:原创 2021-11-23 23:06:39 · 2165 阅读 · 0 评论 -
8086指令系统(三) 逻辑运算和移位运算指令
逻辑运算和位移运算指令1. 逻辑 “与” 指令AND O1,O2功能: O1 & O2 的结果存入 O1作用: (1). 屏蔽某些位 将目标操作数要屏蔽的位在源操作数中对应的位设置为0, 其他位为1, 相与之后要屏蔽的位变为0, 其他位保留原来的数 (2). 改变状态标志位 自身与自身相与, 内容不变, CF = 0, AF = 0, 其他标志位也会受影响2. 逻辑 “或” 指令OR O1,O2功能: O1 | O2 的结果存入 O1作用: (1)原创 2021-11-23 00:37:54 · 1735 阅读 · 1 评论 -
8086指令系统(二) 算数运算指令
算数运算指令 算数运算的大多数指令都会对标志位FLAGS寄存器产生影响FLAGS寄存器 FLAGS称为 标志寄存器 或 程序状态字(PSW),是一个16位的寄存器,其中只使用了9位,6个状态标志和3个控制标志1. 状态标志位用来记录算数和逻辑运算的特征标志位名称作用解释CF进位标志位当加(减)运算时,最高位向前有进位(借位),CF = 1,否则CF = 0PF奇偶标志位当运算结果的低8位中1的个数为偶数时,PF = 1,为奇数时,PF = 0AF辅原创 2021-11-21 12:56:47 · 1288 阅读 · 0 评论 -
8086指令系统(一) 通用数据传送指令
通用数据传送指令1. MOV指令MOV 目标操作数, 源操作数功能: 将一个操作数从源地址复制到目标地址。注意: (1). 两个操作数必须是相等字长的; (2). 两个操作数不能同时是存储器操作数, 既不能实现内存中的单元复制到另一块内存中的单元; (3). 两个操作数不能同时是段寄存器; (4). 指令指针存储器IP 和 代码段寄存器CS 不能作为目标操作数; (5). 寄存器FLAGS不能作为操作数; (6). 源操作数是立即数, 目标操作数不能是段寄存器。2.原创 2021-11-20 23:23:56 · 2460 阅读 · 0 评论 -
8086指令系统中的寻址方式
操作数寻址 操作数的寻址方式一共有8中1. 立即寻址 直接指出操作数的数据, 即操作数是立即数MOV AX, 1200H该指令中, 源操作数是1200H, 它是立即数, 这种寻址的方式就是立即寻址2. 直接寻址 ( 存储器寻址 ) 指令中的操作数是存储器操作数MOV AX, [3100H]该指令中, 表示将内存里数据段中, 偏移地址是3100H单元和3101H单元的内容复制一份到寄存器AX中。"[]" 内用16位上述表示存放数据的偏移地址, 数据的段基地址默认为数据段段重原创 2021-11-20 13:12:22 · 4651 阅读 · 0 评论