打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
汇编语言入门(一)

学习汇编语言以 Intel 8086 CPU 为基础会更容易掌握。

要知道,微型计算机的字长与微处理器的寄存器位数有关。

  • 以 Intel 80X86 系列微处理器为例,CPU 是 8086/8088、80286 的字长是 16 位(二进制位 bit),那么它们的寄存器的位数一定是 16 位的;
  • 32 位字长的微机 CPU 是 80386/80486 或者 Pentium 系列,它们的寄存器的位数则是 32 位的。

学习汇编语言我们会用到十六进制(H)的数据形式,要使自己尽快习惯用十六进制来思维。在汇编语言中,数值后面分别用字母B、H、D代表二进制(Binary)、十六进制(Hexadecimal)、十进制数(Decimal)(十进制数可以省略 D)。

在计算机中还规定采用字节、字、双字等单位来表示数据。

  • 字节(Byte):8 位二进制数。如 00000101B 或表示成 05H;10000101B 或表示成 85H。
  • 字(Word):16 位二进制数,等于 2 字节。如 1100010111010110B 或表示成 C5D6H。
  • 双字(Double Word):32 位二进制数,又称为双精度数,等于 4 字节。如 23456789H。

在汇编语言中,内存是非常重要的学习内容。我们先要对内存地址和存储单元的概念进行学习。

对存储单元的标识可以用物理地址或逻辑地址表示。

(1)物理地址

物理地址是内存单元的真实地址,存储单元的物理地址是唯一的。

Intel 8086 CPU 有 20 根地址线,因此其存储空间可达 2 的 20 次方 = 1 M 个字节单元(1MB)。地址都是从 0 开始的,在 20 位地址线的存储空间中采用十六进制表示的物理地址范围是 00000H ~ FFFFFH。

(2)逻辑地址

逻辑地址是用户编程时使用的地址,分为段地址和偏移地址两部分。

在 8086 汇编语言中,把内存地址空间划分为若干逻辑段,每段由一些存储单元构成,每段最大为 65536 个字节单元(0 号单元~65535 号单元 0000H~FFFFH)。用段地址指出是哪一段,偏移地址标明是该段中的哪个单元。段地址和偏移地址都是 16 位二进制数。

逻辑地址的形式:段地址:偏移地址。

(3)逻辑地址转换为物理地址

用户编程时采用的逻辑地址在 CPU 执行程序时都要转换成实际的物理地址,这个转换过程是由 CPU 中的地址加法器自动完成的。

转换时先将 16 位的段地址左移 4 位,相当于乘以 16 或十六进制的 10H,再和偏移地址相加。转换公式为:

物理地址 = 段地址 × 10H + 偏移地址

例:若某单元的逻辑地址为 0001:0002H,其物理地址 = 0001H × 10H + 0002H = 00012H;另一单元的逻辑地址为 3020:055AH,其物理地址 = 3020H × 10H + 055AH = 3075AH。

存储器逻辑分段类型如下:

  • 代码段:用于存放指令,段地址存放在段寄存器 CS。
  • 数据段:用于存放数据,段地址存放在段寄存器 DS。
  • 附加段:用于辅助存放数据,段地址存放在段寄存器 ES。
  • 堆栈段:是重要的数据结构,可用来保存数据、地址和系统参数,段地址存放在段寄存器 SS。

在 DOS 操作系统和 Windows 操作系统中,都提供了调试工具 DEBUG。

DEBUG 是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为程序员提供了非常有效的调试手段。利用它可以观察和修改 CPU 的寄存器、内存单元;可以跟踪程序的运行,发现程序的错误。

DEBUG 命令有 20 多个,我们主要学习最常用的命令。

  • R ——查看和修改寄存器
  • D ——查看内存单元
  • E ——修改内存单元
  • U ——反汇编,将机器指令变为汇编指令
  • T / P ——单步执行
  • G ——连续执行程序
  • A ——输入汇编指令
  • Q ——退出

简单的 DOS 命令:

  • cd\ ——首先要用 cd\ 退回到根目录 C> 下
  • dir ——显示文件列表
  • md hb ——建立 hb 子目录
  • cd hb ——进入 hb 子目录
  • copy d:\dos\masm.exe c:\hb ——将 D 盘 dos 目录下的 masm.exe 拷贝到 C 盘 hb 目录下
  • copy d:\dos\link.exe c:\hb ——将 D 盘 dos 目录下的 link.exe 拷贝到 C 盘 hb 目录下
  • cd .. ——退回到上一级目录
  • del \hb\masm.exe ——删除 hb 子目录中的某文件
  • rd hb ——删除 hb 子目录(子目录中的所有文件必须先删除)
  • e: ——进入 e 盘
  • cls ——清屏
  • type ——显示文本文件内容(如 type c:\hb\abc.asm)

注意:DOS 和 DEBUG 命令都支持不区分大小写。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
汇编语言学习笔记之存储器的管理模式
操作系统原理:详解汇编语言基础知识(图文代码)
系统集 45
汇编语言上机指导及例示
0基础学Java(二)开发环境搭建-常见的DOS命令大全(续)
我也要学汇编语言-第一课:机器语言编程 - dodolook - 博客园
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服