龙芯汇编语言-利用系统调用复制文件

内联汇编优化的TAlpha::Mask 部分汇编 内联汇编优化版 #ifdef _calpha_using_inlineasm_ i = Height - 1; if (i < 0) return; __asm { mov ecx, Width mov eax, ptrDest mov edx, ptrSrc mov esi, i 阅读详情

From   http://godsontech.blog.sohu.com/71840880.html

 

距离龙芯上的汇编版的hello,world!出现已经有段日子了。下面这个程序在那个的基础上多用了几个系统调用。更多的系统调用请参考/usr/include/asm/unistd.h,也可以用类似man 2 open的指令来看系统调用的详细的参数。

aa@aa/copy:/home/copy/# cat copy.s
.rdata
.align 2
$LC0:
.ascii "file.in\000"
.align 2
$LC1:
.ascii "file.out\000"
.text
.align 2
.globl main
.ent main
main:
.frame $fp,48,$31 # vars= 16, regs= 2/0, args= 16, gp= 8
.mask 0xc0000000,-4
.fmask 0x00000000,0
.set noreorder
.cpload $25

#打开源文件
addiu $sp,$sp,-48
sw $31,44($sp)
sw $fp,40($sp)
move $fp,$sp
.cprestore 16
la $4,$LC0 #载入地址
move $5,$0
li $2,4005 #open
syscall
#创建目标文件
lw $28,16($fp)
sw $2,28($fp)
la $4,$LC1
li $5,257 # 0x101
li $6,384 # 0x180
li $2,4005
syscall

lw $28,16($fp)
sw $2,24($fp)
b $L2
nop

$L3:
addiu $2,$fp,32
lw $4,24($fp)
move $5,$2
li $6,1 # 0x1
li $2,4004 #write
syscall

lw $28,16($fp)
$L2:
addiu $2,$fp,32
lw $4,28($fp)
move $5,$2
li $6,1 # 0x1
li $2,4003 #read
syscall

lw $28,16($fp)
move $3,$2
li $2,1 # 0x1
beq $3,$2,$L3
nop

#退出程序
move $4,$0 #返回值
li $2,4001 #exit
syscall

.set reorder
.end main

【合规领域】【信息科学与工程学】计算机科学与自动化——第五百篇 国产化/XC解决方案 第三十一篇 毕昇(BiSheng) 编译器适配01 给定 A,B,C∈Rn×n,α,β∈R,求解:朴素三重循环的时间复杂度为 O(n3)。 阅读详情

相关推荐

复制文件(汇编语言实现)

汇编语言 简短 精炼 实现了复制 实现了copy指令的基本功能 在命令行中实现 可以拷贝一个文件 也可以同时将多个文件拷贝入一个文件

[嵌入式系统-37]:龙芯1B 开发学习套件 -7-MIPS指令集

MIPS汇编中的函数定义通常遵循一定的约定和结构。# 函数声明# 函数体# 返回JR $ra # 返回,使用$ra中保存的返回地址函数声明:在MIPS汇编中,函数声明由标签表示,例如。函数的开始由该标签标识。函数体:在函数的标签之后,是函数的实际代码内容,包括各种指令、操作和逻辑。返回指令:在函数体的结尾通常会有一个返回指令,用于将控制流返回到调用函数的地方。在MIPS中,使用JR $ra指令来实现返回操作,这里的$ra寄存器保存了函数调用前的返回地址。

文火冰糖(王文兵)的博客 2627

pmon 分析 介绍龙芯BIOS的一个文档

介绍龙芯BIOS 详细介绍了龙芯2F+ CS5536桥片的初始化过程

简单介绍龙芯汇编

1. 判断的实现 看这条C语句的汇编实现: if(i == j)     f = g + h; else     f = g - h; ------------------------------------------------------------ bne        $15, $16, Else   #i!=j,则跳转到Else,注意:$15.$16表示

xiezhongtian的专栏 1836

用汇编语言实现文件拷贝

该程序实现了,在程序所在的文件路径,新建一文件,运行程序则生成另一文件,内容完全拷贝于新建的文件。

基于PMON的龙芯3A服务器主板BIOS研究与实现

基于龙芯 3A 设计的服务器可作为大规模计算系统的计算节点,通过高可靠性和高密度的板级设计,利用龙芯 3A 处理器高性能和低功耗的优势,充分体现了高效能的设计目标,能够更好地应对高性能计算目前面临的诸多挑战。该服务器的主板 BIOS 作为系统中最底层最直接的硬件控制程序,为服务器提供了开机自检、设备初始化、硬件系统配置等重要功能,该 BIOS 设计的稳定性、正确性和完备性是实现服务器各种功能特点和性能优势的基础

