我試圖做一些東西,打印餘數除以分母爲基數十分數。有沒有辦法直接將一個寄存器的值寫入文件?
因爲我
害怕
不喜歡未對齊的內存訪問,我用一個寄存器來緩衝最後八個計算數字。
但是,我找不到任何方法將緩衝區直接寫入輸出。
我知道我可以將緩衝區移動到內存中並寫入,但我寧願不這樣做。
有沒有辦法直接將一個寄存器的值寫入文件?
我在C++中使用64位Ubuntu上的gcc-4.7內聯彙編。
編輯:
我是問這樣一個令人難以置信的愚蠢的問題,很遺憾。
我正在玩內聯彙編,並試圖有效地將輸出I逐字節地生成到輸出。我試圖通過將生成的字節移入單個寄存器,將該寄存器存儲在內存中,並將該內存地址的8個字節寫入輸出端(儘管我不確定這是否與endian兼容)。
當我問這個問題時,我想到的是忽略了「將該寄存器存儲在內存中」。最後,我將寄存器存儲到一個緩衝區,每次它包含8個字節,並且當緩衝區填滿時,我一次打印整個緩衝區而不是8個字節。
我希望這可以澄清我看似奇怪的問題背後的推理。
您使用的是什麼操作系統和編譯器? –
@RPFeltz,我想你可能想使用像GDB這樣的調試器進行調查。 XEmacs有一個用於GDB的圖形用戶界面,這對新用戶來說可能更容易。或者,也許別人可以推薦一個(我對最近的Linux調試工具不熟悉 - 我最近一次在* n * x平臺上使用調試器的時間超過10年以前 - 可能會有更好的調試工具)。 – Ben
@Ben我使用Eclipse CDT和GDB。究竟是什麼意思調查? – RPFeltz