计算机编写代码简介,Vcomputer简介
1.Vcompter存儲程序式計算機虛擬機軟件簡介
Vcompter存儲程序式計算機虛擬機軟件的文件名為comp_alpha(一般要先安裝java運行環境,然后雙擊該軟件即可運行),該軟件是桂林電子科技大學“計算機科學導論”課程組開發的一個公共教學輔助軟件,是2013年高等教育出版社出版的《計算機科學導論:思想與方法(第2版)》的配套軟件。該軟件由課程實驗老師提供,使用該軟件可以加深同學們對存儲程序式計算機(馮·諾依曼計算機)的理解。該軟件的主界面如下圖所示。
2.Vcomputer機器的結構和指令
Vcomputer共有256個主存單元(分別用十六進制00~FF表示),6個通用寄存器(0~5),1個程序計數器和1個指令寄存器。
機器的指令共有9條,每條指令的長度均為2個字節(用十六進制表示共4位)。指令的第1個十六進制數字為操作碼;指令的后3個十六進制數字為操作數,如附表B-1所示:
附表B-1 VComputer機器的指令集
操作碼
操作數
描 ???述
1
RXY
將主存XY單元中的數取出,存入寄存器R中。如1543,將主存43單元中的數取出,存入寄存器5中
2
RXY
將數XY存入寄存器R中。如2543,將43(十六進制數)存入寄存器5中
3
RXY
將寄存器R中的數取出,存入內存地址為XY的單元中
4
0RS
將寄存器R中的數存入寄存器S中
5
RST
將寄存器S與寄存器T中用補碼表示的數相加,結果存入寄存器R中
6
R0X
將寄存器R中的數左移X位(先將R中的十六進制數轉換為二進制數,再左移X位),移位后,用0填充騰空的位
7
R00
將寄存器R中的數按位取反。如7100,將寄存器1中的數按位取反,將結果存入寄存器1中
8
RXY
若寄存器R與寄存器0中的值相同,則將數據XY(轉移地址)存入程序計數器;否則,程序按原來的順序繼續執行
9
000
停機,9000
3.Vcomputer機器上的匯編指令集
Vcomputer機器的匯編指令共9條,與其機器指令一一對應,如附表B-2所示:
附表B-2 ?Vcomputer機器的匯編指令與機器指令對照表
操作碼
操作數
匯編指令
描 述
1
RXY
Load R,[XY]
[R]:=[XY]
2
RXY
Load R,XY
[R]:=XY
3
RXY
Store R,[XY]
[XY]:=[R]
4
0RS
Mov R,S
[S]:=[R]
5
RST
Add R,S,T
[R]:=[S]+[T]
6
R0X
Shl R,X
[R]:=[R]左移X位,移位后,用0填充騰空的位
7
R00
Not R
[R]:=[R]中的值按位取反
8
RXY
Jmp?R,XY
程序計數器[PC]:=XY,IF [R]=[R0];else [PC]:=[PC]+2
9
000
Halt
停機
4.匯編程序編寫過程中的注意事項
匯編程序編寫過程中有以下注意事項:
(1)注釋
匯編程序可以包含注釋,注釋含一行中從分號起到該行結束的所有符號。
(2)白空格
匯編程序文本中的白空格包括空格符(SPACE 鍵),制表符(TAB 鍵),換行符(ENTER鍵)。
(3)語句標號
匯編語句可以有標號,標號只能以字母開頭,后面只能跟字母,數字,下劃線。標號后面必須跟冒號,標號與冒號之間不能有白空格。例如,“label ??:”這樣的標號定義不符合規定。標號后面的冒號與操作碼之間可以有多個白空格。
(4)分隔符
操作碼與第一個操作數之間至少包含一個白空格。操作數之間通過逗號分隔,操作數與逗號,逗號與操作數之間可以有多個白空格。
(5)數值
數值全部用十六進制表示。
(6)字母大小寫
VComputer機器的匯編語句不區分字母的大小寫。
5.機器指令(十六進制代碼)編寫過程中的注意事項
(1)在機器代碼(十六進制代碼)文件的編寫過程中,注意,一行只能寫1個指令,共4位(16進制數);
(2)在機器代碼(十六進制代碼)文件中,1個指令編寫好后,換行寫另一個指令。
6.存儲程序式計算機模擬平臺的功能
本平臺的設計基于Vcomputer的指令,并有如下功能:
(1)能夠對匯編程序進行編輯、保存或打開新的文件(TXT文件);
(2)能夠對機器指令按十六進制的形式進行編輯、保存或打開新的文件(TXT文件);
(3)能夠將匯編程序轉化為十六進制的機器代碼;
(4)能夠將十六進制的機器代碼轉化為匯編程序;
(5)能夠將機器代碼程序裝載到物理內存;
(6)能夠模擬程序在機器中的執行過程;
(7)可以模擬程序在機器中單步運行過程;
(8)可以對中央處理器進行初始化操作(即對CPU中的各類寄存器置零);
(9)任何時候都可以直接修改物理內存的內容;
(10)任何時候都可以直接修改程序計數器(PC)中的值(單步執行(一步完成)時,首先,根據程序計數器中修改后的地址,將相應的機器指令取出,存入指令寄存器中;其次,執行存入指令寄存器中的新指令;最后,將程序計算器的值+2);
(11)指令寄存器中的值不能修改(初始值為空)。
7.計算機模擬平臺的注意事項
若無法正常打開或保存文件,請按以下方式設置IE:工具->Internat選項->安全->自定義級別->對沒有標記為安全的ActiveX控件進行初始化和腳本運行->啟用->確定。
ASP.NET Core 1.1 簡介
ASP.NET Core 1.1 于2016年11月16日發布.這個版本包括許多偉大的新功能以及許多錯誤修復和一般的增強.這個版本包含了多個新的中間件組件.針對Windows的WebListener服 ...
MVVM模式和在WPF中的實現(一)MVVM模式簡介
MVVM模式解析和在WPF中的實現(一) MVVM模式簡介 系列目錄: MVVM模式解析和在WPF中的實現(一)MVVM模式簡介 MVVM模式解析和在WPF中的實現(二)數據綁定 MVVM模式解析和在 ...
Cassandra簡介
在前面的一篇文章中,我們介紹了一種非常流行的圖形數據庫Neo4J的使用方法.而在本文中,我們將對另外一種類型的NoSQL數據庫——Cassandra進行簡單地介 ...
REST簡介
一說到REST,我想大家的第一反應就是“啊,就是那種前后臺通信方式.”但是在要求詳細講述它所提出的各個約束,以及如何開始搭建REST服務時,卻很少有人能夠清晰地說出它到底是什么,需要遵守什么樣的準則. ...
Microservice架構模式簡介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新書.該書描述了如何按照Mic ...
const,static,extern 簡介
const,static,extern 簡介 一.const與宏的區別: const簡介:之前常用的字符串常量,一般是抽成宏,但是蘋果不推薦我們抽成宏,推薦我們使用const常量. 執行時刻:宏是預編 ...
HTTPS簡介
一.簡單總結 1.HTTPS概念總結 HTTPS 就是對HTTP進行了TLS或SSL加密. 應用層的HTTP協議通過傳輸層的TCP協議來傳輸,HTTPS 在 HTTP和 TCP中間加了一層TLS/SS ...
【Machine Learning】機器學習及其基礎概念簡介
機器學習及其基礎概念簡介 作者:白寧超 2016年12月23日21:24:51 摘要:隨著機器學習和深度學習的熱潮,各種圖書層出不窮.然而多數是基礎理論知識介紹,缺乏實現的深入理解.本系列文章是作者結 ...
Cesium簡介以及離線部署運行
Cesium簡介 cesium是國外一個基于JavaScript編寫的使用WebGL的地圖引擎,一款開源3DGIS的js庫.cesium支持3D,2D,2.5D形式的地圖展示,可以自行繪制圖形,高亮區 ...
隨機推薦
php緩存技術(減少數據庫服務器壓力)
靜態緩存(保存在磁盤上的靜態文件,用PHP生成數據放入靜態文件中) a) ?php操作緩存 i. ?生成緩存 ii. ?獲取緩存 iii. 刪除緩存 判斷目錄是否存在:is_dir() dirname ...
Directadmin清空所有Tickets命令
利用一條命令就快速實現了清空所有Tickets的方法,希望此例子對大家有幫助. ? ? 即可清空所有工單,包括系統提示 :> /usr/local/directadmin/data/admin/ ...
Cutting Sticks
題意: l長的木棒,給出n個切割點,每切一次的費用為切得木棒的長度,完成切割的最小費用. 分析: 區間dp入門,區間dp的特點,一個大區間的解可以轉換成小區間的解組合起來,每個切割點的標號代表邊界. ...
iOS 非ARC基本內存管理系列 3-循環retain和@class
1.@class 使用場景:對于循環依賴關系來說,比方A類引用B類,同時B類也引用A類: 可以看出Person和Card互相引用,此時如果使用#import編譯報錯!因此當使用@class在兩個類中相 ...
POJ3280 - Cheapest Palindrome(區間DP)
題目大意 給定一個字符串,要求你通過插入和刪除操作把它變為回文串,對于每個字符的插入和刪除都有一個花費,問你把字符串變為回文串最少需要多少花費 題解 看懂題立馬YY了個方程,敲完就交了,然后就A了,爽 ...
開濤spring3(9.3) - Spring的事務 之 9.3 編程式事務
9.3? 編程式事務 9.3.1? 編程式事務概述 所謂編程式事務指的是通過編碼方式實現事務,即類似于JDBC編程實現事務管理. Spring框架提供一致的事務抽象,因此對于JDBC還是JTA事務都是 ...
CSS技巧和經驗列表
如何清除圖片下方出現幾像素的空白間隙? img{display:block;} 如何讓文本垂直對齊文本輸入框? input{vertical-align:middle;} 如何使文本溢出邊界顯示為省略 ...
基于TCP協議的socket編程
什么是socket Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口.在設計模式中,Socket其實就是一個門面模式,它把復雜的TCP/IP協議族隱藏在Socket接口后面, ...
Spring學習(1)——快速入門
認識 Spring 框架 Spring 框架是 Java 應用最廣的框架,它的成功來源于理念,而不是技術本身,它的理念包括 IoC (Inversion of Control,控制反轉) 和 AOP( ...
java maven項目update project默認編譯器1.5問題解決
解決辦法一:在項目中的pom.xml指定jdk版本,如下 org.apache. ...
總結
以上是生活随笔為你收集整理的计算机编写代码简介,Vcomputer简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果SSL_goto漏洞简介
- 下一篇: 苹果开源