微机原理与接口技术_第4章汇编语言程序设计(1)
《微机原理与接口技术》课程标准
炎黄技工学校《微机原理与接口技术》教学大纲理论课时36实践课时36总课时72考核形式考查编写时间2022-03编写人审核人机电信息工程系计算机技术教研室编《微机原理与接口技术》课程标准课程名称:微机原理与接口技术适用专业:计算机网络应用课程学分:4学分计划学时:72学时一、课程概述1、课程性质与任务本课《微机原理与接口技术》是计算机专业的一门重要的专业课,它的前续课程有《电子技术基础》、《电路原理》通过本课程的学习,为后续课程《微机控制技术》打下良好的基础。
同时与毕业设计密切相关,为它提供了硬件和软件的基础。
本课程介绍了微型计算机原理及组成结构、微机接口的有关基本知识和实用技术、常用微机接口芯片的使用方法。
2、课程基本理念结合我们学生的实际情况,在平时的教与学中主要遵循以下的理念:(1)将专业课的学习与基础理论衔接,指导学生有针对性地预习;(2)帮助学生形成强烈兴趣;(3)指导学生了解课程教学目的,教师结合教学大纲和自己对课程的把握情况,阐明《微机原理与接口技术》的课程特点;(4)培养学生良好的学习习惯。
3、课程设计思路1、总体设计原则与思路:按照“以能力为本位,以职业实践为主线,以项目课程为主体的模块化专业设计课程体系”的总体设计要求,该门课程以形成电机与变压器的原理与性能指标、运行调试及维护维修等能力为基本目标,彻底打破学科课程的设计思路,紧紧围铙工作任务完成的需求来选择和组织课程内容,突出工作任务与知识的联系,让学生在职业实践活动的基础上掌握知识,增强课程内容与职业岗位能力要求的相关性,提高学生的就业能力。
2课程设计依据与评价方法:学习项目选取的基本依据是该门课程涉及的工作领域和工作任务范围,但在具体设计过程中,以自动化专业学生的就业为向导,根据行业专家对自动化专业所涵盖的的岗位群体进行的任务和职业能力分析,同时遵循中等职业学校学生的认识规律,紧密集合职业资格证书中相关考核内容,确定本课程的工作任务模块和课程内容。
微机原理与接口技术课后答案
计算机应用基础A第1章基础知识1.1 计算机中常用的计数制有哪些?解:二进制、八进制、十进制(BCD)、十六进制。
1.2 什么是机器码?什么是真值?解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。
1.3 完成下列数制的转换。
微型计算机的基本工作原理汇编语言程序设计微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。
解:(1)166,A6H(2)0.75(3)11111101.01B, FD.4H(4 ) 5B.AH, (10010001.011000100101)BCD1.4 8位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?解:原码(-127~+127)、(-32767~+32767)补码(-128~+127)、(-32768~+32767)反码(-127~+127)、(-32767~+32767)1.5 写出下列真值对应的原码和补码的形式。
(1)X= -1110011B(2)X= -71D(3)X= +1001001B解:(1)原码:11110011 补码:10001101(2)原码:11000111 补码:10111001(3)原码:01001001 补码:010010011.6 写出符号数10110101B 的反码和补码。
解:11001010,110010111.7 已知X和Y的真值,求[X+Y]的补码。
(1)X=-1110111B Y=+1011010B(2)X=56D Y= -21D解:(1)11100011(2)001000111.8 已知X= -1101001B,Y= -1010110B,用补码求X-Y 的值。
解:111011011.9 请写出下列字符的ASCII码。
4A3-!解:34H,41H,33H,3DH,21H1.10 若给字符4和9 的ASCII码加奇校验,应是多少?解:34H,B9H1.11 上题中若加偶校验,结果如何?解:B4H,39H1.12 计算下列表达式。
微机原理与接口技术-第4-1章
例4-3 用键盘最多输入10个字符,并存 入内存变量Buff中,若按“Enter”键,则 表示输入结束。
用BIOS层功能调用实现 层功能调用实现 的源程序: 的源程序: .MODEL SMALL CR EQU 0DH .STACK 200H .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff
Windows层功能模块的调用
Win32 API使用堆栈来传递参数 API函数调用 C语言的消息框函数的声明: int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style );//参数 最后还有一句说明: Library: Use User32.lib.//说明这个函数的位置
API 函数的返回值
有的API 函数有返回值,如MessageBox 定义 函数有返回值, 有的 的返回值是int类型的数,返回值的类型对汇编 的返回值是 类型的数, 类型的数 程序来说也只有dword 一种类型,它永远放在 一种类型, 程序来说也只有 eax 中。如果要返回的内容不是一个 如果要返回的内容不是一个eax所能 所能 容纳的, 容纳的,Win32 API 采用的方法一般是返回一 个指针, 个指针,或者在调用参数中提供一个缓冲区地 干脆把数据直接返回到缓冲区中去。 址,干脆把数据直接返回到缓冲区中去。
.REPEAT MOV AH, 0H INT 16H .BREAK .IF AL==CR MOV [BX],AL INC BX .UNTILCXZ .EXIT 0 END
微机原理总目录
※
14.2 PC/XT硬件结构 14.3 总线技术
※
◆实验指南
※
15.1 《微机原理与接口技术》课程上机简介
15.2 汇编语言上机指导
※
4.4
4.5 4.6
程序的段结构
地址表达式 宏定义与宏调用
※
※
◆汇编语言程序设计
※ 5.1
汇编语言软件开发步骤及输入/输出问题 顺序程序设计 分支程序设计
※ 5.2
※ 5.3
※ 5.4
循环程序设计
专题应用程序设计
※ 5.5
◆8086微处理器结构
※
6.1 6.2 6.3
8086微处理器工作模式与引脚功能 系统组成 8086的总线操作与时序
※
※
※
◆ 并行接口芯片8255A
※
10.1
10.2 10.3 10.4
8255A概述
8255A的控制字 8255A的工作方式 8255A的编程
※
※
※
◆串行通信
※
11.1
11.2 11.3
串行通信概述
RS-232C串行接口标准 异步通信接口芯片8250
※
※
◆ DMA 控 制 器 8237A
※
12.1 12.2 12.3
1微机原理与接口技术王丰王兴宝编著目录第一章基础知识第二章微型机算机的组成机工作原理第三章指令系统第四章masm伪指令系统第五章汇编语言程序设计第六章8086微处理器结构第七章半导体存储器第八章输入输出技术第九章中断第十章并行接口芯片8255a第十一章串行通信第十二章dma控制器8237a第十三章其他常用接口第十四章pc机系统结构及总线技术第十五章实验指南基础知识11数制12码制13常用数字逻辑器件微型机算机的组成机工作原理21微型机算机的组成机工作原理22pc机的编程结构指令系统
汇编语言程序设计方法
C 名字前加 下划线
从右到左 调用程序
是
SYSCALL
从右到左 被调用程序
是
STDCALL 名字前加
下划线 (注)
被调用程序
是
PASCAL 名字变大写
BASIC 名字大写
FORTRAN 名字大写
从左到右 被调用程序
是
从左到右 被调用程序
是
从左到右 被调用程序
是
12
PROTO是过程声明伪指令,用于事先声明过程的结构。它的格 式如下:
结束处理部分
AGAIN: ADD AX,CX
;从20,19,……2,1倒序累加到AX
LOOP AGAIN ;每循环一遍,CX自动减1
MOV SUM,AX ;将累加和送入SUM单元
.EXIT 0
END
初始化部分
循环结束? 是 否
工作部分 修改部分 结束处理部分
7
二、用MASM 6.x循环控制伪指令实现循环结构
.CODE
.STARTUP
MOV AL, B
IMUL AL
MOV BX,AX MOV AL,A
;BX中为B的平方
IMUL C
MOV CX,4
IMUL CX
;AX中为4AC
.IF SWORD PTR BX>=AX ;比较B的平方和4AC的大小
MOV SIGN,1
;条件成立,SIGN得到1
.ELSE
MOV SIGN,0
.IF 条件表达式 ;条件为真(非0),执行分支体
分支体
[.ELSEIF 条件表达式
分支体
;前面IF条件为假,并且当前ELSEIF条件为真执行分支体
[.ELSE
;前面IF条件为假执行分支体
第4章(1)微机原理与接口技术(第三版)(王忠民)
第四章 80x86 指令系统—立即数寻址方式
MOV AX, 1234H
程序存储器
AH AL
12H 34H 操作码字节 指
34H 令
12H
码
第四章 80x86 指令系统—寄存器寻址方式
2)寄存器寻址方式 操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本章主要内容
1 80x86指令的寻址方式(3讲) 2 80x86指令系统(5讲)
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本讲主要内容
1 寻址方式概述 2 数据寻址方式之一:
80 21H
操作码
代
21H
码
AL
段
80
第四章 80x86 指令系统—I/O端口寻址方式
⑵ 间接端口寻址方式 MOV DX, 1234H OUT DX, AL
I/O接口 0001H
DX
12
34
0002H
……
AL
80 1234H
80
Thank you!
感谢
谢谢,精品课件 资料搜集
第四章 80x86 指令系统—立即数寻址方式
1)立即数寻址方式 指令中的操作数直接存放在机器代码中,紧跟在操
作码之后(操作数作为指令的一部分存放在操作码 之后的主存单元中)
微机原理与接口技术-汇编语言程序设计
4.1.2 8086汇编语言源程序的格式
源程序的一般格式为: NAME1 SEGMENT
语句 语句 NAME1 ENDS NAME2 SEGMENT 语句 语句 NAME2 ENDS END <标号>
第四章 汇编语言 程序设计
4.2 语句的格式
第四章 汇编语言 程序设计
汇编语句分为指令语句和伪指令语句两类,一般都由分 隔符分成的 4 个部分组成。
HLT
;然后停机
NOT DONE : IN AL, PORT_VAL ;未超过时,输入下一字节
ADD SUM, AL
;与以前的结果累加
JMP CODE ENDS ;代码段结束
END START
;整个程序结束
可以看到,8086汇编的一个语句行是由4个部分组成,即
标号 操作码 操作数 ;注释(或名字)
普通高等学校计算机教育“十三五”
微机原理与接口技术
内容导航
CONTENTS
4.1 汇编语言的格式 4.2 语句的格式 4.3 伪指令语句 4.4 指令语句 4.5 汇编语言程序设计及举例
4.1 汇编语言的格式
4.1.1 8086汇编语言的一个例子
第四章 汇编语言 程序设计
MY_DATA SEGMENT ;定义数据段
SUM DB ?
;为符号 SUM 保留一个字节
MY_DATA ENDS
;定义数据段结束
MY_CODE SEGMENT ;定义码段
ASSUME CS :MY_CODE, DS :MY_DATA
;规定 CS 和 DS 的内容
PORT_VA1 EQU 3
;端口的符号名
START :MOV AX, MY_DATA ;DS 初始化为 MY_DATA
[计算机硬件及网络]微机原理与接口技术汇编语言程序设计
ORG 200H
;目标程序的偏移量
DATA SEGMENT
;数据段开始
指令性语句和指示性语句的最大区别就是指示性 语句在标识符和伪指令助记符没有冒号
4.2 汇编语言程序结构
段定义伪指令SEGMENT、ENDS、ASSUME
伪指令SEGMENT和ENDS总是成对出现。SEGMENT用来定义 段开始,ENDS是来定义段结束。这一段伪指令可以将源程序 分为几个段,通常为数据段,堆栈段和代码段。
汇编语句语句格式
指令性语句的格式如下:
<标识符:> 指令助记符 目标操作数 <,源操作数> <;注释>
START: MOV AX,1090H
;将16进制数1090H送入AX
INC BX
指示性语句的格式如下:
<标识符> 伪指令助记符 <操作数1,操作数2…> <;注释>
CR DB ODH
;在字节单元CR处存放数据0DH
段,所以错误信息并不
←“no stack segment”
影响程序正常执行。
DEBUG和MASM的区别
DEBUG是调试器,它的主要用途在于除错,能够 观察每条汇编语句运行后的结果,方便的修正汇编 程序中的错误。DEBUG中必须使用16进制的数。
MASM是一种编译器,它能将汇编源程序进行编 译、链接形成可执行文件,但汇编程序必须使用规 范书写方式,源程序中除了指令性语句,还必须加 入许多与指令语句无关的指示性语句,以供编译器 识别。 MASM中的数据默认为10进制。
汇编源文件 .ASM
汇编 MASM.EXE
目执行程序 .EXE
汇编语言语句类型
指令性语句
微机原理与接口技术教案
微机原理与接口技术教案第一章:微机概述1.1 教学目标了解微机的概念、发展历程和分类。
理解微机系统的基本组成和工作原理。
掌握微机的主要性能指标。
1.2 教学内容微机的概念和发展历程。
微机的分类和特点。
微机系统的基本组成。
微机的工作原理。
微机的主要性能指标。
1.3 教学方法采用讲授法,介绍微机的基本概念和发展历程。
通过案例分析,使学生理解微机的分类和特点。
利用图形和示意图,讲解微机系统的基本组成。
通过实验演示,让学生掌握微机的工作原理。
利用表格和图表,介绍微机的主要性能指标。
1.4 教学资源教材:微机原理与接口技术。
课件:微机原理与接口技术教案PPT。
实验设备:微机实验箱。
1.5 教学评估课堂问答:检查学生对微机概念和发展历程的理解。
课后作业:要求学生绘制微机系统的基本组成示意图。
实验报告:评估学生在实验中对微机工作原理的掌握情况。
第二章:微处理器2.1 教学目标了解微处理器的概念、发展和结构。
理解微处理器的工作原理和性能指标。
掌握微处理器的编程和指令系统。
2.2 教学内容微处理器的概念和发展。
微处理器的结构和组成。
微处理器的工作原理。
微处理器的性能指标。
微处理器的编程和指令系统。
2.3 教学方法采用讲授法,介绍微处理器的概念和发展。
通过实物展示,使学生理解微处理器的结构。
利用仿真软件,讲解微处理器的工作原理。
通过编程实例,让学生掌握微处理器的编程和指令系统。
2.4 教学资源教材:微机原理与接口技术。
课件:微机原理与接口技术教案PPT。
实验设备:微机实验箱。
仿真软件:汇编语言编程工具。
2.5 教学评估课堂问答:检查学生对微处理器概念和发展的理解。
课后作业:要求学生编写简单的汇编语言程序。
实验报告:评估学生在实验中对微处理器工作原理的掌握情况。
第三章:存储器3.1 教学目标了解存储器的概念、分类和性能。
理解存储器的工作原理和扩展方式。
掌握存储器的接口技术和应用。
3.2 教学内容存储器的概念和分类。
存储器的工作原理。
微机原理与接口技术(第三版) 龚尚福章 (4)
在同一个程序中,同样的标号或变量的定义只允许出现一 次,否则汇编程序会指示出错。
第4章 汇编语言程序设计
4.2.1 定义符号的伪指令 有时程序中多次出现同一个表达式,为方便起见,可以用
赋值伪操作给表达式赋予一个名字。 1. 等值伪指令EQU 格式: <符号名> EQU <表达式> 功能:给符号名定义一个值,赋予一个符号名、表达式或
助记符。
第4章 汇编语言程序设计
此后,程序中凡需要用到该表达式之处,就可以用表达式 名来代替了。可见,EQU的引入提高了程序的可读性,也使其 更加易于修改。上式中的表达式可以是任何有效的操作数格式, 可以是任何可以求出常数值的表达式,也可以是任何有效的助 记符。举例如下:
第4章 汇编语言程序设计
(3) 符号常数。用符号名来代替的常数就是符号常数,如 COUNT EQU 3或COUNT=3定义后COUNT就是一个符号常数,与数 值常数3等价。
第4章 汇编语言程序设计
2) 表达式
由运算对象和运算符组成的合法式子就是表达式。表达式
分为数值表达式、关系表达式、逻辑表达式和地址表达式等。
类型(TYPE)属性:类型表示该标号所代表的指令的转移范 围,分为NEAR和FAR两种。如果为NEAR型,则标号只能在段内 引用;如果为FAR型,则标号可以在段间引用。
第4章 汇编语言程序设计
(2) 变量。变量在数据段、附加数据段或堆栈段中定义, 后面不跟冒号。它也可以用LABEL或EQU伪操作来定义。变量经 常在操作数字段出现。它也有段、偏移及类型三种属性。
微机原理与接口技术(钱晓捷版)课后习题答案
“微机原理与接口技术”习题解答第1章微型计算机系统〔习题1.1〕简答题〔解答〕①处理器每个单位时间可以处理的二进制数据位数称计算机字长。
②总线信号分成三组,分别是数据总线、地址总线和控制总线。
③PC机主存采用DRAM组成。
④高速缓冲存储器Cache是处理器与主存之间速度很快但容量较小的存储器。
⑤ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。
⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
⑦主板芯片组是主板的核心部件,它提供主板上的关键逻辑电路。
⑧MASM是微软开发的宏汇编程序。
⑨指令的处理过程。
处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
⑩机器语言层,即指令集结构。
(学生很多认为是:汇编语言层。
前4章主要涉及汇编语言,但本书还有很多处理器原理等内容)〔习题1.2〕判断题①错②错③对④错⑤对⑥错⑦错⑧对⑨错⑩错〔〔解答〕①Central Processing Unit,中央处理单元,处理器②1MB,4GB③216,64KB④EXE,COM(BAT老师讲的)⑤Instruction Set Architecture⑥目录⑦MMX,SSE3⑧64⑨IBM,DOS⑩PCI〔习题1.4〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU:CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。
微机原理与接口技术课后答案
第1章微型计算机系统概述1. 简述微型计算机系统的组成。
2. 简述计算机软件的分类及操作系统的作用。
3. CPU是什么?写出Intel微处理器的家族成员。
4. 写出10条以上常用的DOS操作命令。
[参考答案]1.答:微型计算机系统由硬件和软件两大部分组成,硬件又可细分为主机(由CPU、存储器、控制电路、接口等构成)、输入设备(如键盘)和输出设备(如显示器);软件可细分为系统软件(如操作系统)和应用软件。
3.答CPU(Central Processing Unit中央处理单元)是计算机的核心部件,它包括控制器和算术逻辑运算部件等。
Intel 微处理器的家族成员有:8088/8086、80186、80286、80386、80486、Pentium(80586)、Pentium Ⅱ、Pentium Ⅲ 和Pentium IV。
第2章计算机中的数制和码制1. 将下列十进制数转换成二进制数:(1) 49;(2)73.8125;(3) 79.752. 将二进制数变换成十六进制数:(1)101101B;(2)1101001011B;(3)1111111111111101B;(4)100000010101B;(5)1111111B;(6)10000000001B3. 将十六进制数变换成二进制数和十进制数:(1)FAH;(2)5BH;(3)78A1H;(4)FFFFH; (5) 34.2AH;(6)B8.93H4. 将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.56255. 将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B6. 计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;7. 已知a=1011B,b=11001B,c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b8. 已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b;(2)a OR b;(3)a XOR b;(4)NOT a9. 设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B10. 写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)8011. 设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);12. 已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B, 计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c13. 设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H14. 求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)ABCD(4)abcd15. 将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-2316. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)Jinan University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web17. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315[参考答案]1.解:(1)49=0011 0001B (2)73.8125=0100 1001.1101B(3)79.75=0100 1111.11B3. 解:(1)FAH=1111 1010B=250D (2)5BH=0101 1011B=91D(3)78A1H=0111 1000 1010 0001B=30881D(4)FFFFH=1111 1111 1111 1111B=65535D5. 解:(1)10110.101B=22.625 (2)10010010.001B=146.0625(3)11010.1101B=26.81257. 解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=100010011B=275 (4)c/b=1……1101B(=13)9. 解:(1)+1010101B 原码01010101B 补码01010101B(2)-1010101B 原码11010101B 补码10101011B(3)+1111111B 原码01111111B 补码01111111B(4)-1111111B 原码11111111B 补码10000001B(5)+1000000B 原码 01000000B 补码01000000B(6)-1000000B 原码 11000000B 补码11000000B11. 解:按补码表示+87=0101 0111B;+73=0100 1001B;-87=1010 1001B;-73=1011 0111B(1)87-73=0101 0111B-0100 1001B=1110B=14(2)87+(-73)=0101 0111B+1011 0111B=[1]0000 1110B=14(舍去进位)(3)87-(-73)=0101 0111B-1011 0111B=[-1]1010 0000B=-96(溢出)(4)(-87)+73=1010 1001B+0100 1001B=1111 0010B=-14(5)(-87)-73=1010 1001B-0100 1001B=[-1]0110 0000B=96(溢出)(6)(-87)-(-73)=1010 1001B-1011 0111B=1111 0010B=-1413. 解:(1)a=37H, b=57H; a+b=8EH; a-b=[-1]E0H=-32(2)a=0B7H, b=0D7H; a+b=[1]8EH=-114; a-b=[-1]E0H=-32(3)a=0F7H, b=0D7H; a+b=[1]CEH=-50; a-b=20H=32(4)a=37H, b=0C7H; a+b=FEH=-2; a-b=[-1]70H=11215. 解:(1)将38、42表示成组合BCD码:38H、42H,然后按二进制进行运算,并根据运算过程中的AF,CF进行加6/减6修正。
《微机原理与接口技术》第四章习题集与解答
习题集解答第五章汇编语言程序设计1.从4000H单元开始定义数据段如下,请画出所定义存储器的分配图。
BUF SEGMENTDAl DW 3456HDA2 DB 2 DUP(7,8)BUF ENDS答:存储器的分配图2.对于习题1的定义,请说明下列每条指令执行后的结果。
1、MOV AX,SEG DAl2、MOV AX,SEG DA23、MOV BX,OFFSET DAl4、MOV BX,OFFSET DA25、MOV CX,TYPE DAl6、MOV CX,TYPE DA27、MOV DX,LENGTH DAl8、MOV DX,LENGTH DA29、MOV AX,SIZE DAl ‘10、MOV AX,SIZE DA2答:1、(AX)=(DS)2、(AX)=(DS)+23、(BX)=4000H4、(BX)=4002H5、(CX)=26、(CX)=17、(DX)=28、(DX)=49、(AX)=210、(AX)=43.已知数据定义如下,请计算变量PL的值是多少?DATA DB ‘AB’DATAl DB 10 DUP(?)PL EQU $-DATA答:PL=DATA+12-DATA=124.已知A=25、B=15、C=4,请计算下列表达式的值。
(1) A × 50+B (2) A MOD C+B(3)(A+4)×B-3 (4) B/3 MOD 4(5)A LE B (6) A XOR 50答:(1) A ×50+B= 25 ×50+15=1250+15=12515 (2) A MOD C+B=25 MOD 4+15=1+15=16(3)(A+4)×B-3 =(25+4)×15-3 =1500-3=1497(4) B/3 MOD 4 =15/3 MOD 4 =5 MOD 4 =1(5)A LE B =25 LE 15 = 0(6) A XOR 50 = 25 XOR 50 = 435.已知内存DATA单元存放一个字数据,请统计其中含有0的个数,并送人RESULT单元的程序。
微机原理与接口技术(楼顺天第二版)第四章习题解答
微机原理与接口技术(楼顺天第二版)习题解答第4章汇编语言程序设计4。
1、已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。
答:BUF D B ”BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L14。
2、利用移位、传送和相加指令实现AX的内容扩大10倍.答:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。
XOR DX,DXSHL AX,1RCL DX,1MOV BX,AXMOV CX,DXSHL AX,1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX4。
3、在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。
答:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX,V AR[SI+2]JAE L1XCHG AX,V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI],AXMOV AX,V AR[SI+2]CMP AX,V AR[SI+4]JAE L3XCHG AX,V AR[SI+4]L3:MOV V AR[SI+2], AX4。
4、编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。
微机原理及接口第四章习题答案
“微机系统原理与接口技术”第四章习题解答1.判断以下说法是否正确,如有错,请说明原因并改正。
(1)伪指令在汇编过程中不会产生二进制代码。
(2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。
(3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。
(4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。
答:(1)正确。
(2)错误。
宏不能精简目标代码。
(3)错误。
高级语言程序经编译或解释后直接转换为目标代码。
(4)正确。
2.已知数据和符号定义A1 DB ?A2 DB 8K1 EQU 100判断下列指令的正误,并说明错误指令的原因。
(1)MOV K1,AX(2)MOV A2,AH(3)MOV BX,K1MOV [BX],DX(4)CMP A1,A2(5)K1 EQU 200答:(1)错误。
K1是符号常数,在此处相当于立即数100,故不能做目的操作数。
(2)正确。
(3)正确。
(4)错误。
A1、A2都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。
(5)错误。
用EQU定义的符号不能重新赋值,除非已用PURGE解除了原值。
3.若数据段中有定义NUM1 EQU 23HNUM2 DW 0则指令MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后NUM2+1单元的内容分别是什么?答:指令MOV NUM2,NUM1的源操作数使用立即数寻址,目的操作数使用直接寻址。
指令执行后NUM2+1单元的内容是0。
4.设DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存69632H~69635H单元的内容依次是00H、11H、22H、33H。
4字节指令CALL DWORD PTR [BX+1200H] 本身位于2000H:3250H处的双字单元中。
当8086执行该指令后转移至子程序入口时,CS、IP、SS、SP各寄存器以及栈顶2个字单元的内容分别是多少?答:执行结果为CS=3322H,IP=1100H,SS=5000H,SP=3254H,栈顶的两个字即断点地址,为2000H:3254H。
《微机原理与接口技术》课程教学大纲
《微机原理与接口技术》课程教案大纲一、课程说明二、学时分配表三、教案目的与要求1.本课程总体教案目的和要求通过本课程的学习、上机操作,使学生较熟练地掌握微机的基本结构、基本工作原理,初步掌握汇编语言程序设计及微机接口技术,具有微机应用系统设计开发能力,并为其它后续课程奠定基础。
教案要求是通过课堂教案与演示,课后习题练习等环节,掌握微型计算机的基本组成与工作原理的基础知识,包括理解计算机硬件原理,能够设计或调试基本的微机硬件接口及驱动程序等多方面的技能。
2.各章教案要求和知识考核点(一)微型计算机系统概述目的和要求:主要了解微型计算机系统的构造及微型计算机工作过程。
重点:微型计算机的基本组成难点:微型计算机工作过程(二)微处理器目的和要求:掌握寄存器结构、作用、引脚功能、存储器分段与物理地址形成、最小最大模式的概念和系统组建、系统总线形成;理解存储器读写时序;了解微处理器的发展。
重点:微处理器的基本结构,寄存器、堆栈,引脚及其功能;最小最大模式下系统总线形成;存储器分段与物理地址形成难点:的内部结构、典型时序分析(三)寻址方式和指令系统目的和要求:掌握有关寻址的概念;的种基本的寻址方式及有效地址的计算;掌握指令系统重点:掌握寻址方式;掌握常用指令的功能和用法难点:区别指令的正确与错误。
(四)汇编语言程序设计目的和要求:了解汇编语言特点、汇编程序功能、汇编语言结构;掌握汇编语言中的表达式、伪指令、宏定义的含义和用法;掌握功能调用基本,返回方法,了解文件管理;理解顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法,能编写、运行、调试简单的汇编语言程序。
教案重点:汇编的概念及其方法, 掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤;顺序程序、分支程序、循环程序、含子程序的程序设计的基本方法。
教案难点:伪指令、宏定义的用法;程序设计算法与流程图。
(五)输入输出接口目的与要求:掌握输入输出的基本概念;的编址方法、特点;与外设数据传递的方式及接口技术;理解程序控制传送方式、中断传送方式;掌握特点。
微机原理与接口技术 第4章课后作业答案.
6
4.7执行下列指令后,AX寄存器的内容是多少? TABLE DW 10,20,30,40,50 ENTRY DW 3 . . . MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX] 解:(AX)=1E00H 4.8 编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。 解:首先确定STRING1中字符串的长度,因为字符串的定义要求以‘$’符号结尾, 可通过检测‘$’符确定出字符串的长度,设串长度为COUNT,则程序如下: LEA SI,STRING1 LEA DI,STRING2 ADD SI,COUNT-20 MOV CX,20 CLD REP MOVSB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结果为真输出全‚1” 结果为假输出全‚0”
数值返回
偏移地址 段基址 字节数 单元数 总字节数
19
§4-2 MASM中的表达式 ——概述
表4-1
类型
MASM的表达式中的运算符(3)
符号 名称 运算结果
修改属性
段寄存器名 PTR THIS HIGH LOW SHORT () [ ] . < > MASK WIDTH
其他运算 符
段前缀 修改类型属性 制定类型/距离属 性 分离高字节 分离低字节 短转移说明 园括号 方括号 点运算符 尖括号 记录位图 记录宽度
修改段 修改后类型 指定后类型 高字节 低字节 -128~127字节 间转移 改变运算符优先 级 下标或间接寻址 连接结构与变量 修改变量 位图形 20
§4-2 MASM中的表达式 ——算术运算符 一、算术运算符
字符串处理指令
控制转移指令
处理器控制指令
4
第四章 内
汇编语言程序设计 容 提 要
汇编语言程序格式 MASM中的表达式 伪指令语句 DOS系统功能调用和BIOS中断调用
程序设计方法
5
第四章 宏汇编语言程序设计 ——概述
概
述
▲汇编语言(Assembly Language) 指令的助记符 + 符号地址 + 标号 是机器语言的符号表示,是较低级的语言。 ▲源程序 利用汇编语言编写的程序,称源程序。不能被机器 识别。 ▲源程序的运行 汇编程序翻译成二进制的浮动目标程序 连接程序将目标文件与库文件相连,形成可执行程 序 可执行的程序在机器上直接运行 ▲高级语言:可读性好,编程简单; 汇编语言:实时性能好,程序效率高,节省内存, 运行速度快; 6
§4-2 MASM中的表达式 ——概述
表4-1
类型
算术运算 符
MASM的表达式中的运算符(1)
名称
加法 减法 乘法 除法 模除 左移 右移 与运算 或运算 异或运算 非运算
符号
+ - * / MOD SHL SHR AND OR XOR NOT
运算结果
和 差 乘积 商 余数 左移后二进制数 右移后二进制数 逻辑与结果 逻辑或结果 逻辑异或结果 逻辑非结果
§4-2 MASM中的表达式 ——算术运算符 例 汇编程序指令格式如下: DA EQU 300 MOV AX,DA-80 MOV BX,DA MOD 100 MOV CX,DA/100 MOV DH,0110 0100B SHR 2 汇编时,计算表达式形成指令为: DA EQU 300 MOV AX,220 MOV BX,0 MOV CX,3 MOV DH,19H
§4-1 汇编语言程序格式——数据项
3.标号: 标号是可执行指令语句的地址的符号表示,可作为程 序转向的目标地址。具有三个属性。 (1)段值(SEGMENT): •标号所在段的段基址。 •(2)段内偏移地址(OFFSET): •标号所在地址与所在段的段首址之间的偏移地址字节数。 (3)类型(TYPE): 指在转移指令中标号可转移的距离,也称距离属性。 •类型NEAR,表示此标号为近标号,只能实现段内转移或 调用;类型FAR,表示此标号为远标号,可以实现段间转 移或调用。 •若标号后面紧跟冒号,表示隐含此标号距离属性为NEAR, 也可用伪指令将此属性改为FAR。
•若结果为假,输出全是0。
26
§4-2 MASM中的表达式 ——关系运算符 例 MOV ADD AX,10H BL,6 EQ GT 16 0110B
MOV
CX , ((PORT LT 5) AND 100) OR
((PORT
GE 5) AND 200) 汇编时,计算表达式形成指令为: MOV ADD AX,0 BL,0FFH
第四章 宏汇编语言程序设计 ——概述
例
在屏幕上显示并打印字符串‚ This is a sample
program”。一个完整的用汇编语言编写程序的格式:
DATA SEGMENT DA1 DB DB DATA ENDS STACK SEGMENT ST1 DB STACK ENDS ;数据段 ‘This is a sample program. ’ 0DH,0AH, ‘$’
16
§4-2 MASM中的表达式 ——概述
§4-2 MASM中的表达式
概 述 表达式:运算对象 + 运算符。 · 在汇编时进行运算,运算结果作为语句中的操作数。 运算对象:常数、变量、标号。 · 得到的运算结果可以是一个常数字,也可以是一个存储 器的地址。 MASM中6类运算符:如表4-1所示。 · 算术运算符(Arithmetic Operators) · 逻辑运算符(Logical Operators) · 关系运算符(Relational Operators) · 数值返回运算符(Value-Returning Operators) · 修改属性运算符(Modifing attribute Operators) 17 · 其它运算符(other Operators)
二、伪指令语句
伪指令语句:无对应的机器指令,汇编时对伪指令 进行处理,可完成数据定义、存储区分配、段定义、
段分配、指示程序结束等功能。
12
§4-1 汇编语言程序格式——伪指令语句 语句的格式: 名字 伪指令指示符 操作数,操作数 ;注释 ▲名字:用符号地址表示,名字后不允许带冒号 ‚:‛,但可以省略。 •通常是变量名、段名、过程名、符号名等。 ▲伪指令指示符:汇编程序MASM规定的符号。 •常用的有变量定义语句(DB、DW),符号定义语句(EQU、 = ) , 段 定 义 语 句 (SEGMENT…END) , 段 分 配 语 句 (ASSUME),过程定义语句(PROC…ENDP)等。 ▲操作数:不同伪指令有不同要求。 •操作数可以是常数、变量、字符串、表达式等。 ▲注释:功能和使用与指令性语句相同。
微机原理与接口技术
主讲 尹作友
1
第三章 内容回顾
2
第三章
重点之一
8086指令系统的寻址方式
一、立即寻址方式
二、寄存器寻址方式 三、直接寻址方式
四、寄存器间接寻址方式
五、寄存器相对寻址方式
六、基址变址寻址方式
七、相对基址变址寻址方式 八、其它
3
第三章
重点之二
8086指令系统
数据传送指令 算术运算指令 逻辑运算和移位指令
上面采用子程序调用方式,后一种采用DOS功 能调用方式,比较容易掌握。
9
§4-1 汇编语言程序格式 ——概述
§4-1
汇编语言程序格式
宏汇编使用的语句分两类
指令性语句
伪指令语句
10
§4-1 汇编语言程序格式 ——指令性语句
一、指令性语句 指令性语句:与机器指令相对应,可译成目标代码 (机器 指令代码)。 语句格式: 标号: 指令助记符 操作数,操作数 ;注释 ▲标号:指令语句的符号地址,后面必须紧跟冒号 ‚:‛。 •注意:标号可使用字母、数字和特殊符号;首字符必 须是字母或特殊符号;最大长度 31 个字符;可以省略, 经常作为表示转移的地址。 ▲指令助记符:指令名称的代表符号,指出指令的操 作类型。 •可译成机器码;不可省略,是关键字。 11
§4-1 汇编语言程序格式——数据项
2.变量: 变量通常指存放在存储单元中的值,程序运行中 可以修改。 所有的变量都具有三个属性。 ⑴段值(SEGMENT): 指变量所在段的段基址。 ⑵段内偏移地址(OFFSET): 指变量所在地址与所在段首地址之间的地址偏移 字节数。 ⑶类型(TYPE): 指变量中每个元素所包含的字节数:字节变量 (BYTE)、字变量(WORD)、双字变量(DWORD)等。 15
23
§4-2 MASM中的表达式 ——逻辑运算符 二、逻辑运算符 包括4种:
AND(与)、OR(或)、NOT(非)、XOR(异或)
注意: 按位运算的,只能对常数 进行运算 ,得到结果也 是常数。
24
§4-2 MASM中的表达式 ——逻辑运算符 例 MOV AL,NOT 0FFH MOV BL,8CH AND 73H MOV AH,8CH OR 73H MOV CH, 8CH XOR 73H 汇编时,计算表达式形成指令为: MOV AL,0 MOV BL,0 MOV AH,0FFH MOV CH,0FFH 例 IN AL, PORT ;PORT为输入端口号 AND DX, PORT AND 0FEH OUT DX, AX ;DX为输出端口号
25
§4-2 MASM中的表达式 ——关系运算符
三、关系运算符
包括6种:
EQ( 相等 ) 、 NE( 不等 ) 、 LT( 小于 ) 、 GT( 大于 ) 、
LE(小于或等于)、GE(大于或等于) 。 注意: •关系运算符的两个操作数必须是数据,或是同一 段内的两个存储单元的地址;
•若结果为真,输出全是l,即0FFH或0FFFFH;
第四章 宏汇编语言程序设计 ——概述
CODE SEGMENT ;代码段 ASSUME CS:CODE, DS:DATA, SS:STACK START:MOV AX, DATA ;送数据段段地址 MOV DS, AX MOV AX, STACK ;送堆栈段地址 MOV SS, AX MOV AH, 9 ;DOS 9号功能调用,显示字符串 MOV DX, OFFSET DA1 INT 21H MOV AH,4CH INT 21H ;返回DOS CODE ENDS END STARTLeabharlann 100DUB(?)
7
第四章 宏汇编语言程序设计 ——概述
CODE SEGMENT ;代码段 MAIN PROC FAR ASSUME CS:CODE, DS:DATA, SS:STACK START:PUSH DS ;正常返回所需段地址及偏移地址 MOV AX, 0 PUSH AX MOV AX, DATA ;送数据段段地址 MOV DS, AX MOV AX, STACK ;送堆栈段地址 MOV SS, AX MOV AH, 9 ;DOS 9号功能调用,显示字符串 MOV DX, OFFSET DA1 INT 21H RET MAIN ENDP CODE ENDS END START 8