0
我想找到預定義數組中的最大數字並將其輸出到屏幕。現在我知道一個事實,我的邏輯找到最大的數字是正確的,但輸出它就像打一場永不止息的戰爭!我創建了一個dd數組,但不能輸出任何東西
segment .data
matrix dd 1,62,3,44,35, \
61,52,43,45,55, \
17,23,37,74,65, \
13,12,93,94,95, \
31,21,13,14,25 \
segment .bss
holder resb 4
counter resb 4
segment .text
global _start
_start:
mov eax, matrix
call big
big:
mov esi, holder
mov edi, counter
mov edi, 0
jmp switch
loop:
inc edi
cmp esi, [eax + edi]
jg switch
cmp edi, 25
jle loop
mov eax, [esi]
add eax, '0'
mov eax, 4 ; after some advice from a few forum member i tried the [ebx + ecx *4] but no luck
mov ebx, 1
mov ecx, eax
mov edx
mov eax, [ebx + ecx * 4]
int 0x80
switch:
mov esi, [eax + edi]
jmp loop
exit:
mov eax, 1
xor ebx, ebx
int 0x80
介意告訴我們有關您使用的平臺和操作系統的任何信息?打印輸出是您可以想象的最具平臺特色的事情之一。 –
@KerrekSB SB哇這有趣我不知道我認爲這是通用語言,即時通訊使用Linux和nasm編譯器進行彙編 –
它如何通用?你可以用匯編語言編寫「裸機」代碼(例如bootloader),或者你可以編寫一個「託管程序」,任何和所有的細節都依賴於操作系統......在託管環境中,你通常想要調用一些適當的系統調用。無論如何,「Linux」是這裏重要的信息。乾杯。 –