Вызов подпрограммы для C - Assembler
Формулировка задачи:
Возник вопрос ! Как вызвать код как подпрограмму на Си.
Спасибо большое за помощь.
.386 .model flat, stdcall option casemap :none include kernel32.inc includelib kernel32.lib .data a db 9, 6, 9, 2, 3, 8, 3, 8, 3, 2, 7, 3, 7, 7, 7, 6, 6, 3, 6, 6 row db 4 col db 5 max db ? .code main PROC xor ebx,ebx xor ecx,ecx xor edx,edx movsx ecx,row ; ecx = row forkrow: ; for(i=5; i>0; i--) push ecx ; mem ecx movsx ecx,col ; ecx = col sub ecx,1 ; ecx = col - 1 mov al, a[edx][ecx] ; al = a[edx][ecx] forkcol: ; for(i=4; i>0; i--) mov ah, a[edx][ecx-1] ; ah = a[edx][ecx-1] cmp ah,al ; al>ah jge @EndMin ; else mov al,ah ; al = ah @EndMin: loop forkcol cmp edx,0 ; один проход jz @EndTemp ; для того чтоб mov bl,al ; bl присвоить @EndTemp: ; один из минимумов cmp bl,al ; bl < al jl @EndMax ; else @EndMax: mov bl,al ; bl = al add edx,5 ; edx+=5 pop ecx loop forkrow mov max,bl ; MAX invoke ExitProcess, 0 main endp end main
Решение задачи: «Вызов подпрограммы для C»
textual
Листинг программы
public maxi maxi proc C, arr:DWORD, row:BYTE, col:BYTE
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д