跟大家一起复习汇编语言之一(实模式)【原创】

本文详细介绍了汇编语言的基础知识,包括汇编的性质、应用、数值数据类型、8086体系结构、寻址方式、指令系统等。通过实例展示了汇编语言在实模式下的工作原理,探讨了数据的存储、处理和寻址方法,以及汇编指令的使用,旨在帮助读者理解汇编语言的重要性并掌握基本操作。
摘要由CSDN通过智能技术生成
跟大家一起复习汇编语言之一(实模式)【原创】
前沿:今年的前些时候,在杂志的一篇文章看到如下一句:“掌握汇编,仍是高手必经之路”。然而在实际的学习中,汇编往往因为其应用太难而被初学者忽视。熟悉汇编语言,将是自己在软件调试时的“倚天剑”,重要性实不言而喻。也有很多在学习的过程中几次三番,最终退却。希望这一篇文章可以与你一起,重拾汇编这把双刃剑。文档转载请注明“天衣有缝”原创。
 
0.本文讲述汇编语言的基础知识,寻址方式,指令系统,宏汇编,结构化程序设计,堆栈,函数,中断等知识
 
1. 汇编简介
汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。汇编语言虽然较机器语言直观,但仍然烦琐难懂。于是人们研制出了高级程序设计语言。高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。
 
汇编语言的特点
(1)汇编语言与处理器密切相关。
(2)汇编语言程序效率高。
(3)编写汇编语言源程序比编写高级语言源程序烦琐。
(4)调试汇编语言程序比调试高级语言程序困难。
 

汇编语言的主要应用场合
(1)程序执行占用较短的时间,或者占用较小存储容量的场合。
(2)程序与计算机硬件密切相关,程序直接控制硬件的场合。
(3)需提高大型软件性能的场合。
(4)没有合适的高级语言的场合。
2. 数值数据
数值数据分为有符号数和无符号数。无符号数最高位表示数值,而有符号数最高位表示符号。有符号数有不同的编码方式,常用的是补码。

n位二进制数能够表示的无符号整数的范围是:
0 ≤I ≤ 2n-1
n位二进制数能够表示的有符号整数的范围是:
-2(n-1) ≤ I ≤+2(n-1)-1
ASCII码
标准ASCII码用7位二进制数编码,共有128个。
计算机存储器基本单位为8位,ASCII码的最高位通常为0,通信时,最高位用作奇偶校验位。
ASCII码表中的前32个和最后1个编码是不能显示的控制字符,用于表示某种操作。
ASCII码表中20H后的94个编码是可显示和打印的字符,其中包括数码0~9,英文字母,标点符号等。
BCD码:
虽然二进制数实现容易,但不符合人们的使用习惯,且书写阅读不方便,所以在计算机输入输出时通常还是采用十进制来表示数,这就需要实现十进制与二进制间的转换。为了转换方便,常采用二进制编码的十进制,简称为BCD码。
BCD码就是用4位二进制数表示1位十进制整数。表示的方法有多种,常用的是8421BCD码。
3. 8086体系结构
 
总线接口部件(BIU)              执行部件(EU)
_________________               ___________________
|   段寄存器     |             |                   |
|________________|             |   通用寄存器组    |
|   指令指针     |             |                   |
|________________|             |___________________|
     ||     ||                      ||       ||
     ||     ||                      ||       ||
     ||     ||                      ||       ||
_________________                   ||       ||
|                |__________________________________________________
|   地址产生与   |________________________________________________  |
|   总线控制     |                  ||       ||                   | |
|________________|               __________________               | |
     ||     ||                  |     操作数       |              | |
     ||     ||                   __________________               | |
     ||     ||                      ||       ||                   | |
     ||     ||                      ||       ||                   | |
_________________               ___________________               | |
|                |             |                   |              | |
|     指令队列   |_____________|   标志寄存器      |______________| |
|                |_____________|                   |_______________ |
|________________|             |___________________|
                                    ||       ||
                                    ||       ||
                                    ||       ||
                                ___________________
                               |                   |
                               |     逻辑算术单元  |
                               |                   |
                                ___________________

 
4. 8086寄存器组
  AX: 累加器,常用于保存临时数据                  §
  BX:基址寄存器,主要用作指针,也可用作数据存储  §__数据寄存器______§
  CX: 计数器                                      §                  §
  DX: 数据寄存器,用于端口操作或临时数据          §                  §
                                                  §                  §_通用寄存器
  SP: 堆栈指针,指向堆栈当前地址                   §__堆栈指针寄存器__§
  BP: 基址指针,常用于指向高级语言堆栈帧          §                  §
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值