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 와우 그 재미있는 내가 보편적 인 언어, 내가 리눅스와 어셈블리에 대한 nasm 컴파일러를 사용하여 알았는데 알았어 –
어떻게 보편 수 있을까? 어셈블러 (예 : 부트 로더)에 "알몸"머신 코드를 작성하거나, 호스트 된 프로그램을 작성할 수 있습니다. 호스트 된 환경에서는 모든 세부 사항이 OS에 종속됩니다. 적절한 시스템 호출을하고 싶습니다. 어쨌든 여기서 "Linux"는 중요한 정보입니다. 건배. –