简单的8086汇编语言程序与解释

组装级编程对低级非常重要嵌入式系统设计是用来访问处理器指令来操作硬件的。它是一种最原始的机器级语言,用于编写高效的代码,消耗更少的时钟周期和占用更少的内存高级编程语言。它是一种完整的面向硬件的程序语言,程序员必须了解嵌入式硬件才能编写程序。在这里,我们提供汇编级编程8086的基础知识。

装配级编程8086
装配级编程8086

装配级编程8086

汇编编程语言是一种通过使用助记符开发的低级语言。微控制器或微处理器只能理解0或1的二进制语言,因此汇编器将汇编语言转换为二进制语言,并将其存储内存以执行任务。在编写程序之前,嵌入式设计人员必须对控制器或处理器的特定硬件具有足够的知识,因此首先需要了解8086处理器的硬件。


处理器的硬件
处理器的硬件

8086处理器体系结构

8086是用于诸如串行总线的所有外围设备和RAM和ROM,I / O设备等的处理器,其通过使用系统总线来外部连接到CPU。8086微处理器有基于CISC的架构,它有32个I/O,串行通信bob的是什么网站、记忆和计数器/定时器。微处理器需要一个程序来执行需要存储器的操作以便读取和保存功能。

8086处理器体系结构
8086处理器体系结构

组装级编程8086基于存储器寄存器。寄存器是主要部分微处理器和控制器它位于内存中,提供更快的收集和存储数据的方法。如果我们希望通过执行乘法,添加等来操纵数据到处理器或控制器,我们不能直接在需要寄存器处理和存储数据的内存中。8086微处理器包含各种寄存器,可根据其指令进行分类;

通用登记册:8086 CPU组成了8通用寄存器,每个寄存器都有自己的名称,如图所示,如AX,BX,CX,DX,SI,DI,BP,SP等。这些都是16位寄存器,其中四个寄存器分为两个部分,例如AX,BX,CX和DX,主要用于保持数字。

专用寄存器: 8086 CPU由2个特殊的功能寄存器组成,如IP和标志寄存器。IP寄存器指向当前正在执行的指令,并且总是与CS段寄存器一起工作。标志寄存器的主要功能是在机械功能完成后修改CPU操作,我们不能直接访问
段寄存器:8086 CPU组成了4分段寄存器,例如CS,DS,ES,SS,主要用于将段寄存器中的任何数据存储在一起,我们可以使用段寄存器访问一块内存块。

简单汇编语言程序

汇编语言程序设计8086有一些规则,如

  • 装配水平编程8086.代码必须用大写字母书写
  • 标签后面必须加冒号,例如:
  • 所有标签和符号必须以字母开头
  • 所有评论都键入小写字母
  • 程序的最后一行必须以END指令结束

8086处理器有另外两个指令以访问数据,例如Word Ptr - 用于Word(两个字节),字节PTR - 用于字节。

操作码和操作数
操作码和操作数

操作码:一条指令被称为可由CPU执行的操作码。在这里,“MOV”指令被称为操作码。

操作数:单个数据称为操作数,可由操作码操作。例如,减法操作由与操作数相减的操作数执行。
句法:子b, c

8086微处理器汇编语言程序

编写程序从键盘中读取字符

MOV啊,1h //键盘输入子程序
INT 21h //字符输入
//字符存储在al
MOV c, al //从alto c拷贝字符

写一个程序读取和显示一个字符

MOV啊,1h //键盘输入子程序
INT 21h //将字符读入al
MOV DL,AL //复制字符到DL
MOV ah, 2h //字符输出子程序
INT 21h //在dl中显示字符

使用通用寄存器编写程序

org 100h.
通过将其移动到Al,MOV AL,VAR1 //检查VAR1的值。
LEA BX, VAR1 //获取BX中VAR1的地址。
MOV字节PTR [BX],44H //修改VAR1的内容。
通过将其移动到Al,MOV AL,VAR1 //检查VAR1的值。
受潮湿腐烂
VAR1 DB 22 h
结束

编写一个程序使用库函数显示字符串

包括emu8086。公司/ /宏声明
org 100h.
打印'你好世界!'
Gotoxy 10,5
putc 65 // 65 - 是'a'的ASCII代码
putc'b'
RET //返回操作系统。
终止//指令来停止编译器。

算术和逻辑指令

算术和逻辑单元的8086过程已分成三组,例如添加,分割和增量操作。最多算术和逻辑指令影响处理器状态寄存器。

汇编语言编程8086助记符以运算码的形式,如MOV、MUL、JMP等,用来执行运算。汇编语言编程8086示例

添加
ORG0000h
mov dx,#07h //将值7移动到寄存器ax //
MOV AX,#09H //将值9移动到累加器AX //
添加AX, 00H //将CX值与R0值相加,结果存储在AX//中
结束
乘法
ORG0000h
MOV DX, #04H //将值4移动到寄存器DX//
MOV AX,#08H //将值8移动到累加器AX //
MUL AX, 06H //乘后的结果存储在累加器AX //
结束
减法
ORG 0000 h
MOV DX, #02H //移动值2注册DX//
MOV AX,#08H //将值8移动到累加器AX //
SUBB AX,09H //结果值存储在累加器A X //中
结束
分配
ORG 0000 h
mov dx,#08h //将值3移动到注册dx //
MOV AX,#19H //将值5移动到累加器AX //
div ax,08h //最终值存储在累加器AX //中
结束

因此,这是所有BOUT装配级编程8086,8086处理器架构8086处理器,算术和逻辑指令的简单示例程序.Furtheratory,关于本文或电子项目的任何查询,您可以通过评论下面的评论部分与我们联系。bob体育棋牌bob足球体育app

9日评论

  1. 修复错误代码0x3E9(1001) 说:

    这篇文章很好地描述了8086汇编语言。我希望我们将来也能得到这样的东西。

    1. tarun agarwal. 说:

      你好

      谢谢你给我们一个完美的评级

  2. Keerthi. 说:

    上面给出的解释很容易理解。谢谢先生

  3. 奥克里斯特 说:

    与互联网上的其他示例相比,我发现这非常初学友好和乐于助人,谢谢作者研究和研究

  4. 奥克里斯特 说:

    优雅而漂亮,

    对所有人都很有用。

  5. 年代 说:

    是否可用于编写微生物的任何工具?如何写入微处理器的微生物图?

  6. 梅阿 说:

    你好,先生!!!我是ece学生。我打算根据GSM技术进行项目。我对此没有明确的想法。我的项目标题是“使用GSM技术的无线电子公告板”。你能否建议如何与项目开始的一些想法。请确实提供有关GSM技术的更多信息,它是电路图(如果有的话)。

  7. 柯林斯 说:

    一个漂亮的网站。

添加评论