0
我调用该函数如下方式从主:执行完此nasm函数后,main不会继续。它退出没有错误
main:
;memory alocation ect
call encode
的编码功能如下: 它做一个简单的RLE算法。
encode:
;IN eax - pointer a memoria elejere
;IN ecx - sor hossza
;OUT eax -pointer az eredmeny elejere
;OUt ecx -a kiirt sor hossza
;elso char
这读取第一个characer
;push eax
push ebp
xor ebp,ebp
push esi
push edi
push eax
xor edi,edi
这分配内存:
;lefoglal memoria eredmenynek
mov ebx,eax
mov eax,ecx
call mem_alloc
;esi legyen eredmeny memoria kezdete
mov esi,eax
mov eax,ebx
;eax ismet a memoria poiter
xor edx,edx
mov dl,[eax]
; push eax
; xor eax,eax
; mov al,dl
; call io_writeint
; call mio_writeln
; pop eax
;lastChar az elso char
mov [lastChar],dl
主循环环至 “载体”
inc ebp
;dec ecx
.goloop:
mov dl,[eax+ebp]
xor ebx,ebx
mov bl,[lastChar]
cmp dl,bl
jne .newChar
xor ebx,ebx
mov bl,[count]
inc bl
mov [count],bl
.backloop:
loop .goloop
.newChar:
mov [esi+edi],bl
inc edi
mov byte[esi+edi],-1
inc edi
mov bl,[count]
mov [esi+edi],bl
inc edi
mov byte[count],0
cmp ecx,0
ja .backloop
.veg:
mov ebx,esi
mov edx,edi
pop edi
pop esi
pop eax
pop ebp
pop eax
mov eax,ebx
mov ecx,edx
ret
谢谢你,我工作的这几个小时,已经太累了。你帮了很多:)。你有没有可能解释一下如何运行一个24位位图?因为我检查了几个网站,它们彼此矛盾。 –
对不起,我不会有任何想法。 请您接受我的答案(如果我的回答是正确的),通过点击检查答案的左边? :) – phillid