zoukankan      html  css  js  c++  java
  • 汇编学习总结一(10.27)

    今天,学习了网上的汇编视频教程,非常好,有可能据王爽本人,据说他的《汇编语言》是很经典的数据,之所以学习是想了解一下计算机底层是怎么运行的,倒不是说要拿汇编来做嵌入式,因为现在的编译器已经比我们强多了。


    学习汇编的念头是前几天看了《c语言标准和实现》的附录里面提到汇编的只知识,所以还是学习一下,帮助自己家人计算机内功,网上也有说csapp的第三章就是讲述汇编语言的,到时候可以拿来看看。


    手头上基本都是win10系统,64位,而汇编教程基本上都是32位,而且是不兼容的,只能使用虚拟机或dosbox来模拟x86平台,因此自己之前用过dosbox,就沿用了这个工具。


    这个工具很好下载,官网即刻,安装也简单。


    汇编工具,主要是masm,这个是微软自己的,nasm是开源汇编工具。可以在linux和Windows下运行,目前知乎上有nasm的教程,主要是讲述和c语言的关联,在linux下学习。而视频教程中比例比例上,是masm+debug。


    学习怎么编译。
    1、dsosbox自动mount,可以配置后实现这个功能。
    2、进入系统,将asm文件放入masm同目录下。
    3、masm xx.asm
    4、link xx.obj
    5、xx.exe回车即可运行


    debug的使用
    -u查看机器码
    -r查看寄存器数值
    -a写汇编指令
    -t执行


    目前学到了三种总线:地址总线,控制总线,数据总线
    鼠标键盘通过端口port和cpu通信,使用input out
    内存空间:包括显存、内存


    写数据其实就是往寄存器写数据,进而控制cpu,从而由cpu控制显示,数据计算等
    寄存器为了兼容以前的程序指令,ax等都是16位,ax=AH+AL,计算的时候,数据宽度要一直,否则会出错。
    masm的版本使用5.0即可,反正用dosbox模拟的。

  • 相关阅读:
    CRM更新行数量汇总的一些注意点
    [转]IT人从业方向
    地球撞击
    如何将Dynamic CRM Activities添加到VS工具箱
    linux本地 yum环境建立
    【转】根据条件修改GridView命令按钮显示的文字
    【转】Asp.net 2.0三层架构的构建与理解
    GridView的常用用法总结说明
    IE中的奇怪问题
    解决打不开 RSA 密钥容器 即:加密web.config中的内容
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/11748987.html
Copyright © 2011-2022 走看看