汇编程序设计之第三章 汇编语言程序格式

2024-06-13 14:52

本文主要是介绍汇编程序设计之第三章 汇编语言程序格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 汇编语言源程序
    • 语句格式
    • 汇编语言源程序框架
    • DOS系统功能调用
  • 参数、变量和标号
    • 数值型参数
    • 变量定义伪指令
      • 常数
      • 表达式
      • 字符串
      • dup
      • 定义伪指令
    • 变量和标号的属性
      • 合成操作符
        • ptr
        • this
  • 程序段的定义和属性
    • DOS的程序结构
    • COM
    • 完整段定义
      • 地址计数器$的使用
    • 简化段定义伪指令

汇编语言源程序

语句格式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

汇编语言源程序框架

在这里插入图片描述

  • 注意:每一个段的定义,其中code segment 里面有一个start 的开始标志,并且这个end start 是在code ends 的下一条指令

在这里插入图片描述

DOS系统功能调用

  • DOS功能调用:编了号的可由程序员调用的子程序

在这里插入图片描述
DOS 系统功能调用的一般方法如下:
(1)在寄存器 AH 中设置系统功能调用号,说明选择的功能
(2)在指定寄存器中设置入口参数
(3)用中断调用指令 INT 21H 执行功能调用
(4)根据出口参数分析功能调用的执行情况
在这里插入图片描述

参数、变量和标号

数值型参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

变量定义伪指令

在这里插入图片描述

常数

  • 注意区分内存对于不同字节的数据的存储

在这里插入图片描述

  • 我们可以看到,由于是小端存储,也就是数据的低位存在内存中的低地址,以dd 18h为例子,可以看到低位一个字节是18h,高位的三个字节是00h

表达式

  • 表达式本身就代表内存单元的地址
    在这里插入图片描述

字符串

  • 字符串存储各字符的ASCII码
  • 当字符串中的字符多余一个的时候,只能使用db进行定义
    在这里插入图片描述

  • 只分配单元,并没有赋初值
    在这里插入图片描述

dup

  • dup:前面跟一个数字,表示dup包含的操作重复的次数
    在这里插入图片描述
    在这里插入图片描述

定义伪指令

在这里插入图片描述

变量和标号的属性

在这里插入图片描述

  • TYPE没啥问题,要注意的是LENGTH :是专门用于计算分配给DUP定义的变量的单元数的,其余变量的LENGTH都是1,size = type * length

合成操作符

ptr

在这里插入图片描述

在这里插入图片描述

this

在这里插入图片描述

程序段的定义和属性

DOS的程序结构

在这里插入图片描述
在这里插入图片描述

COM

在这里插入图片描述
在这里插入图片描述

完整段定义

  • 注意段的默认关键字,同时段是用segment 和 ends来控制的
    在这里插入图片描述
    在这里插入图片描述
  • 可以看到,从byte , word,dword,para,page 分别是从字节,字,双字,段,页 一直变大

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

地址计数器$的使用

在这里插入图片描述

  • 要看是db还是dw 单位!!!

简化段定义伪指令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于汇编程序设计之第三章 汇编语言程序格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057621

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试