
汇编语言
文章平均质量分 58
汇编语言学习
Julian Q
这个作者很懒,什么都没留下…
展开
-
汇编语言:伪指令整理
文章目录前言一、伪指令前言本节整理汇编语言接触到的相关伪指令一、伪指令db 定义字节数据,每个数据占用1个字节dw 定义单字数据,每个数据占用2个字节dd 定义双字数据,每个数据占用4个字节dup 重复的意思,重复前面的规定的数据值例:db 100 dup (0) ;重复100个0dd 100001dw 100dw 0...原创 2022-05-24 23:43:10 · 1025 阅读 · 0 评论 -
汇编语言:除法指令相关学习整理
文章目录前言一、除法规则除法中的各种概念除数为8位除数为16位二、相关例题1.利用除法指令计算100001/1002.利用除法指令计算1001/1002.利用除法指令计算1001/256前言本文复习汇编语言中的除法指令一、除法规则除法中的各种概念16除以3,商等于5,余数为1这个过程中的相关概念如下16 被除数3 除数5 商1 余数汇编语言中的除法有两种类型除数为8位除数为8位,则被除数默认为16位,被除数默认存放在AX中AL存储除法操作结果的商,AH存储除法操作的余原创 2022-05-24 23:17:51 · 5823 阅读 · 0 评论 -
汇编语言:在代码段中使用数据和栈及相关练习
文章目录前言一、为什么要自己定义数据和栈二、在代码中使用数据1.引入库2.读入数据三、在代码中使用栈四、将数据,代码,放入不同的段总结前言本文介绍笔者在学习代码段中使用数据和栈相关知识点,并引进相关练习一、为什么要自己定义数据和栈我们都知道,在程序中直接使用固定地址其实是一件十分不安全的行为,例如 mov cx,076AH这样一行代码直接使用了指定的地址,而在初步学习汇编语言中,指定地址进行数据存储的代码我们并不少见,但这样的做法其实是不安全的,因为直接读取系统的内存地址,谁也不知道会发生什原创 2022-05-23 00:07:14 · 296 阅读 · 0 评论 -
汇编语言:loop语言的学习和使用
文章目录前言一、LOOP语言二、场景题我们要向2000H:1000H这里开始填写0123456789ABCDEF这些字节数据,通过编程我们应如何书写用编程进行加法计算123*456,结果存在放AX中用编程求FFFF:0到FFFF:F字节型数据的和,结果存放到dx 中二、使用步骤1.引入库2.读入数据总结前言本文针对汇编语言中的loop指令进行学习一、LOOP语言loop在汇编语言中用于循环,其关联的通用寄存器为cx寄存器,通常情况下,循环次数由cx寄存器中的数值决定二、场景题我们要向2000原创 2022-05-22 17:59:56 · 6001 阅读 · 0 评论 -
汇编语言:asm源文件
文章目录前言一、汇编语言的组成部分二、具体组成1.伪指令Assume前言一、汇编语言的组成部分汇编语言由三部分组成汇编指令 被编译器翻译成010101001 机器指令 机器码 由CPU执行伪指令 由编译器执行符号体系 由编译器执行二、具体组成1.伪指令伪指令由asume、segment等符号组成Assumeassume对除了CS以外的其它段寄存器,仅仅只是关联了段名,以便在访问段内变量时程序可以知道用哪个段寄存器,并没有在程序加载时将段地址装入段寄存器。所以,将段地址装入段寄存原创 2022-05-19 18:00:36 · 1200 阅读 · 0 评论 -
汇编语言:内存段的存在及合理性
文章目录前言一、为什么要有内存段的概念二、解决办法1.指定内存空间2.向操作系统申请内存空间总结前言8086CPU的寻址方式是基于段地址和偏移地址的,因此,我们可以规定使用一段内存空间,基于我们指定段地址的内存空间上进行代码书写一、为什么要有内存段的概念内存段存在的必要,主要是为了安全,因为在程序运行中,随意地往某一段内存空间中写入内容,是十分危险的二、解决办法1.指定内存空间为了保证我们所使用的内存段,不会影响到其他程序的运行,我们可以在程序运行中指定性得使用其他程序所没有使用的内存空间,原创 2022-05-19 17:25:19 · 383 阅读 · 0 评论 -
汇编语言:编译、链接和EXE文件
文章目录前言一、编译和链接过程二、编译和链接存在的必要性1.提升效率三、EXE文件前言本文复习汇编语言中的编译和链接概念一、编译和链接过程编译masm asm->obj链接link obj->exe通过编译让.asm文件变成obj文件t1.asm -> …objt1.asm -> …objt1.asm -> …obj…t1000.asm-> obj再通过链接把所有的obj文件链接在一起得到最终的exe文件masm.exe link,exe二原创 2022-05-19 17:24:42 · 1807 阅读 · 0 评论 -
汇编语言:栈相关知识点
文章目录前言一、概念二、栈1.数据入栈出栈2.读入数据总结前言本文记录汇编语言中栈的概念和内容一、概念栈在汇编语言中,被定义为一段连续的内存单元与数据结构类似,有数据入栈,出栈和栈顶的概念,但是在汇编语言中,我们可以直接接触到栈顶,也就是有相关标记表明栈顶的存在二、栈1.数据在汇编语言中,入栈push和出栈pop可以对数据进行操作,这里进行操作的数据有如下的特征数据从寄存器和内存中来数据是字型数据,操作的是16位寄存器或内存中的字型数据入栈将16位寄存器或内存中的字型数据放到栈原创 2022-05-19 13:15:49 · 3916 阅读 · 0 评论 -
汇编语言:数据小结
文章目录前言一、数据存储字型数据字节型数据二、数据段1.数据段前言`在前面博客的整理中,提交了call指令保存IP寄存器的内容,而后通过ret可以将其进行拿回,那么IP寄存器的内容保存到了哪里去呢?一、数据存储字型数据一个字型数据,存放在内存中,可以由两个连续的地址的内存单元组成高地址 内存单元存放 字型数据的高位字节低地址 内存单元存放 字型数据的低位字节字节型数据字型数据的组成部分, 如 4E20H中的4E H 和 20 H二、数据段1.数据段数据段,其实就是编程时候的一种原创 2022-05-18 11:24:36 · 337 阅读 · 0 评论 -
汇编语言:地址寄存器知识点梳理
文章目录前言一、地址寄存器二、根据地址寄存器计算地址的方法1.物理地址=段地址*10H+偏移地址地址加法器三、为什么区分逻辑地址和物理地址前言在上一篇博客中,笔者对数据寄存器中的通用寄存器AX、BX、CX和DX进行了一番梳理,本篇博客对相关的地址寄存器进行梳理一、地址寄存器先说地址寄存器的分类,按照表示地址的用途不同,地址寄存器分为段地址寄存器和偏移地址寄存器;段地址寄存器和偏移地址寄存器分别包含以下这些寄存器:需要注明的是,根据前文提及的,计算机最小的计算单位为字节(8位),以上寄存器存储原创 2022-05-17 20:20:23 · 4027 阅读 · 0 评论 -
汇编语言:解读IP寄存器
文章目录前言一、IP寄存器运作过程二、为什么那样设计jmp指令call指令三、例题前言一、IP寄存器运作过程汇编语言的指令执行过程如下:CPU从CS:IP寄存器所指向的内存单元读取指令,存放到指令缓存器中IP=IP+所读指令的长度,从而指向下一条指令执行指令缓存器中的内容,而后回到步骤1二、为什么那样设计先说结论,为了call指令的设计jmp指令jmp指令,是转移指令;可以修改CS和IP寄存器的内容我们知道,当我们想要改变下一条需要执行的指令的位置时,需要对CS和IP寄存器进行修原创 2022-05-17 19:35:55 · 4347 阅读 · 0 评论 -
汇编语言:CPU是如何区分指令和数据的
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、debug命令中的u指令和d指令二、CPU如何区分指令和数据1.指令的寄存器组成总结前言本文梳理汇编语言的知识点中,CPU是如何区分指令和数据相关知识点一、debug命令中的u指令和d指令在了解CPU如何区分指令和数据相关知识点之前,我们先看相关的debug命令debug -u指令debug -d指令二、CPU如何区分指令和数据1.指令的寄存器组成欲搞懂CPU是如何区分指令和数据的,我们.原创 2022-05-17 16:43:13 · 1680 阅读 · 0 评论 -
汇编语言:AX、BX、CX、DX寄存器知识点梳理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、8086CPU及通用寄存器的由来二、四个通用寄存器1.通用寄存器2.AX、BX、CX和DX寄存器的特点三、为什么寄存器设计成8位、16位总结前言本文记录笔者为了汇编语言考试,梳理基于8086CPU的汇编语言相关知识点一、8086CPU及通用寄存器的由来在了解标题中的四个寄存器之前,笔者先对学习的8086CPU进行一番整理Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构.原创 2022-05-17 14:05:27 · 11503 阅读 · 0 评论