这是整个文件,disp_str
将在 *.c 文件中使用
我是 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 位格式。
这个代码是我在一本书中找到的。我猜这段代码是在屏幕上打印一个字符串,对吗?