cost 271 ms
減少仿真器中switch語句的大小?

[英]Reducing size of switch statement in emulator?

我開始使用這個 v1.7 規范編寫DCPU-16仿真器。 我開始放下架構,我不喜歡我使用很長的switch語句這一事實。 這是我第一次編寫模擬器,所以我不知道是否有更好的方法。 雖然交換機不是那么大,但由於DCPU的操作碼數量很少(事實上我還沒有實際執行過指令),我可以想象如果我正在為更大 ...

DCPU-16按位移位

[英]DCPU-16 Bitwise Shifting

我正在嘗試學習DCPU。 我正在做的就是向左移動,所以不應該在每次移動時簡單地將自身翻倍。 在我的代碼中,您可以看到我有最后一次將注冊表B更改為16的操作,但是當運行B最終為10時為什么這樣做。 ...

如何最好地從DCPU16的鍵盤上獲取字符

[英]How to best get a character from the keyboard on the DCPU16

因此,我的目標是編寫一個子例程,該子例程在被調用之前會掛起,直到用戶輸入以<return>終止的字符串為止,然后返回該子例程(可能是通過將其寫入用戶指定的地址)。 我的問題在於如何最好地從鍵盤上獲得單個字符。 我認為有3種方法: 偵聽來自鍵盤的中斷,並獲取響應的字符 ...

2012-05-26 18:33:02   1   309    dcpu-16  
DCPU-16不接受鍵盤輸入

[英]DCPU-16 won't accept input from keyboard

我已經開始學習DCPU-16的匯編程序以准備0x10c,但是在我完成本教程的結論之后,我發現該程序沒有響應鍵盤輸入。 逐步進行,我發現代碼被卡在循環設置中,以使cpu等待鍵盤輸入。 違規行: 可能是因為代碼用於DCPU的舊版本嗎? 如果是這樣,它將如何運作? 關於Stac ...

通過宏擴展跟蹤原始行號

[英]Keeping track of original line numbers through macro expansion

我正在用C,flex,bison編寫有趣的匯編程序。 我想添加宏,包含和重復塊,並正在考慮使用單獨的預處理階段解析器來進行此操作。 我的問題是,如何跟蹤原始的源行號(和文件名)? 這是為了產生有用的錯誤消息,進行漂亮的打印以及生成調試信息。 預處理完成后,第二個解析器中的yyli ...

DCPU-16中的XNU內核克隆

[英]XNU Kernel clone in DCPU-16

https://github.com/galaxas0/MachX-Kernel 在我着手進行旨在失敗的項目之前,我想提出一個簡單的問題,以使事情不會失敗:DCPU-16到底將如何加載內核……是虛擬的而又是所有的。 我了解物理計算機上的引導和內核初始化過程,但是DCPU-16讓我感到茫然 ...

DCPU 16原始規范中的IFN A,0x10如何轉換為0xc00d

[英]How does IFN A, 0x10 translate to 0xc00d in the original spec for DCPU 16

我正在嘗試為Notch的DCPU-16規范編寫匯編程序。 該CPU的原始規格可在此處找到。 相關行: ... 我到目前為止已經了解了說明,但是對我來說,這至少應是2個字長,而不是0xc00d 將是7c01 0010 。 所以 應該是7c0d 0010嗎? ...

SET A,0x1E與SET A,0x1F

[英]SET A, 0x1E vs SET A, 0x1F

這是我第一次嘗試dpcu,正在檢查dpcu-16程序集生成的機器代碼 我正在使用此模擬器: http : //dcpu.ru/ 我正在嘗試比較由生成的代碼 生成的代碼如下: 我不明白為什么操作數大小在這兩個值之間變化 ...

Turbo Pascal覆蓋層是如何工作的?

[英]How did Turbo Pascal overlays work?

我正在為游戲0x10c實現16位DCPU的一個assemblinker 。 有人向我建議的一種技術是使用“疊加,就像在當天回來的Turbo Pascal”,以便在運行時交換代碼。 我得到了基本的想法(鏈接覆蓋符號到同一個內存,在ref之前交換),但是它們的實現是什么? 這是編譯 ...

