当前位置: 首页 > news >正文

8086汇编常见寄存器与指令

本文为学习书籍《汇编语言(第4版)》后的小结。

1、寄存器

序号寄存器描述
1ax运算寄存器
2bx地址寄存器,偏移地址
3cx计数寄存器,loop的结束条件,jcxz的跳转条件
4dx运算寄存器
5cs段地址,指令执行段地址
6ss段地址,栈的段地址
7ds段地址,数据的段地址
8es段地址,extra,扩展的段地址寄存器
9ip偏移地址,instruction,指令偏移地址
10sp偏移地址,stack pointer,栈偏移地址
11si偏移地址,source,源
12di偏移地址,destination,目的
13bp偏移地址,base pointer,基地址
14标记寄存器位代表标记,见标记位列表

2、指令

指令

类型

指令说明

add、adc加法,adc为带进位的加法
sub、sbb减法,sbb为带进位的减法
mul

乘法:
-8位乘法:一个放在al,另一个放在8位reg或内存字节单元中,

                结果16位,存放在ax中;
-16位乘法:一个放在ax,另一个放在16位reg或内存字单元中,

                结果32位,高位放在dx中,低位放在ax中。

div除法:
8位除法:被除数16位,放在ax中,结果al中存商,ah中存余数;
16位除法:被除数32位,dx存高16位,ax存低16位,结果ax存商,dx存余数
andand al,00111011B
oror al,00111011B
shl和shr逻辑左移与右移, 用0补位
inc自增1
dec自减1

mov
movsb

rep movsb 循环(cx)个字符的传送。
将ds:[si]地址的内容拷贝到es:[di],如果df=0(cld),si和di自增;

df=1(std),si和di自减

movswmovsw 一个拷贝1个字(两个字节,32位),每次完成si和di +2或-2
rep与movsb或movsw搭配使用
push、pop
pushf、popfpush flag、pop flag
dupdb 16 dup (0) 将此块内容设置为16个为0的字节
dw 16 dup (0) .....16个为0的字(2个字节)
dd 16 dup (0) .....16个为0的双字(4个字节)

jmp
jcxzcx==zero跳转

je、jb、ja、

jnb、jna、jne

与cmp搭配
loopcx==0结束循环
call与retip寄存器会push和pop
int中断 与 iretint:
(1)取中断类型码n;
(2)标志寄存器入栈;
(3)IF=0,TF=0;
(4)CS入栈,IP入栈;
(5)修改CS和IP至n号中断码对应的地址
iret:
(1)pop IP
(2)pop CS
(3)popf

cld、std与movsb或movsw搭配使用:
cld,将df设置为0,则si和di自增(或+2);
std,将df设置为1,则si和di自减(或-2);
cli、stisti,设置IF=1,在中断处理程序中可处理可屏蔽中断;
cli,设置IF=0,在进入中断处理程序后,进制其他的可屏蔽中断。
nop占位,和offset搭配,通常用来计算某段代码的长度

相关文章:

8086汇编常见寄存器与指令

本文为学习书籍《汇编语言(第4版)》后的小结。 1、寄存器 序号寄存器描述1ax运算寄存器2bx地址寄存器,偏移地址3cx计数寄存器,loop的结束条件,jcxz的跳转条件4dx运算寄存器5cs段地址,指令执行段地址6ss段地址,栈的段地…...

Group By、Having用法总结(常见踩雷点总结—SQL)

Group By、Having用法总结 目录 Group By、Having用法总结一、 GROUP BY 用法二、 HAVING 用法三、 GROUP BY 和 HAVING 的常见踩雷点3.1 GROUP BY 选择的列必须出现在 SELECT 中(🤣最重要的一点)3.2 HAVING 与 WHERE 的区别3.3 GROUP BY 可以…...

Redis持久化机制——针对实习面试

目录 Redis持久化机制Redis为什么要有持久化机制?Redis持久化方式有哪些?AOF持久化工作原理是什么?有什么优缺点?AOF持久化工作原理AOF的优点AOF的缺点 RDB持久化工作原理是什么?有什么优缺点?RDB持久化工作…...

Windows系统服务器怎么设置远程连接?详细步骤

一、什么是Windows远程桌面连接? Windows远程桌面(Remote Desktop)功能使用户能够通过网络连接到另一台Windows计算机,实现远程操作。远程桌面非常适合系统管理员、技术支持人员以及那些需要远程工作的人,它允许用户以图形界面的方式访问远程计算机&…...

【Rust设计模式之建造者模式】

Rust设计模式之建造者模式 什么是建造者模式 什么是建造者模式 即将结构体属性方法与构建解离,使用专门的builder进行建造,说白了就是new和其他的方法分开,集中处理更方便。 直接上代码: #[derive(Debug)] struct children {nam…...

2024中国移动(南京)智算大会暨人工智能产业大会即将盛大启幕

11月9日,2024中国移动(南京)智算大会暨人工智能产业大会将在南京国际博览中心盛大举行。此次盛会将汇聚政界、学界与商界的顶尖力量,共同探讨智能计算与人工智能的未来发展方向,为智能计算与人工智能产业的发展注入新的…...

计算机毕业设计 | SpringBoot咖啡商城 购物采买平台 后台管理软件(附源码)

1,项目背景 1.1 当前的问题和困惑 系统稳定性: 在高并发访问时,商城系统容易出现卡顿、崩溃等问题,影响了用户体验和销售额。支付安全性: 支付环节存在潜在的安全隐患,如何确保支付过程的安全性和用户资金…...

CosyVoice文本转语音:轻松创造个性化音频

CosyVoice文本转语音:轻松创造个性化音频" 要实现一个使用通义语音合成模型CosyVoice将文字转换为音频的图形界面应用,可以使用Python的tkinter库来创建图形用户界面(GUI),并使用requests库来调用CosyVoice的API…...

法语nous sommes

法语短语 “nous sommes” 的词源可以追溯到拉丁语,具体分析如下: 1. “Nous” 的词源: “Nous” 是法语中表示 “我们” 的人称代词,源自拉丁语的 “nos”,它表示 “我们” 的意思。 拉丁语 “nos” 是第一人称复数…...

《化学进展》

《化学进展》主要栏目有:综述,评论,中国化学印记,Mini Accounts等。本刊可供化学及相关学科领域的科研、教学、决策管理人员及研究生阅读。 《化学进展》投稿指南稿件要求   (1)本刊仅接受综述与评论性的…...

CNN和RCNN的关系和区别

RCNN(Region-based Convolutional Neural Network)和 CNN(Convolutional Neural Network)是两种不同的神经网络架构,它们在应用和结构上有所不同。以下是它们之间的主要区别: 1. 基本概念 CNN(…...

Chromium 进程降权和提权模拟示例c++

一、背景知识概念参考微软链接: 强制完整性控制 - Win32 应用程序 |Microsoft 学习 授权) (模拟级别 - Win32 apps | Microsoft Learn DuplicateTokenEx 函数 (securitybaseapi.h) - Win32 apps | Microsoft Learn 本文主要演示 low, medium, high, and system 四…...

【测试语言篇一】Python进阶篇:内置容器数据类型

一、列表 列表(List)是一种有序且可变的容器数据类型。 与集合(Set)不同,列表允许重复的元素。 它方便保存数据序列并对其进行进一步迭代。 列表用方括号创建。 my_list ["banana", "cherry", …...

湘潭大学软件工程专业选修 SOA 期末考试复习(二)

文章目录 回顾序言第一章课后题填空选择简答 第二章课后题填空选择编程 计划第三章课后题填空选择简答编程 第四章课后题填空选择简答编程 第五章课后题填空选择简答编程 第六章课后题说明 第七章课后题填空选择简答编程 第八章课后题填空选择简答编程 第九章课后题填空选择简答…...

改进的正弦余弦算法复现

本文所涉及所有资源均在 传知代码平台 可获取。 目录 一、背景及意义 (一)背包问题背景...

Day13杨辉三角

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> res new Arra…...

【c知道】Hadoop工作原理。

请解释一下Hadoop中MapReduce的工作原理&#xff0c;并说明如何进行MapReduce程序的编写和调试。 Hadoop MapReduce是一种分布式计算模型&#xff0c;它将大规模的数据处理任务分解成一系列小的、独立的任务&#xff08;Map任务&#xff09;和后续的聚合任务&#xff08;Reduce…...

React.lazy() 懒加载

概要 React.lazy() 是 React 16.6 引入的一个功能&#xff0c;用于实现代码分割&#xff08;code splitting&#xff09;。它允许你懒加载组件&#xff0c;即在需要时才加载组件&#xff0c;而不是在应用初始加载时就加载所有组件。这种方法可以显著提高应用的性能&#xff0c…...

【自学笔记】神经网络(1)

文章目录 介绍模型结构层&#xff08;Layer&#xff09;神经元 前向传播反向传播Q1: 为什么要用向量Q2: 不用激活函数会发生什么 介绍 我们已经学习了简单的分类任务和回归任务&#xff0c;也认识了逻辑回归和正则化等技巧&#xff0c;已经可以搭建一个简单的神经网络模型了。 …...

c#————扩展方法

关键点&#xff1a; 定义扩展方法的类和方法必须是静态的&#xff1a; 扩展方法必须在一个静态类中定义。扩展方法本身也必须是静态的。第一个参数使用 this 关键字&#xff1a; 扩展方法的第一个参数指定要扩展的类型&#xff0c;并且在这个参数前加上 this 关键字。这个参数…...

Abiotic Factor多人生存建筑游戏《非生物因素》 专用服务器搭建教程

Abiotic Factor多人生存建筑游戏《非生物因素》 专用服务器搭建教程 Abiotic Factor 是由 Deep Field Games 开发、2024 年登陆 Steam 的科幻题材多人生存游戏。玩家扮演被困在地下高科技研究设施 GATE Cascade Research Facility 中的科学家&#xff0c;面对异生物入侵、次元裂…...

Pixelle-Video:如何让AI为您的声音创作注入灵魂?

Pixelle-Video&#xff1a;如何让AI为您的声音创作注入灵魂&#xff1f; 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 在AI视频创作的…...

《Windows Sysinternals实战指南》Process Monitor 学习笔记(5.2):事件模型与五大类操作(文件/注册表/进程/网络/Profiling

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更简…...

地平线6地图有哪些 地平线6可以在手机上玩吗

很多玩家都在关注地平线6地图的细节&#xff0c;想知道这款即将上线的竞速大作究竟有哪些可探索的场景&#xff0c;而地平线6地图的丰富度也直接决定了游戏的可玩性。不少玩家习惯用手机碎片时间想体验游戏&#xff0c;却受设备限制无法解锁地平线6地图的全部风光&#xff0c;这…...

别再死记硬背公式了!用VHDL和Quartus II手把手教你玩转一位全加器(附完整源码与仿真)

从零实现数字逻辑&#xff1a;用VHDL在Quartus II中构建全加器的完整指南 当第一次接触数字逻辑设计时&#xff0c;那些抽象的真值表和逻辑表达式常常让人望而生畏。作为一名曾经同样困惑的工程师&#xff0c;我深刻理解初学者面对理论知识与实际工程实现之间的鸿沟。本文将带你…...

2026年计算机专业就业现状,不想35岁被淘汰?网络安全或许是程序员的最佳转型方向!

计算机专业虽进入分化阶段&#xff0c;但网络安全人才缺口达300万&#xff0c;高端领域供不应求。高校扩招与市场需求脱节导致供需失衡&#xff0c;未来"计算机行业"的复合型人才更具竞争力。建议早做规划&#xff0c;构建"T型能力体系"&#xff0c;掌握前…...

百考通AI智能聚类文献,告别碎片化罗列

撰写文献综述&#xff0c;是学术写作中承上启下的关键一步。它不仅要展示你对研究领域的了解程度&#xff0c;更要体现你的归纳能力、批判思维和问题意识。然而&#xff0c;现实中许多学生却因资料庞杂、逻辑混乱或时间不足&#xff0c;难以写出一篇真正“有据、有理、有深度”…...

Keil MDK 项目迁移避坑指南:当你的旧工程遇到‘Default Compiler Version 5 is not available’

Keil MDK项目迁移实战&#xff1a;编译器版本冲突的工程级解决方案 当你从同事手中接过一个历史遗留的Keil MDK项目&#xff0c;或从版本控制系统拉取多年前的嵌入式工程时&#xff0c;最令人头疼的莫过于打开工程后迎面而来的编译器报错。其中"Default Compiler Version …...

告别键盘连击烦恼:KeyboardChatterBlocker 智能解决方案详解

告别键盘连击烦恼&#xff1a;KeyboardChatterBlocker 智能解决方案详解 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾经在打…...

电池级硫酸锂粉碎工艺与设备选型全解析

一、硫酸锂粉碎核心需求与特性 1. 硫酸锂基础物性&#xff08;决定粉碎工艺边界&#xff09; 形态与硬度&#xff1a;白色结晶 / 颗粒&#xff08;无水 / 一水&#xff09;&#xff0c;莫氏硬度约 2–3&#xff0c;质地脆、易结块、吸湿性强。 纯度要求&#xff1a;工业级≥99.…...