這是整個文件和disp_str
將在* .c文件如何改變這種功能(disp_str)到64位版本
使用,我是新來的github。
如果我有這個文件的64位版本,我可以從中學習。
[SECTION .data]
disp_pos dd 0
[SECTION .text]
global disp_str
; ========================================================================
; void disp_str(char * info);
; ========================================================================
disp_str:
push ebp
mov ebp, esp
mov esi, [ebp + 8] ; pszInfo
mov edi, [disp_pos]
mov ah, 0Fh
.1:
lodsb
test al, al
jz .2
cmp al, 0Ah
jnz .3
push eax
mov eax, edi
mov bl, 160
div bl
and eax, 0FFh
inc eax
mov bl, 160
mul bl
mov edi, eax
pop eax
jmp .1
.3:
mov [gs:edi], ax
add edi, 2
jmp .1
.2:
mov [disp_pos], edi
pop ebp
ret
因爲我的電腦是64位的,所以我需要將它轉換爲64格式。
此代碼是由我在書中找到的。 我猜這個代碼是在屏幕上打印一個字符串,是不是?
我建議你簡單地將函數轉換回C然後用64位編譯器編譯它。 – sh1
你知道,這段代碼是我在書中找到的。我不知道「轉換回C」是什麼意思? –