[英]Why does not console accept reverse line feed?
所以,我想在控制台上創建一個生活模擬器游戲。 為此,我需要將 cursor 向上移動,以便我可以重寫它,我可以使用 . 我在控制台上嘗試: 這給了我結果: 這是預期的結果,證明我的控制台接受了該字符。 但是,當我在 NASM 中嘗試完全相同的事情時, 像這樣運行它, 我明白了 這是為什么? 在我的 ...
[英]Why does not console accept reverse line feed?
所以,我想在控制台上創建一個生活模擬器游戲。 為此,我需要將 cursor 向上移動,以便我可以重寫它,我可以使用 . 我在控制台上嘗試: 這給了我結果: 這是預期的結果,證明我的控制台接受了該字符。 但是,當我在 NASM 中嘗試完全相同的事情時, 像這樣運行它, 我明白了 這是為什么? 在我的 ...
[英]common symbol redefined in NASM
我正在嘗試使用 NASM 0.98.39 編譯此源代碼(已精簡到最低限度): 出乎意料的是,我收到錯誤消息: 較新版本的 NASM(例如 2.13.02)成功。 有沒有辦法讓它與 NASM 0.98.39 一起使用? 請注意,對於生產項目,升級 NASM 不是一種選擇,因為較新的版本在某些特殊情況下 ...
[英]How to search for 8-bit value in a memory area and output the memory address? SBC86 Assembly
我必須為大學創建一個程序,用於在 memory 區域 C000H-CFFFH(SBC86 的監控程序)中搜索先前指定的 8 位值。 我們使用 i8086 模擬器。 但是我完全不知道我究竟是如何搜索 memory 區域和 output 找到的 memory 地址的值。 ...
[英]BadWindow (invalid Window parameter) when trying to close a Display in X11
我正在編寫 x86-64 NASM 程序集,我寫了一個 function 以通過 WSL 在 Ubuntu 上使用 X11 關閉 window 我不斷收到此錯誤: 我的代碼如下所示: 該錯誤似乎來自XCloseDisplay function 調用我已經嘗試查看我對 window 的初始化,但是當 ...
[英]How does popa and pusha actually works?
我試圖從 scrath 編寫一個簡單的操作系統,但我遇到了一個問題。 我編寫了一個簡單的程序,它運行一個字符串並將其打印在屏幕上。 我將它包含在主文件中。 但出於某種原因,而不是打印Hello, World. This is a test. Hello, World. This is a test ...
[英]Write a x86 (32-bit) assembler program that sends prime numbers from 1 to 100,000 to standard output
我想編寫一個 x86(32 位)匯編程序,將 1 到 100,000 之間的質數發送到標准 output。我寫了一些代碼,但它似乎無法正常工作。 我是匯編語言的新手,所以我不知道該怎么做才能使它正常工作。 也許有人可以修復此代碼並告訴我我做錯了什么。 ...
[英]Assembler program that prints an integer as hex to standard output
我必須為 x86 處理器編寫一個 nasm(或其他)匯編程序,它在標准 output 上打印一個 32 位十六進制數,例如 printf("%x\n",123456),並使用寫入系統調用來展示。 我寫了一些代碼,但它似乎不起作用。 誰能幫幫我? 我是匯編程序的新手,所以我不知道如何讓它正常工作 ...
[英]NASM x86-64 bit Assembly run on Replit - Number printing function not working properly
這是代碼: 當這個程序運行時,它會打印消息:`The factors of `,然后插入符號停在原地。 這讓我覺得它在打印 function 的數字中,很可能在某個地方陷入循環。 但我想知道問題出在哪里,因為我已經完成了打印 function 的獨立測試。如果有人對這個問題有任何想法,那么最好能從我 ...
[英]How to code factorial of an input with Recursivity in NASM x86
我正在學習在 NASM 上編碼,我試圖通過使用編碼階乘來理解遞歸,但我很快就感到困惑了。 如何使用 NASM 中的遞歸來編寫階乘算法代碼? ...
[英]Addition and Subtraction in Nasm
代碼只打印出任何內容,對於 150 和 48 的 output,我該怎么辦? 我在練鼻音 我希望我的編碼能夠打印 Num1 和 Num2 的加法和減法,但它不打印我該怎么做才能打印? ...
[英]AND vs SUB when converting lowercase to uppercase assembly
我想知道為什么在將小寫 ASCII 字符轉換為大寫字符時使用and指令而不是sub指令。 比 ...
[英]Enabling the VGA 13h video mode on a modern PC in UEFI via a UEFI bootloader, written in assembly
我一直在為 BIOS 實模式編寫一些 x86_16 匯編代碼,作為一種安靜的愛好。 最近我決定轉向為 UEFI 編寫 64 位引導加載程序。 首先,我想到的是在 UEFI 程序中進入 13h VGA 圖形模式(256 colors、320x200)。 顯然,我不能像在 BIOS 中那樣簡單地調用 0 ...
[英]"error: operation size not specified" on push operation. Assembly x86
我正在嘗試制作一個簡單的 x86 程序來反轉字符串,在本例中為:“ciao”。 當我嘗試組裝它時,出現錯誤: main.asm:14: 錯誤:未指定操作大小因此,我嘗試通過將第 14 行修改為: 現在我得到了錯誤: main.asm:14: 錯誤:操作碼和操作數的組合無效我真的不明白這里有什么 ...
[英]Cannot call MessageBoxA in NASM assembly (crashes)
我在 Assembly (NASM) 中為 Windows 32 位創建了一個小程序,它調用 WinAPI 並打開一個消息框。 程序由於某種原因崩潰了,我不知道為什么,代碼中一定有問題,但我找不到它(地址肯定是正確的)。 任何想法可能是什么錯誤以及為什么? ...
[英]What is limiting the size of variables / registers in assembly? (32-bit Linux)
編輯:好的,有代碼: 我的程序采用硬編碼的十進制數,對其進行平方,然后將答案打印在屏幕上。 如果我給它一個數字,它的平方小於 1000,一切都很好。例如:我給它 2,它說 4;我給它 31,它說 961。當我給它 32,它只打印 1(其中答案應該是 1024)。 當我輸入 65 時,答案應該是 4 ...
[英]equivalent of NASM's "dd" in Gnu Assembler
我正在嘗試將dd從 NASM(或 MASM)翻譯成 GAS。 我在手冊中的任何地方都找不到它。 ...
[英]Is there a way to use NASM syntax for inline assembly?
我真的不喜歡 GNU 匯編程序語法,並且我使用 NASM 語法編寫的一些現有代碼移植起來非常痛苦且耗時。 是否有可能使global_asm!()宏使用 NASM 作為匯編程序或可能使 GAS 使用 NASM 語法? ...
[英]How do I read C arguments in Assembly?
我目前正在使用 NASM 構建一個(非常簡單的)操作系統。 我正在嘗試編寫一個程序集 function,它將從作為 function 參數給出的地址讀取一個字節,然后返回數據,如下所示:// kernel.c extern int readbyte(); int main(void) { i ...
[英]How do I print out two-digit integers in ASM, ( Linux NASM x86_64 )
這是打印數字的方法,但是如何打印 2 位數字呢? 這只是打印出 9,但如果我將 num 設為 12,它會給我一個“<”。 我相信它正在打印出 60 的 ascii 字符,即“<”。 ...
[英]'sprintf' libc call gives SegFault in assembly on Ubuntu (sometimes)
我正在嘗試通過調用sprintf來在程序集 (NASM) 中對 integer 進行字符串化。 我有以下執行此操作的匯編代碼: 此代碼在我的機器 (Ubuntu 22.10) 上運行良好,但我注意到我的自動化測試在 GitHub 操作 (Ubuntu VM) 上失敗。 我在 Docker 中設置了 ...