原文:8086汇编语言学习(六) 8086处理结构化数据(模拟高级语言结构体、数组)

一 汇编定义数据 要处理结构化数据,必须先定义数据。 汇编作为一门编程语言,定义数据的方式比起复杂的高级语言要简单不少。 汇编语言贴近机器底层,所处理的数据逻辑上都可以视为二进制数据,按照对不同大小内存单元的处理,分为三种:db dw dd。 .db db即define byte,定义一个字节变量。例如 db h,代表着db指令后的值占用一个字节的内存空间 h gt h。 特别的,使用db可以比较 ...

2020-03-09 18:52 0 931 推荐指数:

查看详情

8086汇编语言学习(一) 8086汇编介绍

1. 学习汇编的心路历程    进行8086汇编的介绍之前,想先分享一下我学习汇编的心路历程 。 rocketmq的学习   其实我并没有想到这么快的就需要进一步学习汇编语言,因为汇编对于我的当前的工作内容来说太过底层。   但在几个月前,当时我正尝试着阅读rocketmq的源码。和许多 ...

Fri Jan 10 06:28:00 CST 2020 2 2429
8086汇编语言学习(三) 8086中的段和栈

1. 8086汇编中的段 段地址     8086对内存寻址的方式是通过段地址*16+偏移地址的方式实现的,而在16位的8086CPU下,段地址和偏移地址也都是16位的。这意味着,对于任意一个段,段的起始地址必定为16的倍数(段地址*16)。 对于同一个内存地址,存在多种不同的内存寻址方式 ...

Tue Feb 18 04:02:00 CST 2020 0 1202
8086汇编语言学习(八) 8086子程序

1.8086过程跳转指令   作为一门通用的编程语言,需要具有对代码逻辑进行抽象封装的能力。这一抽象元素,在有的语言中被称为函数、方法或者过程,而在8086汇编中被称为子程序。子程序和子程序组合能够构造出更复杂的子程序,如此往复以至无穷。子程序的存在,使得开发人员可以使用不同层次的抽象,构建 ...

Tue Mar 24 03:24:00 CST 2020 0 1213
8086汇编语言学习(五) 8086寻址方式

8086汇编内存寻址方式   前面的博客都多少提到了8086汇编的内存寻址,例如mov ax [2345H]。而8086汇编还提供了更多、更灵活的寻址方式,以满足多种需求。   需要强调的是,无论何种寻址方式,内存寻址的地址总是由基础地址+偏移地址(段基址+偏移量)组合而成,不同之处在于基础 ...

Tue Mar 03 05:56:00 CST 2020 0 831
8086汇编语言学习(七) 8086跳转指令

8086跳转指令   目前为止,我们的程序的指令执行都是线性的,从上到下,由CPU自动的增加IP的值,顺序的执行指令。但对于复杂的需求,只有线性的指令执行方式是远远不够的。   对于高级语言,有着如if/else的逻辑跳转分支,如for/while的循环结构,还有函数子程序的调用与返回 ...

Tue Mar 17 07:37:00 CST 2020 0 1830
8086汇编语言学习(四) 8086汇编程序的编译与链接

1、8086汇编源程序从编写到执行的过程   前面介绍过通过debug模式来进行汇编程序的编写和调试。但是随着深入学习,所编写的汇编程序会越来越复杂,而通过debug的A命令去逐条编写汇编指令是非常低效的。   因此,这里将要介绍8086汇编源程序这一概念,使得我们可以通过文本的方式编写 ...

Mon Feb 24 06:46:00 CST 2020 0 1101
8086汇编语言学习(十) 8086中断

8086中断介绍   任何一种CPU,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到来自CPU内部或外部产生的特殊通知信息,并立即对所接收到的信息做出相应的处理。这类特殊的信息,被称作中断信息。   顾名思义,中断指的是CPU不去正常执行接下来的指令,而是被中断,转而处理中断信息 ...

Tue Apr 07 05:56:00 CST 2020 0 1412
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM