不好意思 我是汇编菜鸟 请教NASM问题(内有代码)

发布于 2022-09-29 17:36:56 字数 4064 浏览 17 评论 0

_szPMMessage:                        db        "In Protect Mode now. ^-^", 0Ah, 0Ah, 0        ; 进入保护模式后显示此字符串
szPMMessage                equ        _szPMMessage        - $$
push        szPMMessage
;------------------------------------------------------------------------
; 显示一个字符串
; ------------------------------------------------------------------------
DispStr:
        push        ebp
        mov        ebp, esp
        push        ebx
        push        esi
        push        edi

        mov        esi, [ebp + 8]        ; pszInfo
        mov        edi, [dwDispPos]
        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        [dwDispPos], edi

        pop        edi
        pop        esi
        pop        ebx
        pop        ebp
        ret
; DispStr 结束------------------------------------------------------------

请问mov        esi, [ebp + 8]什么意思  push  szPMMessage 后栈顶是什么  还有中间段红字是什么意思..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无声情话 2022-10-06 17:36:56

你是看不明这些指令,还是不明白它表达的内容是什么?

蔚蓝源自深海 2022-10-06 17:36:56

看不明白指令....

嘿看小鸭子会跑 2022-10-06 17:36:56

[EBP+8]的值传送到ESI寄存器,后面的自己找本罗云彬老师的网上教程自学啦!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文