当前位置: 首页 > wzjs >正文

农村网站建设补助广州网站制作公司 番禺

农村网站建设补助,广州网站制作公司 番禺,百度代理公司查询,网络服务设备有哪些接续上文:微机原理与接口技术,期末冲刺复习资料(二)-CSDN博客 点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!! 持续关注我~~~主页,查看…

接续上文:微机原理与接口技术,期末冲刺复习资料(二)-CSDN博客

点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!!

持续关注我~~~主页,查看更多内容哟(希望你能在这里有所收获🤭)。点关注,不迷路,哈哈哈!~~~

主页:一位搞嵌入式的 genius-CSDN博客

目录

点关注不迷路哟。你的点赞、收藏,一键三连,是我持续更新的动力哟!!!

4. 汇编语言程序设计

4.1 汇编语言源程序

4.1.1 汇编语言源程序的结构

4.1.2 汇编语言语句类型及格式

4.2 伪指令

4.2.1 数据定义伪指令

4.2.2 符号定义伪指令

4.2.3 段定义伪指令

4.2.4 结束伪指令

4.2.5 过程定义伪指令

4.2.6 宏命令伪指令

4.2.7 调整偏移量伪指令

4.2.8 设定段寄存器伪指令

4.2.9 汇编语言源程序结构

4.3 系统功能调用

4.3.1 DOS调用和BIOS调用的基本步骤

4.4 汇编语言程序设计

4.5 重点考点题型


4. 汇编语言程序设计

主要需要掌握内容如下

  1. 汇编语言源程序的结构

  2. 汇编语言语句格式

  3. 伪指令

  4. 功能调用

  5. 汇编语言程序设计

4.1 汇编语言源程序

了解:

  1. 汇编语言源程序的结构

  2. 汇编语言语句类型及格式

4.1.1 汇编语言源程序的结构

首先我们需要区分:汇编语言源程序和汇编程序

  1. 汇编语言源程序:助记符编写

  2. 汇编程序:源程序的编译程序


汇编语言程序设计与执行过程:

输入汇编源程序产生:ASM文件
汇编产生:目标文件.OBJ
链接产生:可执行文件.EXE
调试最终程序