汇编语言:文件复制源码

这篇是一个复制文件的汇编程序,它的作用是将当前目录下的一个文件的内容复制到另一个文件中。 这个程序有以下几点需要注意的地方: 文件最大允许的字节数我设置为512 bytes,可根据实际情况自行变动 复制操作的源文件和目标文件的文件名都可以由用户输入。注意:源文件必须存在,否则报错;目标文件可以不必存在,不存在则创建,存在则覆盖。 注意dos中断的3c号创建文件功能的一些限制条件,需要将cx置为零,其含义是所创建文件的属性。需要特别关注。 下面给出源代码: ...

温柔的博客 1520

带有验证码的爆破(包含Burp suite工具爆破)

关于含有验证码爆破的一些总结!

weixin_43960066的博客 8696

PMON学习笔记

pmon 是cpu 上电后执行的代码,相当于x86PC 机中的BIOS,兼有bootloader 的功能。 pmon 的二进制代码存放于主板上的一块512KB 的flash 芯片上,选择这个容量 是因为够用了,龙芯2F 允许的最大boot rom 容量是1MB。 这块flash 芯片的地址是确定的,虚拟地址0xbfc00000,物理地址0x1fc00000。 cpu 上电后,会在第一

michaelcao1980的专栏 1万+

基于Python的微信聊天记录分析——数据获取

本篇为“基于Python的微信聊天记录分析”第一篇,主要涉及数据获取,包括Python环境配置、WeChatMsg项目配置和运行、获取聊天记录等内容,流程简单、比较基础,后续这个系列会涉及基于Python的数据处理、统计分析、NLP技术等内容。希望和大家多多交流,共同进步!

Henryli1202的博客 1万+

figma MCP + cursor如何将设计稿生成前端页面

Figma MCP配置与代码生成指南 本文详细介绍了如何在Cursor中配置Figma MCP(多上下文处理器)的完整流程:从获取Figma API密钥、设置MCP服务器配置,到添加代码生成规则。关键步骤包括生成Figm a个人访问令牌、配置cursor settings文件、启用MCP服务,以及设置代码规则(包含TypeScript/Vue技术栈规范、BEM命名规则等)。最后提供了将Figma设计稿转化为Vue页面的prompt模板,涵盖文件结构、图片处理、样式规范等具体要求,确保生成代码与设计稿高度一致

weixin_45644355的博客 2908

计算机基础知识

常用的高级语言有C、VB、VC、Foxpro、Delphi等。外存包括硬盘、软盘、光盘、优盘、移动硬盘等。3.1.1概念:编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。具体由运算器、控制器、存储器、输入设备、输出设备五个逻辑部件组成。1.1.1第一台计算机:ENIAC,1946年,美国研制的世界上第一台计算机,开辟了计算机技术的新纪元。常见输出设备有:显示器、打印机、投影仪、绘图仪、扬声器等。常见输入设备有:键盘、鼠标、扫描仪、摄像头等。

Personal_Liberty的博客 159

深入理解 DDR5 Bank Group 与并行调度机制

Bank Group架构和并行调度机制,是DDR5性能跃升的核心秘密!理解它们才能写出高效调度程序,设计出性能强劲又稳定的DDR5系统。🎯记住:Bank Group不是简单的分组,而是高速并行的“魔法钥匙”,巧用它,你的DDR5设计将爆发惊人性能!

weixin_43199439的博客 314

第十五期 MIPS汇编U-Boot从start.S开始《路由器就是开发板》

https://blog.youkuaiyun.com/aggresss/article/details/52623118 这一期我们概略说一下MIPS架构并了解一下简单的汇编语句。首先推荐大家阅读一下SDK里DataSheet文件夹下的See MIPS Run Linux.pdf和MIPS.Assembly.Language.pdf两个文档。 MIPS的ISA(Instruction Set Archit...

子曰小玖的博客 707

【Jenkins】Jenkins :首次登录直接使用 admin 账户

目录 一、使用admin账户 二、修改admin用户密码 三、管理视图 一、使用admin账户 安装时,自定义安装,选择必要的插件安装,设置Jenkins的URL为: http://本机或服务器IP:8080 然后在创建第一个管理者界面,直接选择:使用admin 二、修改admin用户密码 进入:系统管理——管理用户——选中用户——点击设置图标——修改密码: 三、...

顾三殇 —— 博客空间(软件测试) 1万+

SAP ABAP 接口管理服务(ZIF)开源项目介绍

