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

    汇编语言 手记3

    从读写属性上存储器分为:随机存储器RAM和只读存储器ROM 从功能和连接上分类: 随机存储器RAM 装有BIOS的ROM 接口卡上的RAM 上述的存储器物理上是独立的器件。 但是它们在一下两点上相同:

    1.2K100发布于 2018-01-17
  • 来自专栏叶子的开发者社区

    LC-3 汇编语言 中断实验

    3.操作系统应该设置KBSR的IE(Interrupt Enable)位。

    66810编辑于 2023-07-30
  • 来自专栏叶子的开发者社区

    LC-3 汇编语言 Nim游戏

    st r3,num_a ld r3,sum_abc add r3,r3,r0 brz win1 st r3,sum_abc br save test1b ld r0,char_b add r0 r0,r0 add r0,r0,#1 add r3,r0,r3 brn error1 st r3,num_b ld r3,sum_abc add r3,r3,r0 brz win1 st r0,#1 add r0,r0,r3 brn error1 ld r3,num_c not r0,r0 add r0,r0,#1 add r3,r0,r3 brn error1 st r3 st r3,num_a ld r3,sum_abc add r3,r3,r0 brz win2 st r3,sum_abc br save test2b ld r0,char_b add r0 r0,r0 add r0,r0,#1 add r3,r0,r3 brn error2 st r3,num_b ld r3,sum_abc add r3,r3,r0 brz win2 st

    53520编辑于 2023-07-30
  • 来自专栏sringboot

    汇编语言完成1到100累加-3

    代码 ; 完成1到100累加,并显示在屏幕上 jmp near start message db "1+2+3+...+100=" start: mov ax,0x7c0 mov 运行虚拟机显示如下 资源 汇编代码及二进制文件:https://github.com/duofanCoder/x86-NASM/tree/master/ASM-Learn-3/code 虚拟机固定大小硬盘 vhd文件:https://github.com/duofanCoder/x86-NASM/tree/master/ASM-Learn-3 vhd写入工具:https://github.com/duofanCoder

    1.6K20编辑于 2021-12-06
  • 来自专栏Republic博客

    汇编语言_汇编语言程序

    且每个段都需要段名 段名 segment--段的开始 段名 ends--段的结束 assume假设 含义是假设某一段寄存器和程序中我们定义的段名关联起来 可以理解为和变量的引用一个意思 利用汇编程序计算2^3 end assume cs:code code segment mov ax,0fffh mov ds,ax mov bx,6 mov al,[bx] mov ah,0 mov dx,0 mov cx,3 s:add dx,ax loop s mov ax,4c00h int 21h code ends end 计算ffff:0000字节单元中的数乘以3,结果存储在dx中 段前缀的使用 我们在debug会遇到写入时候是 ax,2000h mov ds,ax mov bx,0 mov al,ds:[bx] 所以以后我们在遇到写入内存单元的值时候,如果idata是常量,则需要显式地标明段寄存器 ds cs ss es在汇编语言中都称为段前缀

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

    汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。 尽管在当今计算机界已经不再使用汇编语言来开发程序,但作为一名安全从业者掌握汇编语言将会是高手与专家之间最大的差距,汇编语言作为底层语言,具有直接访问计算机硬件和系统资源的能力,因此在系统级漏洞挖掘、内核安全 内核安全:汇编语言是编写内核模块或驱动程序所必需的语言,例如,Linux内核中的大部分代码都是使用汇编语言实现的。因此,对于理解内核原理和进行内核安全研究来说,掌握汇编语言非常重要。 ; 定义未初始化变量 var3 BYTE 0 ; 最小的无符号字节常量 var4 BYTE 255 ; 最大的无符号字节常量 var5 SBYTE -128 ; var1 BYTE "hello world",0h ; 初始化为BYTE的字符串 var2 DWORD 10 ; 初始化为10的DWORD类型 var3

    1.7K50编辑于 2023-10-11
  • 来自专栏汇编语言

    汇编语言】转移指令的原理(一) —— 新手必看:3步掌握汇编语言中的跳转

    前言 汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。 但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理,提升代码效率,尤其在嵌入式系统和性能优化方面有重要作用。 本专栏的汇编语言学习章节主要是依据王爽老师的《汇编语言》来写的,和书中一样为了使学习的过程容易展开,我们采用以8086CPU为中央处理器的PC机来进行学习。 1. 操作符 offset 2.1 如何使用 offset 操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。 ,第一条指令长度为3个字节,则s的偏移地址为3

    89710编辑于 2024-11-21
  • 5.1 汇编语言汇编语言概述

    汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。 尽管在当今计算机界已经不再使用汇编语言来开发程序,但作为一名安全从业者掌握汇编语言将会是高手与专家之间最大的差距,汇编语言作为底层语言,具有直接访问计算机硬件和系统资源的能力,因此在系统级漏洞挖掘、内核安全 内核安全:汇编语言是编写内核模块或驱动程序所必需的语言,例如,Linux内核中的大部分代码都是使用汇编语言实现的。因此,对于理解内核原理和进行内核安全研究来说,掌握汇编语言非常重要。 ; 定义未初始化变量 var3 BYTE 0 ; 最小的无符号字节常量 var4 BYTE 255 ; 最大的无符号字节常量 var5 SBYTE -128 ; 最小的有符号字节常量 const var1 BYTE "hello world",0h ; 初始化为BYTE的字符串 var2 DWORD 10 ; 初始化为10的DWORD类型 var3

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

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

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

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

    汇编语言】debug

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

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

    汇编语言入门

    3.汇编语言 (1) 定义 为了便于记忆和阅读 ,使用字母和符号来表示机器语言的命令 ,用十进制数或六数来表示据 ,这样的计算机程序设语言就称为汇编语言 。 : 1111 0110 1110 0011 ==>MUL BL 0000 0000 1100 1000 ==>ADD AL,CL (3) 不同类型计算机有不同的机器指令系统和汇编语言描述 为了学习和使用某种计算机的汇编语言 3.汇编语言程序的效率高于高级语言程序 “效率”有两个方面的含义:程序的目标代码长度和运行的速度。 3. 补码的表示范围 4. 或"运算(OR) 3."非"运算 4."异或"运算(XOR) 5.上述四种运算的真值表表示

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

    汇编语言--循环左移

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

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

    汇编语言知识总结

    介绍 汇编是一类编程语言,每种cpu对应一种cpu语言,这些语言语法大同小异,指令集有所不同, 那么这些cpu语言统称为汇编语言,与java,c++,python等高级语言无异, 只不过汇编更加接近硬件 了解程序的本质, 利于日常开发 从事硬件相关开发工作 进行反编译逆向 装X 常见的cpu架构 x86 架构 : PC 端主流 高性能高功耗 ARM 架构: 移动端主流 体积小低功耗 MIPS 架构: 龙芯3号 内存条容量: 既然每个内存单元占的空间是固定的, 那么内存容量越大,房间自然就越多 给房间贴门牌号 0x1 0x2 0x3 ... 0x10 0x20 ... 0x100 0x200 ... 0x1000

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

    汇编语言的不同

    汇编语言是一种低级编程语言,与计算机硬件直接相关。相比其他高级编程语言,如Java、Python或C++,汇编语言在语法、规则和表达方式上有着显著的不同。 下面我们将探讨汇编语言与其他语言的不同以及汇编语言的作用,并给出一些汇编语言的示例。 一、与其他语言的不同 硬件相关性:汇编语言直接与计算机硬件接口,因此它具有更高的硬件相关性。 执行效率:汇编语言编写的程序通常比其他高级语言编写的程序执行效率更高。这是因为汇编语言直接与硬件指令集相对应,从而能够更有效地利用计算机资源。 二、汇编语言的作用 系统级编程:在操作系统、驱动程序和嵌入式系统等底层软件的开发中,汇编语言是必不可少的。由于这些软件需要直接与硬件交互,因此使用汇编语言能够提供更高的执行效率和更精细的控制能力。 三、汇编语言示例 下面是一个简单的x86汇编语言的示例程序,该程序在屏幕上打印出“Hello, World!”

    81810编辑于 2024-03-15
  • 来自专栏谈补锅

    汇编语言学习

    参考书籍《汇编语言》王爽  著/清华大学出版社 一、基础知识 1、汇编指令是机器指令的助记符,同机器指令一一对应  2、每一种CPU都有自己的汇编指令集    3、CPU可以直接使用的信息在存储器中存放 1Byte = 8bit ;    1KB = 1024B ;  1MB = 1024KB ;   1GB = 1024MB    8、CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互 根据传送信息的不同,总线从逻辑上又分为3类:地址、控制、数据   每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。         一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能。 ? ? 举例说明,在内存中有块红色内存空间的值是3,现在想把它的值加1,并将新的计算结果存储到蓝色内存空间,如图所示 ? 那么这个在cpu的执行步骤是怎样的呢?

    2.2K30发布于 2018-09-27
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记1

    机器语言-汇编语言-高级语言 汇编语言特点: 1 与硬件相关 2 与机器指令一一对应 3 须详细描述如何做 4 可移植性差 CPU功能结构:   总线接口部件BIU   执行部件EU CPU寄存器结构:

    1.6K101发布于 2018-01-17
  • 来自专栏老秦求学

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

    3 -u指令   用法:-u [起始地址[终止地址]]   作用:从起始地址到终止地址反汇编目标代码。

    1.8K50发布于 2018-04-12
  • PTX与汇编语言

    my_kernel( .param .u64 a, .param .u64 b, .param .u64 c ) { .reg .pred %p<1>; .reg .f32 %f<2>; .reg .s32 %r<3> ; ld.param.u64 %r1, [a]; ld.param.u64 %r2, [b]; ld.param.u64 %r3, [c]; ld.global.f32 %f1, [%r1]; ld.global.f32 %f2, [%r2]; add.f32 %f1, %f1, %f2; st.global.f32 [%r3], %f1; ret; } 二、汇编语言(Assembly Language) 定义 这种优化方式与汇编语言中的优化有所不同,它需要更好地理解GPU硬件架构的特性。 可移植性与灵活性: 汇编语言:由于其依赖于具体的硬件架构,不同CPU架构的汇编语言代码完全不兼容。 尽管在一定程度上可以通过汇编语言实现高效和紧凑的代码,但在跨平台项目中使用汇编语言会增加开发成本和维护难度。

    1.1K00编辑于 2025-04-05
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    汇编语言 手记5

    2 IP=IP+所读取指令的长度,从而指向下一条指令; 3 执行指令。转到1 重复这个过程。

    1.2K60发布于 2018-01-17
  • 来自专栏CTF及算法学习

    汇编语言学习

    3.sub指令 sub是一个减法指令,与add可以看成一对,除了执行的是减法命令之外,其他的与add完全相同。比如在寄存器方面,sub也不支持对段寄存器进行操作。 举个例子: and ax,0000000011111111B or bl,11111111B 汇编中的数据 汇编语言支持数字型数据和字符型数据。 数字型数据支持3种数制,包括10进制,16进制和2进制,可以靠后缀来区分。10进制没有后缀,16进制后缀为H,2进制后缀为B,后缀不区分大小写。

    1.4K30发布于 2020-03-11
领券