4.1.2 汇编语言语句类型及格式
  1. 汇编语言语句类型:

    1. 指令性:CPU执行,生成目标代码

    2. 指示性:CPU不执行,由汇编程序执行,不生成目标代码

  2. 格式:

    1. 注意

      1. 标号后面有冒号,名字后面没有

      2. 二者均在指示性语句前

    2. 操作数:

      1. 寄存器

      2. 存储器单元

      3. 常量:数字常量;字符串常量(单引号引起的

      4. 变量或标号

        1. 变量:

          代表内存中的数据区,程序中视为存储器操作数。

        2. 标号:

      5. 表达式:

        1. 算术运算

        2. 逻辑运算

        3. 关系运算

        4. 取值运算和属性运算:

          示例:

          MOV AX,SEG DATA MOV DS,AX MOV BX,OFFSET DATA

          其中:OFFSET DATA等价于LEA BX,DATA

        5. 其它运算

          方括号: [ ] → 方括号中内容为操作数的偏移地址

          段重设符 段寄存器名:[ ] → 用于修改默认的段基地址

4.2 伪指令

掌握:伪指令的格式、操作及应用

  • 由汇编程序执行的“指令系统

  • 作用:

    • 定义变量;

    • 分配存储区

    • 定义逻辑段;

    • 指示程序开始和结束;

    • 定义过程等。

  • 常用伪指令:

    • 数据定义伪指令

    • 符号定义伪指令

    • 段定义伪指令

    • 结束伪指令

    • 过程定义伪指令

    • 宏命令伪指令

4.2.1 数据定义伪指令
  1. 用处:定义数据区中的变量大小和类型

  2. 格式

    注意:变量的类型及其操作数的个数决定了该变量所在内存空间的大小

  3. 数据定义伪指令助记符

    • DB 定义的变量为字节型

    • DW 定义的变量为字类型(双字节)

    • DD 定义的变量为双字型(4字节)

    • DQ 定义的变量为4字型(8字节)

    • DT 定义的变量为10字节型

      举例:

      DATA1 DB 11H,22H,33H,44H DATA2 DW 11H,22H,3344H DATA3 DD 11H*2,22H,33445566H

      以上事例在内存中的分布:

  4. 说明:

    1. 伪指令的性质决定了变量的类型

    2. 定义字符串不需要DB伪指令

  5. 重复操作符:

    1. 作用: 为一个数据区的各单元设置相同的初值

    2. 目的: 常用于声明一个数据区

    3. 格式: [变量名] 伪指令助记符 n DUP(初值,…)

      n是重复次数

  6. ?的作用

    表示随机值,用于预留存储空间

    随机数占1个字节单元

4.2.2 符号定义伪指令

将表达式的值赋给一个名字。当源程序中需多次引用某一表达式时,可以利用EQU伪指令,用一个符号代替表达式,以便于程序维护。

格式: 符号名 EQU 表达式 操作: 用符号名取代后边的表达式,不可重新定义 例: CONSTANT EQU 100 VAR EQU 30H+99H

注意:

EQU说明的表达式不占用内存空间

4.2.3 段定义伪指令

说明逻辑段的起始和结束; 说明不同程序模块中同类逻辑段之间的联系形态

定位类型:

PARA: 段的起点从节边界开始 (16个字节为1节) PAGE: 段的起点从页边界开始 (256个字节为1页) BYTE: 段的起点从存储器任何地址开始 WORD:段的起点从偶地址开始

组合类型:

与其它模块中的同名段在满足定位类型的前提 下具有的组合方式: NONE: 不组合 PUBLIC: 依次连接(顺序由LINK程序确定) COMMON: 覆盖连接 STACK: 堆栈段的依次连接 AT 表达式:段定义在表达式值为段基的节边界 MEMORY: 相应段在同名段的最高地址处。

4.2.4 结束伪指令

表示源程序结束 格式: END [标号]

4.2.5 过程定义伪指令

用于定义一个过程体 格式: 过程名 PROC [ NEAR / FAR ] ┇ RET 过程名 ENDP

过程名:过程入口的符号地址

4.2.6 宏命令伪指令

当 源程序中需要多次使用同一个程序段时,可以将该程序段定义为一个宏 格式: 宏命令名 MACRO <形式参数> ┇ ┇(宏体) ENDM

示例:

4.2.7 调整偏移量伪指令

用处:规定程序或变量在逻辑段中的起始地址

默认情况下:偏移地址为0

利用ORG指令,可以改变起始偏移地址

  1. 格式: ORG 表达式(非负常数

  2. 例:

    DATA SEGMENT

    ORG 1200H

    BUFF DB 1,2 DATA ENDS

    以上代码表示的是:变量BUFF的偏 移地址=1200H

4.2.8 设定段寄存器伪指令

说明所定义逻辑段的性质 格式: ASSUME 段寄存器名:段名[,段寄存器名:段名,…]

4.2.9 汇编语言源程序结构

4.3 系统功能调用

DOS中断包括: 设备管理,目录管理,文件管理,其它 在某些情况下,同样的功能既可选择DOS中断,也可选择BIOS中断

4.3.1 DOS调用和BIOS调用的基本步骤
  1. 将功能号装入AH;

  2. 将调用参数装入指定的寄存器;

  3. 按中断类型号调用DOS或BIOS中断(DOS:21H, BIOS:10H/13H/16H) ;

  4. 检查返回参数是否正确。

一、DOS功能调用

说明:

  1. DOS中断是包含多个子功能的功能包;

  2. 各子功能用功能号区分;

  3. 用软中断指令调用,中断类型码固定为21H。

    调用格式: MOV AH,功能号 <置相应参数> INT 21

  1. 键盘输入-单字符输入(1号)

    通过调用字符输入子功能,可接收从键盘上输入的字符,并以对应的ASCII码形式存放。 调用方法: MOV AH,01 INT 21H 输入的字符存放在AL中

  2. 键盘输入-字符串输入(10号)

    调用格式:

    用户自定义缓冲区格式:

  3. 显示输出-单字符(2号)

  4. 输出显示-字符串(9号)

    注意点:

    1. 被显示的字符串必须以‘$’结束;

    2. 所显示的内容不应出现非可见的ASCII码;

    3. 若考虑输出格式需要,在定义字符串后,加上回车符和换行符。

  5. 返回操作系统(DOS)功能

    功能号: 4CH 调用格式: MOV AH,4CH INT 21H 功能: 程序执行完该2条语句后能正常返回OS 常位于程序结尾处。

二、BIOS功能调用

通过中断指令调用相应的BIOS中断服务程序 BIOS中断服务程序实际上是一些对端口的输入输出操作,是微机系统中软件与硬件之间的一个可编程接口。

三、总结

均通过中断指令调用。1个中断类型码对应1个功能程序包; 每个程序包中的子功能通过功能号区分,调用时功能号须送AH; 部分功能既可用DOS中断也可以用BIOS中断; 注意不同子功能的入口/出口参数要求; DOS和BIOS中断均可能影响AX。

4.4 汇编语言程序设计

设计步骤: 根据实际问题抽象出数学模型 确定算法 画程序流程图 分配内存工作单元和寄存器 程序编码 调试

汇编语言程序控制结构的设计

4.5 重点考点题型

一、汇编语言源程序(结构、语句、执行流程)

重点知识:

  • 区分汇编语言源程序与汇编程序;

  • 熟悉汇编程序从 .ASM.EXE 的编译链接调试全过程;

  • 掌握指令语句格式,如 MOV AX, BX

  • 区分汇编语句类型:指令、伪指令、注释。

常见题型:

  • 选择题/判断题:汇编语言源程序经过哪些处理步骤才能执行?

  • 填空题:源程序编译后会生成哪个中间文件(答案:.OBJ)。

  • 简答题:汇编语言的三类语句及其作用是什么?


二、伪指令(重点考点)

伪指令是考试高频点,理解其不生成机器代码但指导编译器工作的本质,是答题关键。

考试高频伪指令及考法:

  1. 数据定义类(如 DB, DW, DD

    • 题型:填空/选择/编程题中使用初始化变量或数组。

    • 示例题:DATA DB 10H, 20H 定义了几个字节?(答案:2)

  2. 符号定义(EQU)

    • 题型:填空/选择题;理解 EQU 不占内存。

    • 示例题:VAR EQU 30H+10H,VAR 值是多少?是否占内存?(答案:40H;不占内存)

  3. 段定义伪指令(SEGMENT/ENDS)

    • 题型:解释段的结构或编写段定义。

    • 要求明确段的组合方式(PUBLIC、COMMON)及定位方式(PARA、PAGE、BYTE)

  4. ORG(偏移调整)

    • 题型:编程题考你定义特定偏移位置的变量。

    • 示例:ORG 100H 表示从哪儿开始布局变量?

  5. ASSUME(段寄存器设定)

    • 题型:选择/填空题;要求写出正确的段寄存器与段名对应关系。

    • 示例题:为何程序执行前要使用 ASSUME CS:CODE, DS:DATA

  6. 过程定义与调用(PROC/ENDP)

    • 题型:编程题;判断 CALL 使用的是 NEAR 还是 FAR 调用。

    • 示例:写一个带过程调用的完整汇编程序。

  7. 宏定义(MACRO/ENDM)

    • 题型:简答题或程序重构题,考查宏命令重复使用逻辑。

    • 要求你将一段重复程序段改写成宏。


三、系统功能调用(DOS与BIOS中断)

这一部分是汇编与系统编程的交汇点,也是考试中常出简答题、填空题和编程题的核心内容。

考点汇总:

  1. DOS中断 INT 21H 调用流程

    • 设置功能号到 AH

    • 根据功能号设置参数

    • 使用 INT 21H 调用

  2. 常见 DOS 功能号

    • AH=01H:输入一个字符

    • AH=02H:输出一个字符(DL 中)

    • AH=09H:显示字符串,以 $ 结尾

    • AH=4CH:程序正常返回

  3. BIOS 中断(如 INT 10H)

    • 操作显示器、键盘等硬件。

    • 常用于字符/光标控制。

常见题型:

  • 选择题INT 21H 实现哪个功能时需设置 AH=4CH?(答案:程序返回)

  • 填空题AH=09H 功能需要将字符串以哪种符号结尾?(答案:$

  • 编程题:编写程序输出一串字符并等待按键退出。


四、汇编程序设计思路与结构控制

重点内容:

  • 设计流程:需求→算法→流程图→内存与寄存器分配→编码调试;

  • 程序控制结构:条件判断(CMP, JZ, JNZ)、循环(LOOP, DEC/JNZ)、过程调用;

  • 数据结构:数组、变量定义;

  • 寄存器使用:AX/BX/CX/DX、SP、BP 以及段寄存器。

常见题型:

  • 简答题:简述汇编程序的设计流程。

  • 程序分析题:给一段含 CMP, JZ, LOOP 的程序,问其执行逻辑。

  • 程序设计题:如:

    • 编写程序比较两个数的大小;

    • 输出一个字符串;

    • 实现循环累加功能;

    • 使用 INT 21H 实现用户交互。


五、考题类型分布预测

题型占比典型内容
判断/选择题30%概念识别、指令功能、伪指令用途、DOS功能号、指令结构
填空题20%段定义/偏移、寄存器对应、参数设置
简答题20%设计流程、伪指令解释、BIOS与DOS中断区别
程序阅读题10%分析代码逻辑、寄存器变化、内存地址使用情况
程序设计/编程题20%基于伪指令、调用过程、中断编写简易功能程序(如字符输出、数组求和、条件判断等)


总结与备考建议

  1. 牢固理解伪指令的语义和用法,这是填空与编程题的基础;

  2. 熟记 DOS 常用功能号与中断号调用方式

  3. 多做程序设计题,熟悉 AX、BX、CX 等寄存器用途和中断输入输出规则

  4. 掌握段与偏移、堆栈、过程调用的配套关系

  5. 最后强化调试思维:理解从 .ASM.EXE 的全过程,掌握调试思路如单步执行、观察寄存器变化等。


文章转载自:

http://TrLpxcbn.tztgq.cn
http://JPFZywON.tztgq.cn
http://AVl9f1XH.tztgq.cn
http://6MTepzdg.tztgq.cn
http://p0s29ZoS.tztgq.cn
http://HCskqYrK.tztgq.cn
http://UMc1xYAg.tztgq.cn
http://bkRYEQDQ.tztgq.cn
http://QUSnnp9s.tztgq.cn
http://XJF3rTiD.tztgq.cn
http://OscghEtw.tztgq.cn
http://N8gtC4M6.tztgq.cn
http://ilaDgweT.tztgq.cn
http://siBZk2YT.tztgq.cn
http://NaUm8amb.tztgq.cn
http://ZttYs5Vq.tztgq.cn
http://cb5gVNvR.tztgq.cn
http://fp30ibIR.tztgq.cn
http://dLQKIduL.tztgq.cn
http://YFfWT2jB.tztgq.cn
http://Km3YXhTC.tztgq.cn
http://h1dxGD9k.tztgq.cn
http://CI6ZEsK1.tztgq.cn
http://XSK6ZlNH.tztgq.cn
http://TwE0D0Ey.tztgq.cn
http://MkGu2bqa.tztgq.cn
http://diSOXMNg.tztgq.cn
http://tn5EsOA1.tztgq.cn
http://ZEKEEUw9.tztgq.cn
http://UgBSGIOO.tztgq.cn
http://www.dtcms.com/wzjs/621647.html

相关文章:

  • 西宁网站建设兼职怎么生成链接
  • 成化区建设局网站平面设计有几个软件
  • 哪个免费自助建站系统最好用山东已经宣布封城的城市2022年
  • 扬州市建设局网站 竣工备案台州网站注册 公司
  • 外贸 企业网站 建设郑州市政务公开
  • 电子商务网站开发软件股票查询网站模板 wordpress
  • 51网站哪里去了建e网室内设计网图片
  • 目前热门的网站建设语言无忧网站优化
  • 做评测系统网站首先要干嘛如何对自己建设的网站进行推广
  • 网站建站和项目部署一样吗微信公众号怎么制作网页
  • 内力网站建设买域名不建网站
  • 中国第四冶金建设有限公司官方网站我要恢复百度
  • 做网站设计哪里有汕头seo代理
  • 怎么做百度自己的网站空间wordpress 随机名言插件
  • 一个企业可以做多个网站吗哪些网站上可以做seo推广的
  • 域名注册网站免费wordpress下载远程图片
  • 经典企业网站欣赏承德网站设计公司
  • 浙江省建设厅网站证件苏州工业园区最新通告
  • 网站公司说我们做的网站服务器不够用舞钢市做网站开发的公司
  • 网站建设广告投放是什么教育直播网站建设
  • 做网站公司销售开场白哪些网站是react做的
  • 招商网站建设网网页设计与网站建设设计报告
  • 网站开发济南网站的音乐链接怎么做
  • 衡阳网站建设专家济南企业自助建站
  • 自建网站工具wordpress与商城
  • 冀州网站优化网站建设的er图
  • 电子商务网站建设需求说明书打造一个app需要多少钱
  • 宁波关键词网站排名有服务器怎么做网站
  • 免费推广网站大全下载栖霞网站建设
  • 网站建设与管理教案怎么写十大热门网页游戏排行