接口管理服务(ZIF)开源项目基于 SAP ABAP系统,是一款对标SAP PI/PO 的轻量接口管理产品。他通过独立开发包部署在ABAP系统中,包含接口注册、接口管理、日志服务及其他配套功能,拥有丰富的技术沉淀并通过市场检验,目前已被多家企业应用在SAP ERP系统中。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 1744

c++代码健壮性_如何高效阅读代码?Linux大神拍了拍你并教给你这三个步骤

作者简介:陈华才(龙芯3号Maintainer),博士,高级工程师,负责龙芯3号处理器的内核开发。作为Linux内核中MIPS/ 龙芯3 号的Maintainer,向Linux内核官方提交了大量的代码。阅读软件源代码是每个开发者的必由之路,尤其是内核开发者。因为内核开发在很大程度上并不是重新发明轮子,而是深入理解并尽量复用现有的内核设计框架,然后参照相似的功能模块去添加或改写某项需要的功能。在对内...

weixin_39801202的博客 149

【YoloV12改进策略】基于流形约束超连接(mHC)增强YoloV12全局特征提取能力_独家复现_梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1355

_如何高效阅读代码?Linux大神拍了拍你并教给你这三个步骤

作者简介:陈华才(龙芯3号Maintainer),博士,高级工程师,负责龙芯3号处理器的内核开发。作为Linux内核中MIPS/ 龙芯3 号的Maintainer,向Linux内核官方提交了大量的代码。阅读软件源代码是每个开发者的必由之路,尤其是内核开发者。因为内核开发在很大程度上并不是重新发明轮子,而是深入理解并尽量复用现有的内核设计框架,然后参照相似的功能模块去添加或改写某项需要的功能。在对内...

weixin_39979167的博客 283

CLASSB类移植(满足IEC 60730-1和60355-1标准)

针对软件认证需要满足IEC 60730-1和60335-1标准,ST公司专门提供的软件扩展包X-CUBE-CLASSB,它包含自测库和文档,支持多种STM32系列芯片,通过预集成测试库和标准化流程,帮助开发者快速满足国际安全标准,适用于家电、工业控制等高可靠性场景。ClassB软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检,MCU在上电的时候会进行复位启动,在启动完成以后会进行运行自检。

m0_61973119的博客 1402

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

如何高效阅读代码?Linux大神拍了拍你并教给你这三个步骤

阅读软件源代码是每个开发者的必由之路,尤其是内核开发者。因为内核开发在很大程度上并不是重新发明轮子,而是深入理解并尽量复用现有的内核设计框架,然后参照相似的功能模块去添加或改写某项需要的功能。在对内核整体框架以及某些子系统融会贯通以后,才有可能站在巨人的肩膀上去改进框架本身,实现自主创新。就我的个人经验来说,阅读代码与编写代码的时间大概是6 : 4。 自由软件的开发与商业软件相比,有一个很大的不同就是文档相对比较缺乏。但同时有一种说法叫做“代码就是最好的文档”——只要你愿意,没什么学不会的。那么,像Lin

zhaominyong的专栏 947

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

工具之外,如何高效的阅读代码?

工具之外,如何高效的阅读代码? 阅读软件源代码是每个开发者的必由之路,尤其是内核开发者。因为内核开发在很大程度上并不是重新发明轮子,而是深入理解并尽量复用现有的内核设计框架,然后参照相似的功能模块去添加或改写某项需要的功能。在对内核整体框架以及某些子系统融会贯通以后,才有可能站在巨人的肩膀上去改进框架本身,实现自主创新。就我的个人经验来说,阅读代码与编写代码的时间大概是6 : 4。 自由软件的开发与商业软件相比,有一个很大的不同就是文档相对比较缺乏。但同时有一种说法叫做“代码就是最好的文档”——只要你愿意,

哒宰的博客 405

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux内核完全注释pdf_如何高效阅读代码?Linux大神拍了拍你并教给你这三个步骤...

作者简介:陈华才(龙芯3号Maintainer),博士,高级工程师,负责龙芯3号处理器的内核开发。作为Linux内核中MIPS/ 龙芯3 号的Maintainer,向Linux内核官方提交了大量的代码。阅读软件源代码是每个开发者的必由之路,尤其是内核开发者。因为内核开发在很大程度上并不是重新发明轮子,而是深入理解并尽量复用现有的内核设计框架,然后参照相似的功能模块去添加或改写某项需要的功能。在对内...

weixin_39814960的博客 221
上一篇: Hello World---MIPS汇编例程
下一篇: 使用AutoMake轻松生成Makefile
LonlyGod
博客等级 码龄15年 32粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值