![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
文章平均质量分 77
汇编从入门到入土
code-016
有问题请私信,停更一段时间。
展开
-
五、[bx]和loop指令
五、[bx]和loop指令5.1 使用bx寄存器访问数据段1)[bx]和[0]使用方法类似要完整的描述一个内存单元的信息:内存地址(段地址:偏移地址)内存单元的长度(类型)用[0]表示一个内存单元时,0代表偏移地址,段地址默认在ds寄存器中,单元的长度(类型)由具体指令中其他操作对象(寄存器等)给出。assume cs:codesgcodesg segment mov ax,2000H mov ds,ax mov bx,10H mov ax,[0] mov ax,原创 2021-11-03 18:36:16 · 278 阅读 · 0 评论 -
四、第一个汇编程序
4 第一个汇编程序4.1 基础了解一个汇编源文件变成可执行的二进制文件需要的步骤:编译链接一个可执行文件包括两个信息:程序和数据程序的描述信息操作系统根据可执行程序的描述信息,把可执行文件中的机器码和数据加载到内存中,并进行相关的初始化,(比如设置cs:ip指令段的地址、栈段、数据段等),然后再由CPU执行4.2 源程序1)伪指令:伪指令、符号体系由编译器执行的指令,编译器根据伪指令进行相关的编译操作常用的伪指令:segment ends定义一个段XXX seg原创 2021-11-03 11:24:50 · 237 阅读 · 0 评论 -
三、寄存器(内存访问)
3 寄存器(访问内存)3.1 内存中字的存储(小端存储原则):高地址存放字型数据的高位,低地址存放字型数据的低位;字单元:存放一个字型数据(16位)的内存单元,有两个连续的内存单元构成,该字单元的起始地址成为N,称该单元位N地址字单元;也可称为由高位字节单元、低位字节单元组成。3.2 ds段地址寄存器顾名思义:自动保存段地址的寄存器三句指令让CPU自己定位段地址:8086CPU不支持直接把十六进制数传送到ds段寄存器中,只能使用下面指令间接修改。(原因是该CPU硬件设计问题)mov bx,原创 2021-11-02 15:15:30 · 859 阅读 · 0 评论 -
二、寄存器
二、寄存器2.1 通用寄存器8086CPU寄存器是16位的,可以存放两个字节通用寄存器:用于存放一般数据,有AX BX CX DXAX――累加器(Accumulator),使用频度最高BX――基址寄存器(Base Register),常存放存储器地址CX――计数器(Count Register),常作为计数器DX――数据寄存器(Data Register),存放数据为了兼容之前8位的寄存器,所以将这四个寄存器各自一分为二:AX = AH + ALBX = BH + BLCX = CH原创 2021-11-01 11:07:38 · 2167 阅读 · 0 评论 -
汇编入门(一)
一、基础知识1.1 汇编源文件的编译链接汇编源文件后缀名.asm编译指令:masm 文件名链接指令:link 文件名1.2 u指令和d指令u指令:查看汇编指令和数据d指令:data的缩写,查看内存地址存放的数据1.3 汇编语言的组成汇编指令:机器码的助记符,有对应的机器码伪指令:无对应的机器码,由编译器执行,cpu不执行其他符号:无对应机器码,由编译器识别,例如+ - * /汇编指令是核心内容1.4 CPU和存储器计算机的核心部件,要了解CPU如何从内存中读取数据,向原创 2021-10-31 16:37:54 · 326 阅读 · 0 评论