如何將預處理器添加到flex + bison匯編器?

[英]How should I add a preprocessor to a flex+bison assembler?

我已經使用flex + bison編寫了一個簡單的匯編程序。 我想在匯編語言中添加一個預處理器(宏)。 這是我第一次嘗試使用flex + bison,我不確定該怎么做。 是否添加一個單獨的flex + bison實例並完全單獨進行預處理是否合適? 還是它們支持針對處理的不同階段表達不 ...

DCPU-16中的有符號算術/控制流程?

[英]Signed arithmetic/control-flow in DCPU-16?

DCPU-16 ( Notch新游戲中的CPU) 似乎沒有任何簽名的IF / MUL / DIV指令。 還有辦法做一些非常難以置信的簽名算術/控制流嗎? ...

2012-04-13 21:26:53   1   258    dcpu-16  
為什么DCPU-16指令的二進制表示形式中有前導1

[英]Why is there a leading 1 in the binary representation of DCPU-16 instructions

我目前正在擺弄DCPU-16匯編器(請參閱http://0x10c.com/doc/dcpu-16.txt和http://jazzychad.net/dcpu.html )。 關於匯編程序指令轉換為十六進制/二進制的方式,我不了解一件事。 例如,采取類似的指令 應該將寄存器B ...

DCPU-16 DIV指令

[英]DCPU-16 DIV instruction

我正在查看DCPU-16的規范 ,我無法通過DIV指令理解溢出值的用途: DIV a,b - 將a設置為a / b,將O設置為((a << 16)/ b)&0xffff。 任何人都可以在這里解釋O的語義,它對什么有用? ...

用於不同存儲器尋址方案的C代碼的可移植性

[英]Portability of C code for different memory addressing schemes

如果我理解正確, 0x10c的DCPU-16規范描述了一個16位地址空間,其中每個偏移地址都是一個16位字,而不是大多數其他存儲器架構中的字節。 這有一些奇怪的后果,例如我想sizeof(char)和sizeof(short)都會返回1 。 在這種不同的內存尋址方案之間保持C代碼可移植是 ...

2012-04-11 14:39:14   4   518    c / dcpu-16  
在不間斷的 DCPU-16 上是否可以實現搶占式多任務操作系統?

[英]Is a preemptive multitasking OS possible on the interruptless DCPU-16?

我正在研究各種操作系統設計,希望為 DCPU-16 編寫一個簡單的多任務操作系統。 然而,我讀到的關於搶占式多任務處理的所有內容都以中斷為中心。 聽起來在 16 位硬件和軟件時代,協同多任務處理更為普遍,但這要求每個程序在編寫時都考慮到多任務處理。 有什么方法可以在無中斷架構上實現搶占式多任務處理 ...

優化 DCPU-16 FizzBuzz

[英]Optimizing DCPU-16 FizzBuzz

我嘗試在 DCPU-16 中實現 FizzBuzz。 我使用這個 web 模擬器: http://mappum.github.com/DCPU-16/ (存儲庫: https://github.com/mappum/DCPU-16 )。 它在循環結束前停止。 為什么? 我該如何優化它? 我是一名高 ...

此代碼的適當 Racket/Scheme 習慣用法是什么?

[英]What is the appropriate Racket/Scheme idiom for this code?

我是 racket/scheme 的新手,所以我決定通過為DCPU-16 (一個簡單的 16 位處理器)實現一個模擬器來學習。 因此,我的問題是:實施我的解決方案的更好方法是什么? 這是我一起破解來控制 cpu 寄存器的解決方案。 要點是允許將修改寄存器的函數鏈接在一起。 例如: 我的注冊解決方案 ...

你能寫到[PC]嗎?

[英]Can you write to [PC]?

根據DCPU 規范, SET指令失敗的唯一情況是a值是文字。 那么下面的工作嗎? 更有用的版本是設置PC的偏移量,因此一個相當奇怪的無限循環將是: ...

2012-04-05 15:13:40   2   809    dcpu-16  

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM