当前位置:  技术问答>linux和unix

帮我分析一下这段代码

    来源: 互联网  发布时间:2016-05-29

    本文导语:  Dispstr: push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp + 8]    mov edi, [Dispposdw]  ; Dispposdw 是事先定义好,用来存储显示位置 mov ah, 0Fh .1: lodsb    ;      test al, al  ; jz .2 cmp al, 0Ah ; 是回车吗? jnz ...

Dispstr:
push ebp
mov ebp, esp
push ebx
push esi
push edi

mov esi, [ebp + 8]   
mov edi, [Dispposdw]  ; Dispposdw 是事先定义好,用来存储显示位置
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 [Dispposdw], edi

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


这个代码来自《自己动手写操作系统》96页
这是个子程序,用来显示一个字符串
问题如下:
1、为什么ebp+8才是字符串的地址
2、文中160的作用是什么?


|
那個是和顯存地址有關係的。在控制台下,屏幕是80*25的,你就想像成80*25個格子,輸出的時候就是往這些格

子裏面放字符。而一個格子由兩個字節組成,其中一個字節表示的是這個格子存的什麽字符;另一個字節平分成

兩部份,保存所存字符的屬性,也就是前景色和背景色。這樣一個格子就是兩個字節了,所以一行就是80*2=160

個字節了。

    
 
 

您可能感兴趣的文章:

  • Java 代码分析工具 JHawk
  • Linux源代码哪本书分析的好一点??
  • 请问哪一本LINUX源代码分析的书比较经典?
  • 请介绍几本分析Linux源代码的好书,谢谢!
  • C代码分析工具 Frama-C
  • Linux源代码的分析!!!!
  • Java代码覆盖测试分析工具 Clover
  • 有同志读过《linux原代码情景分析》吗?
  • 源代码管理分析工具 Source Navigator
  • 哪本linux源码分析的书里详细讲解了Linux的核心启动代码
  • C/C++代码静态分析插件 SourceInsight_Scan
  • Java代码Bug分析插件 FindBugs
  • C++代码分析器 CppCat
  • 哪里有LINUX源代码分析的文章吗?万分紧急!
  • C/C++代码分析工具 cppcheck
  • 应该怎样学《莱昂氏UNIX源代码分析》
  • 哪里能够下载《Linux 内核源代码情景分析》,100分相送
  • 请问关于syslog工作原理和源代码分析的资料
  • 求《Linux内核代码情景分析》电子版
  • 有谁对nagios 的原代码做过分析的,给小弟点帮助啊
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • HASH查找的程序实现及性能分析
  • 如何获取shell词法分析,语法分析及解释器的内容和信息
  • http协议介绍,文件上传分析及程序举例
  • 两台机器同时出现同样的故障,有人能帮分析分析吗?
  • linux下free命令显示的内存使用情况分析
  • 请教高手帮我分析分析!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 我想编程分析任意一个java文件,把其中的注释部分删掉,请帮我分析一下思路和方法好吗?
  • Docker支持更深入的容器日志分析
  • 如何分析linux宕机原因(或者说如何通过查日志分析宕机原因)
  • mongodb的优点和缺点详细分析
  • Python的词法分析与语法分析
  • Docker容器分析----好处和缺点介绍
  • 大家帮我分析分析:Samba的配置问题
  • docker源码分析之容器日志处理与log-driver实现
  • ubuntu 下安装libpcap 的时候make时候出错 请帮忙分析分析
  • c/c++服务器程序内存泄露问题分析及解决
  • 显微镜数据分析 Gwyddion
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 可视化数据分析 ParaView
  • Mysql大表查询优化技巧总结及案例分析
  • 复杂网络分析平台 Gephi


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3