nasm

    0熱度

    1回答

    如何測試k的值是否正確? section .data k dw 5 m dw 110 rez dw 0 section .bss tabela resq 3 section .text global _start extern uslov _start: mov qword [tabela], k mov qword [tabe

    2熱度

    1回答

    在linux下可以使用系統調用號4打印的東西: mov eax,4 ;system call number mov ebx,0 ;file descriptor mov ecx,msg ;adress of message in data segment mov edx,length ;length of message 但是,你如何打印從堆棧段的東西嗎? 我嘗試這樣做: push

    0熱度

    1回答

    我把下面的代碼NASM: [BITS 16] [ORG 0x7C00] TIMES 510 - ($ - $$) db 0 ,並在我的十六進制編輯器看了一下,發現了一堆0的。這是我所期望的,但現在我問這個問題:[ORG 0x7C00]實際上對文件做了什麼?

    1熱度

    1回答

    這裏是我的代碼: section .data digit db 0,10 section .text global _start _start: call _printRAXDigit mov rax, 60 mov rdx, 0 syscall _printRAXDigit: add rax, 48

    1熱度

    1回答

    我想將兩個8位寄存器組合在一起並打印結果。我想添加寄存器CL和CH。我用-1275填充了ECX,我想看看如果我減去這兩個寄存器會得到什麼結果,我該怎麼做? 這是我寫的,但是我在第13行得到一個錯誤,表示操作碼和操作數的無效組合。爲什麼不能使用PutInt從CL打印?我需要做什麼? %include "io.mac" .STACK 100H .DATA msg4 db "The re

    1熱度

    1回答

    下面的代碼假設有顯示如果哪個數字更大或者它們是否相等和總和,但我得到的只是總和,如果我刪除了總和部的第一部分,其中顯示的數字是否等於 section .rodata prompt1 db "Enter an integer: ",0 ; 0 is null character pro

    -2熱度

    1回答

    一個示例代碼,我看到類似下面代碼: section .data db 'hello' db 'h', 'e', 'l','l','o' data_segment_size equ $-$$ 爲什麼data_segment_size等於25?我知道$和$$表示什麼,但根據我的書我無法弄清楚爲什麼這個變量是25。也許這是該書的錯誤。

    0熱度

    1回答

    首先,這是一項家庭作業。 我有一個循環獲得兩個數字的值單獨,並加入他們的第一個數字乘以10,並加上第二個數字來獲得一個整數。 我正在做這一切,並保存在我的AL寄存器中,現在我想將該整數插入到一個數組中,然後掃描該數組並顯示這些數字。 如何插入矢量並從矢量讀取? 我的數組: section .bss array resb 200 我的數字轉換: sub byte[digit_une],

    1熱度

    1回答

    我正在使用dosBox和nasm來運行此程序。我正在編寫一個彙編程序,它接收用戶輸入的字符串,然後從該字符串中提取每個字符並將其放入一個寄存器。我認爲做mov字節阿爾,msg2會做的伎倆。不過,我收到一個錯誤,OBJ輸出驅動程序不支持一個字節的搬遷。」我如何採取一個字符一個字符串的時間,並將其存儲到寄存器? %include "io.mac" .STACK 100H .DATA ms

    1熱度

    1回答

    我有這樣的代碼,是應該打印一個字符串的第一個字母: mov bx, message ; Move the address of the message to bx add bx, 0x7c00 ; Adding the padding of bootsector to bx mov al, [bx] ; Move the value at the address in bx to al