首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记4

    简单的汇编指令 CPU执行后,寄存器中的数据改变为如下: CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。 这个唯一的地址就是物理地址。 16位结构描述了一

    96750发布于 2018-01-17
  • 来自专栏我在本科期间写的文章

    4 汇编语言程序设计

    4 汇编语言程序设计 表达式中的运算符和操作符在 x86 汇编语言中的用法。 表达式 表达式是由常数、变量、操作符和运算符组合而成的计算公式。

    46210编辑于 2024-09-13
  • 来自专栏IC知识库平台

    RISC-V 汇编语言程序设计(4)汇编语言格式及ABI

    1.汇编语言格式简介 以asm_run_seg.S为例: .equ BYTE_DELAY, 0x00100000 .equ GPIO_ADDR, 0xf0000000 .globl _start _

    1.8K20发布于 2021-08-03
  • 来自专栏Republic博客

    汇编语言_汇编语言程序

    可以来看一段汇编源程序 assume cs:codesg codesg segment mov ax,0123h mov bx,0456h add ax,bx add ax,ax mov ax,4c00h int 21h codesg ends end 开头和结尾的两句代表伪指令 只有编译器可以读懂 汇编指令可以被翻译为机器码最终被cpu执行 汇编程序 就是包含汇编指令和伪指令的文本 mov ax,4c00h 如果不为0则转至标号处执行程序 如果为0则继续向下执行 如 assume cs:code code segment mov ax,2 mov cx,11 s:add ax,ax loop s mov ax,4c00h 计算123x236 我们可以将123循环加236次 assume cs:code code segment mov ax,0 mov cx,236 s:add ax,123 loop s mov ax,4c00h ax,2000h mov ds,ax mov bx,0 mov al,ds:[bx] 所以以后我们在遇到写入内存单元的值时候,如果idata是常量,则需要显式地标明段寄存器 ds cs ss es在汇编语言中都称为段前缀

    1.4K20编辑于 2023-11-14
  • 5.1 汇编语言:汇编语言概述

    位有符号整数 WORD 16位无符号整数 SWORD 16位有符号整数 DWORD 32位无符号整数 SWORD 32位有符号整数 FWORD 48位整数(远指针) QWORD 64位整数定义 REAL4 32位(4字节)短实数 REAL8 64位(8字节)长实数 数据类型定义语句为变量在内存中保留存储空间,并且可以选择为变量指定一个名字,在汇编语言中所有的数据无非就是BYTE的集合,数据的定义语句格式如下 ; 定义未初始化变量 var3 BYTE 0 ; 最小的无符号字节常量 var4 BYTE 255 ; 最大的无符号字节常量 var5 SBYTE -128 ; var2 DWORD 10 ; 初始化为10的DWORD类型 var3 DWORD 100 dup(1,2) ; 200个DWORD的缓冲区 var4 list) /2 ; 计算字数据大小 .data list DWORD 100000h,200000h,300000h,400000h listsize = ($ - list) /4

    1.7K50编辑于 2023-10-11
  • 5.1 汇编语言:汇编语言概述

    WORD 16位无符号整数 SWORD16位有符号整数 DWORD 32位无符号整数 SWORD32位有符号整数 FWORD 48位整数(远指针)QWORD64位整数定义 REAL4 32位(4字节)短实数REAL864位(8字节)长实数数据类型定义语句为变量在内存中保留存储空间,并且可以选择为变量指定一个名字,在汇编语言中所有的数据无非就是BYTE的集合,数据的定义语句格式如下;[ ; 定义未初始化变量 var3 BYTE 0 ; 最小的无符号字节常量 var4 BYTE 255 ; 最大的无符号字节常量 var5 SBYTE -128 ; 最小的有符号字节常量 var2 DWORD 10 ; 初始化为10的DWORD类型 var3 DWORD 100 dup(1,2) ; 200个DWORD的缓冲区 var4 ($ - list) /2 ; 计算字数据大小.data list DWORD 100000h,200000h,300000h,400000h listsize = ($ - list) /4

    2K20编辑于 2023-08-22
  • 来自专栏繁依Fanyi 的专栏

    【底层之旅:汇编语言探秘】什么是汇编语言?

    汇编语言与计算机硬件的关系密切,每一条汇编语句都对应着底层的机器指令,直接操作计算机的寄存器和内存。 汇编语言在计算机编程的历史上扮演着重要的角色。 为什么学习汇编语言 虽然现代编程中使用高级编程语言更为普遍,但学习汇编语言仍然具有很多重要的理由: 底层控制: 汇编语言允许程序员直接控制计算机硬件,理解计算机的工作原理。 逆向工程: 在计算机安全领域,汇编语言是逆向工程师的必备技能。了解汇编语言可以帮助发现和分析恶意软件或未知的二进制程序。 专栏内容概览 在《底层之旅:汇编语言探秘》博客专栏中,我们将涵盖丰富多样的内容,适合初学者和有编程经验的开发者: 汇编语言基础:从基本概念入手,介绍计算机体系结构、寄存器、内存和汇编语言的基本语法。 汇编语言应用与案例:探讨汇编语言在操作系统、嵌入式系统、计算机安全等领域的应用。通过实际案例,您将了解汇编语言在现实世界中的应用场景。

    1.8K20编辑于 2023-10-12
  • 来自专栏刷题笔记

    【汇编语言】debug

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    1.5K10发布于 2019-11-07
  • 来自专栏m0w3n

    汇编语言从入门到精通-4标识符和表达式

    在汇编语言中,也是如此,所不同的是它们的说明和引用方式不同。 4.1 标识符   在汇编语言中,标号、内存变量名、子程序名和宏名等都是标识符,它一般最多由31个字母、数字及规定的特殊字符(? 通常情况下,汇编语言不区分标识符中字母的大小写。   和高级语言的变量名一样,一般要求标识符尽可能取得有点含义,这会大大改善程序的可读性,并有助于对程序的理解。 但标识符不能是汇编语言的保留字,汇编语言的保留字主要是指:指令助忆符、伪指令定义符、寄存器名以及一些具有特殊含义的字符串等。    汇编语言中,常见的数据类型有字节、字和双字等。 来表示;     4、 在定义语句的后面可以书写注释内容,也可以不写。   在定义变量时,虽然可以不写变量名,但我们建议还是要写,因为不写变量名,就意味着只能用内存单元的偏移量来访问它。

    1.7K10发布于 2020-02-28
  • 来自专栏Java Porter

    汇编语言入门

    (2) 汇编语言与机器语言程序的关系 一条汇编语言与一条机器语言指令对应,汇编语言程序与机器语言效率相同 案例:对于前述的4×6+40算式运算,如果把机器语言程序改写为汇编语言程序,则为以下两条汇编指令 二进制与8进制、16进制之间有非常简单的转换关系: 3位二进制数与一位8进制数对应, 4位二进制数与一位16进制数对应。 二进制整数转化为十进制数 (1)按权相加法 (2)逐次乘基相加法 4. 二进制小数转化为十进制数 (1) 按权相加法 (2) 逐次乘基相加法 5. 补码的表示范围 4. 非"运算 4."异或"运算(XOR) 5.上述四种运算的真值表表示

    1.1K50编辑于 2023-10-25
  • 来自专栏物联网知识

    汇编语言--循环左移

    如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 欢迎关注公众号,喜欢就点一点 在看 吧。

    1.6K10发布于 2021-02-02
  • 来自专栏乱码三千

    汇编语言知识总结

    介绍 汇编是一类编程语言,每种cpu对应一种cpu语言,这些语言语法大同小异,指令集有所不同, 那么这些cpu语言统称为汇编语言,与java,c++,python等高级语言无异, 只不过汇编更加接近硬件 mov bx,ax ;将ax中的值取出赋值给bx 相当于bx=ax 无论是x86还是arm传送指令都是mov 存放的数据大小根据使用的寄存器而定, 比如ax是16位寄存器,最大只能存放16位数据,也就是4位十六进制数据 函数结尾标记 函数调用 x86架构中使用关键指令call, ARM架构中使用关键指令bl x86架构汇编示例: call print ;调用print函数 ;退出程序 mov ah 4ch

    3.6K20发布于 2021-08-24
  • 来自专栏Java崽

    汇编语言的不同

    汇编语言是一种低级编程语言,与计算机硬件直接相关。相比其他高级编程语言,如Java、Python或C++,汇编语言在语法、规则和表达方式上有着显著的不同。 下面我们将探讨汇编语言与其他语言的不同以及汇编语言的作用,并给出一些汇编语言的示例。 一、与其他语言的不同 硬件相关性:汇编语言直接与计算机硬件接口,因此它具有更高的硬件相关性。 二、汇编语言的作用 系统级编程:在操作系统、驱动程序和嵌入式系统等底层软件的开发中,汇编语言是必不可少的。由于这些软件需要直接与硬件交互,因此使用汇编语言能够提供更高的执行效率和更精细的控制能力。 三、汇编语言示例 下面是一个简单的x86汇编语言的示例程序,该程序在屏幕上打印出“Hello, World!” 输出到stdout流(屏幕) mov eax, 4 ; 系统调用号(4表示输出字符串) mov ebx, 1 ; 文件描述符(1表示stdout) mov ecx,

    85210编辑于 2024-03-15
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记1

    机器语言-汇编语言-高级语言 汇编语言特点: 1 与硬件相关 2 与机器指令一一对应 3 须详细描述如何做 4 可移植性差 CPU功能结构:   总线接口部件BIU   执行部件EU CPU寄存器结构: 采用存储器地址分段的方法 段是最大长度为64kb的内存储器块 段的起始地址低4位必须为0 用户可以用同时使用4个段,段间可以邻接,重叠或不相邻 代码段存放当前程序的指令代码 数据段存放程序涉及的源数据或结果

    1.7K101发布于 2018-01-17
  • 来自专栏谈补锅

    汇编语言学习

    参考书籍《汇编语言》王爽  著/清华大学出版社 一、基础知识 1、汇编指令是机器指令的助记符,同机器指令一一对应  2、每一种CPU都有自己的汇编指令集    3、CPU可以直接使用的信息在存储器中存放    4、在存储器中指令和数据没有任何区别,都是二进制信息    5、存储单元从零开始顺序编号    6、一个存储单元可以存储8个bit, 即8位二进制数    7、1Byte = 8bit ;     _13__ 2、8080,8088,80286,80386 的地址总线宽度分别为16根,20根,24根,32根.那么他们的寻址能力分别为多少__64__KB, __1__MB,__16__MB,__4_ _B 4、从内存中读取1024字节的数据,8086至少要读__512__次,80386至少要读取__256__次. 因为ax为16位寄存器,只能存放4位16进制的数据,所以最高位的1不能在ax中保存,ax最后保存的数据为:044CH 再来看一段程序段的指令,注意高位和低位寄存器的计算 ?

    2.2K30发布于 2018-09-27
  • 来自专栏老秦求学

    汇编语言学习之汇编语言源程序的输入

    4.-t指令   用法:-t [=起始地址][指令条数]   作用:指定的起始地址开始逐条执行指令,每执行完一条指令,屏幕显示所有寄存器内容和下一条指令地址和指令。   5.

    1.8K50发布于 2018-04-12
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记7

    CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址; 在8086PC中,内存地址由段地址和偏移地址组成。 8086CPU中有一个DS寄存器,通常用来存放要访问的数据的段地址。 mov al,[0]  mov已知的功能: 1 将数据直接送入寄存器 2 将一个寄存器中的内容送入另一个寄存器中。 3 将一个内存单元中的内容送入一个寄存器。 8086CPU不支持将数据直接放入段寄存器DS中。 将数据从寄存器写入内存单元: mov bx,1000H mov ds,bx   将段地址设置为ds中的地址 mov

    1.2K90发布于 2018-01-17
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记9

    使用汇编语言编译程序(MASM.EXE)对源程序文件中的源程序进行编译,产生目标文件 用连接程序(LINK.EXE)对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。 程序返回:应该在程序的末尾添加返回的程序段 mov ax,4c00H int 21H 这两条指令所实现的功能就是程序返回。 ? mov ax,0123h mov bx,0456h add ax,bx add ax,ax mov ax,4c00h

    1.1K80发布于 2018-01-18
  • 来自专栏小点点

    (三)汇编语言——DOSBox

            本篇主要用来介绍我们的实验平台——DOSBox的使用与调试,主要就是改一下窗口大小以及挂载,并且作为学习汇编实验的汇总,不定期更新。 下载与安装         这个可以到官网去下载,然后安装也很简单,就不介绍了,而且一般课程也会有教程。  调试          一下载过来,这个窗口小的可怜,于是我们就去改变一下窗口大小以及挂载。 改窗口大小         主要就是找到配置文件,一般都是后缀为.bat的,比如我的是:D:\Soft\DOS\DOSBox-0.74\D

    1.4K30编辑于 2022-12-22
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记6

    用A命令用汇编语言的形式来修改内存中的指令 ? 用汇编的形式来查看内存中的内容 ? 由于之前修改过CS IP中的内容,此时要想执行程序,要修改回CS IP内容 ? 使用T命令一步一步的执行汇编命令。

    99370发布于 2018-01-17
领券