x86

    1熱度

    2回答

    我在x86 MASM彙編程序中編寫程序,並且需要訪問啓動程序時提供的命令行參數。我在多個網站上閱讀,我可以在Program Segment Prefix或PSP上訪問這些參數。 作爲一個測試,我嘗試打印提供的參數的第一個字符。我的問題是(取決於我如何訪問PSP),我得到了錯誤的字符(或者根本沒有字符)。 ... mov ah, 21h int 50h mov ds, dx mov a

    1熱度

    1回答

    任何人都可以仔細檢查這一點,看看我是否做得對嗎? 1. create the following variables in the data section. Declare them as WORD (not BYTE or DWORD) num1 (initialize to 0FACE hex) num2 (initialize to 0FEED hex) In

    0熱度

    1回答

    我目前在emu8086中創建一個簡單的遊戲程序。使用箭頭鍵,我可以在每個我想要的方向上打印星號。問題是有一個要求,如果我已經打印了5個星號,星號的尾部應該被刪除,以便我的星號的身體將保持每個打印5個。 從我的研究中,主要使用的數組,但我不知道如何操縱這個數組,因爲我不知道如何跟蹤數組的尾部和位置,以便能夠打印空間以刪除尾部。 ,如: 1. * 2. * 3. * 4. * 5. * 點

    1熱度

    1回答

    我需要顯示問題,用戶將回答Y或N.我共有5個問題,1個問題有20個問題。我需要5 * 20 = 100這樣的東西。 當用戶回答Y時,countY db 0將增加20 我已成功計算標記,但如何顯示爲標記是兩位數(例如80),它也可能是3位數號碼(例如100)。 Q1: mov ah, 09h lea dx, msgq1 int 21h mov ah, 01h

    2熱度

    1回答

    我嘗試瞭解Michael Sikorski所着的書「實用惡意軟件分析」的示例。有一個關於反拆卸技術的例子,我不理解。它說一種常見的技術是創建兩條條件指令,即如果跳轉到零(JZ)並跳轉(如果不是零)(JNZ),它們一起考慮實際上只是一個無條件指令(這對我來說很清楚)。以下是反彙編程序創建的兩個可能結果的圖形。 下面引用指的是圖中1: 在本例中,緊接在兩個條件跳轉指令的指令似乎是在一個調用指令(調用)

    2熱度

    1回答

    我目前正在學習彙編編程,遵循書籍「x86語言處理器彙編語言第7版」。 在這本書中,作者試圖解釋overflow register flag是如何設置 有兩句話在這一段,我是不確定的。 ,其執行的最高位位置的值進行異或運算與所述進位結果的高比特 1 XOR 0產生= OF 1 其他問題關於第2點:我知道XOR如何工作,但我不確定哪個位是1和0在1 XOR 0所指的。 這實際上是如何工作的?我對作者使

    -2熱度

    2回答

    我試圖從CSCI 4971 course瞭解逆向工程,我正在努力解決一個特定的實驗問題(fmt_string)。 我應該在某處找到並打印出旗幟商店。這裏的源代碼的樣子: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #define LINK "\x1b\x5b" "34m"

    -3熱度

    1回答

    我正在學習裝配/倒車。例如,我只用一個參數來查找idiv和imul的文檔,同時也明白哪個參數是第一個和最後一個是在sub/add中。我已被給予以下代碼(與我的理解在評論) start: mov $1024, %rax ; move int value 1024 to register rax mov $4096, %rbx ; move int value 4096 to register r

    0熱度

    1回答

    我很新裝配,現在我試圖瞭解cmp如何工作。下面要說的寫在wiki: cmp arg2, arg1 執行ARG1和ARG2之間的比較操作。比較 通過從arg1(有符號)減去arg2來執行,結果 可以被稱爲Temp。 溫度然後被丟棄。 這是什麼意思「Temp然後被丟棄」?它存儲在哪裏?我怎樣才能訪問這個比較結果?有人可以解釋嗎?

    2熱度

    1回答

    一旦用戶輸入了正確的密碼,我想顯示「Hello World」,但是如果密碼不正確,程序會提示輸入Yes(Y)/ No(N),如果用戶輸入Yes Y),程序將給用戶三次機會顯示「Hello World」,如果用戶輸入了No(N),程序將退出。 我的問題是,每次我選擇是(Y),該程序保持循環,其剛剛結束,如果我進入否(N), 這裏是我的代碼(我已經跳過某些部分) ... org 0100h