1. 程式人生 > >WinMIPS64指令集實驗--簡單的IO例項--HelloWorld

WinMIPS64指令集實驗--簡單的IO例項--HelloWorld

編寫一個簡單的終端輸出“Hello World!!”的小程式。

先將CONTROL和DATA地址讀取到暫存器,然後分別在這兩個區域記憶體儲相應的序列號(如上圖所示)和要顯示在Terminal視窗的資料。

程式碼實現:

.data
str: .asciiz "Hello World!"
CONTROL: .word32 0x10000
DATA: .word32 0x10008

.text
main:
lwu r31,CONTROL(r0)
lwu r30,DATA(r0)
daddi r29,r0,4     ;set string output
daddi r28,r0,str   ;get address of string
sd r28,(r30)
sd r29,(r31)
halt

執行結果:


相關推薦

WinMIPS64指令實驗--簡單IO例項--HelloWorld

編寫一個簡單的終端輸出“Hello World!!”的小程式。先將CONTROL和DATA地址讀取到暫存器,然後分別在這兩個區域記憶體儲相應的序列號(如上圖所示)和要顯示在Terminal視窗的資料。程式碼實現:.data str: .asciiz "Hello World

ARM指令詳解(超詳細!帶例項!)

算術和邏輯指令 ADC : 帶進位的加法 (Addition with Carry) ADC{條件}{S}  <dest>, <op 1>, <op 2> dest = op_1 + op_2 + carry ADC將把兩個運算元加起來

動手寫一個簡單版的谷歌TPU-指令

系列目錄     谷歌TPU概述和簡化     基本單元-矩陣乘法陣列     基本單元-歸一化和池化(待發布)     TPU中的指令集     S

ARM cortex M3寄存器及指令

png cor 另一個 堆棧 應用程序 技術分享 font 限制 帶來 1、cortex M3擁有通用寄存器R0-R15及一些特殊寄存器: R0‐R7 也被稱為低組寄存器。所有指令都能訪問它們。它們的字長全是 32 位,復位後的初始值是不可預料的。 R8‐R12 也被稱為

ARM指令、Thumb指令、Thumb-2指令

32bit image 存儲 wid mage 頻率 arm 16bit 承載 MCU使用什麽指令集主要由內核決定的,比如Cortex-M3使用的是Thumb-2指令集 ARM指令集: 編代碼全部是 32bits 的,每條指令能承載更多的信息,因此使用最少的指令完

android ndk 編譯的時候指令的選取

文章 span tag androi ndk 有時 oca class word android ndk在編譯的時候默認生成的是thumb指令(拇指)不是arm(手臂)指令,但是有時候在看反匯編的時候,不太熟悉thumb指令或者說thumb指令看起來更費勁,需要生成arm指

《Java虛擬機原理圖解》4.JVM機器指令

popu 符號 處理 組織 snippet add ide 獲取 alt 0. 前言 Java虛擬機和真實的計算機一樣,執行的都是二進制的機器碼;而我們將.java 源碼編譯成.class 文件,class文件便是Java虛擬機可以認識的

ARM指令—SWP指令

而且 post margin {} 這樣的 有效 介紹 back swp ARM指令集—SWP指令 SWP和SWPB是ARM指令集中對存儲單元的原子操作。即對存儲單元的一次讀和一次不可被切割。SWP和SWPB分別完畢存儲器和寄存器之間 一個字(

iOS 指令

合並 ipo 判斷 arch xsd 微處理器 處理器 frame pad armv7|armv7s|arm64都是ARM處理器的指令集 i386|x86_64 是Mac處理器的指令集 arm64:iPhone6s | iphone6s plus|iPhone6

CentOS bug修復指令(阿裏雲適用)

pytho epo -h 輸出 控制臺 com kernel head mail 如 RHSA-2017:0817: kernel security, bug fix, and enhancement update (Moderate) 修復方案: yum updat

windows下使用RedisCluster簡單實例

綠色 nod only vid 準備 信息 sources slots 生成 一、開發環境 ruby環境準備 下載 64位的 RubyInstaller並安裝 地址http://rubyinstaller.org/downloads/勾選下面三個不用配置環境變量 Im

iOS 指令架構 armv6、armv7、armv7s、arm64、x86_64、i386

clas 通用 圖片 pil 而後 支持 iphone 8 地址 目標 一、ARM架構   ARM架構過去稱作進階精簡指令集機器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個32位精簡指令集(RISC)處理器架構,AR

Mac OS X10.10_xcode6.1_ios8.1環境下,編譯lame靜態庫libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令

ces mod dir helper plain per 代碼 then -m 近期升級了系統到Mac OS X 10.10 而且更新了XCode6.1和iOS 8

Nginx + Tomcat 配置負載均衡簡單實例

hash weight 用戶 index 文件服務器 修改配置文件 ads 配置文件 ace 一、Hello world 1、前期環境準備 準備兩個解壓版tomcat,如何同時啟動兩個tomcat,請看我的另一篇文章《一臺機器同時啟動多個tomcat》。 nginx官網下

指令基本原理

展現 模型 style 虛擬存儲器 縮小 索引 動態 包括 晶體管 指令集體系結構----程序員或編譯器編寫人員能夠看到的計算機部分。 指令集體系結構包括: 1.對各種指令集進行了分類,並對各種方法的優勢和劣勢進行某種量化評估。 2.對一些指令集測量數據進行分析。 3.語言

JVM指令介紹

fse inf clas -s val 轉載 signed sig icm 轉載自:http://glutinit.iteye.com/blog/1263446 延伸參考 JVM接收參數和方法調用 void spin() { int i; for

CMake的簡單使用(一) - HelloWorld

req AI 構建項目 過程 web filename return family pan 創建一個HelloWorld目錄 編寫我們的HelloWorld.c 1 /* 2 * Filename : HelloWorld.c 3 * Descrip

日誌流匯工具Log.io安裝過程

log.io官方文檔:https://github.com/NarrativeScience/Log.io 需要使用root用戶安裝1.安裝node.jsnode.js安裝包獲取,請搜索。 tar zxvf node-v0.12.7.tar.gz cd node-v0.12.7 ./configure ma

Thumb指令程序示例

flash 數據段 如果 tex start.s ash tile tro PC 在上節課中我們介紹CPU有兩種工作狀態,一種ARM狀態,一種Thumb狀態。 本節課主要介紹Thumb狀態及Thumb指令集。 在012_relocate的程序基礎上修改,創建013_thum

Linux指令

所有 bsp chgrp unzip ifconfig 文件屬性 當前目錄 man 目的 最近在學習Linux虛擬機,下面是我在學習虛擬機的過程中使用過的一些指令,及其作用。 pwd-> 列出當前目錄路徑 ls-> 列出當前目錄列表 cd-> 改變目錄 m