(完整版)微机原理与接口技术汇编语言指令详解吐血版,推荐文档

(完整版)微机原理与接口技术汇编语言指令详解吐血版,推荐文档
(完整版)微机原理与接口技术汇编语言指令详解吐血版,推荐文档

第一讲

第三章指令系统--寻址方式

回顾:8086/8088的内部结构和寄存器,地址分段的概念,8086/8088的工作过程。

重点和纲要:指令系统--寻址方式。有关寻址的概念;6种基本的寻址方式及有效地址的计算。

教学方法、实施步骤时间分配教学手段

回顾5”×2讲授40” ×2提问3” ×2小结2” ×2

板书

计算机

投影仪

多媒体课件等

讲授内容:

3.1 8086/8088寻址方式

首先,简单讲述一下指令的一般格式:

操作码操作数……操作数

计算机中的指令由操作码字段和操作数字段组成。

操作码:指计算机所要执行的操作,或称为指出操作类型,是一种助记符。

操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地

址的指针或其它有关操作数的信息。

寻址方式就是指令中用于说明操作数所在地址的方法,或者说是寻找操作

数有效地址的方法。8086/8088的基本寻址方式有六种。

1.立即寻址

所提供的操作数直接包含在指令中。它紧跟

在操作码的后面,与操作码一起放在代码段区域

中。如图所示。

例如:MOV AX,3000H

立即数可以是8位的,也可以是16位的。若是16位的,则存储时低位在前,高位在后。

立即寻址主要用来给寄存器或存储器赋初值。

2.直接寻址

操作数地址的16位偏移量直接包含在指令中。它与操作码—起存放在代码段区域,操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位地址偏移量。如图2-2所示。

例如: MOV AX,DS:[2000H];

图2-2

(对DS来讲可以省略成 MOV AX,[2000H],系统默认为数据段)这种寻址方法是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。

8086/8088中允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。此时只要在指令中指明是段超越的,则16位地址偏移量可以与CS或SS或ES相加,作为操作数的地址。

MOV AX,[2000H] ;数据段

MOV BX,ES:[3000H] ;段超越,操作数在附加段

即绝对地址=(ES)*16+3000H

3.寄存器寻址

操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等。

例如:MOV DS,AX

MOV AL,BH

4.寄存器间接寻址

操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄

存器SI、DI、BP、BX之一中。可以分成两种情况:

(1)以SI、DI、BX间接寻址,则

通常操作数在现行数据段区域中,

即数据段寄存器(DS)*16加

上SI、DI、BX中的16位偏移量,

为操作数的地址,

例如:MOV AX,[SI] 操

作数地址是:(DS)*16+(SI)

(2)以寄存器BP间接寻址,则操作数在堆栈段区域中。即堆栈段寄存器(SS)*16与BP的内容相加作为操作数的地址,

例如:MOV AX,[BP] 操作数地址是:(SS)*16+(BP)若在指令中规定是段超越的,则BP的内容也可以与其它的段寄存器相加,

形成操作数地址。

例如: MOV AX,DS:[BP] 操作数地址是:(DS)*16+(BP)

5.变址寻址

由指定的寄存器内容,加上指令中给出的8位或16位偏移量(当然要由一

个段寄存器作为地址基准)作为操作数的偏移地址。(操作数在存贮器中)可以作为寄存器变址寻址的四个寄存器是SI、DI、BX、BP。

⑴若用SI、DI和BX作为变址,则与数据段寄存器相加,形成操作数的地址即

默认在数据段;

⑵若用BP变址,则与堆栈段寄存器相加,形成操作数的地址即默认在堆栈段

例如: MOV AX,COUNT[SI];

操作数地址是:(DS)*16+(SI)+COUNT

但是,只要在指令中指定是段超越的,则可以用别的段寄存器作为地址基准。

6.基址加变址寻址

把BX和BP看成是基址寄存器,把

SI、DI看着是变址寄存器,把一个基

址寄存器(BX或BP)的内容加上一个

变址寄存器(SI或DI)的内容,再加

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

微机原理与汇编语言复习题及参考答案

、选择题 : 1. 2. 3. 中南大学现代远程教育课程考试复习题及参考 答案 微型机原理与汇编语言 设AL=0A8H CX=2 CF=1,执行RCL AL , CL 指令后,AL 中的值为 A. 51H B. A3H C. 47H D. 0C5H 下述指令的执行结果是 MOV AL , 0C2H AND AL , 0F0H A.AL=40H B.AL=20H 完成对CL 寄存器的内容乘以 A.ROL CL , 1 B.MUL 4 ROL CL , 1 C.AL=0C0H D.AL=0E0H 4 的正确操作是 C.SHL CL SHL CL ,2 ,CL ,1 D.MOV CL ,1 SHL CL BH 中的数一定为奇数,应执行的指 C. XOR BH ,01H D. TEST 无论BH 中原有的数是奇数或偶数,若要使 A. ADD BH , 01H B. OR BH , 01H 假设(AL )= 37H ,( BL )= 95H ,执行指令 IMUL BL 后(AX )= A. 0E903H B. 2003H 下面的数据传送指令中,错误的操作是 A. MOV SS:[BX+DI] , 1000H C. MOV WORD PTR[BX], 1000H 7. CPU 要访问的某一存储单元的实际地址称 4. 5. 6. C. 0DBBH D. 2008H B. MOV DX D. MOV DS ,1000H ,2000H A .段地址 B.偏移地址 C.物理地址 8. 某存储单元的物理地址是 12345H,可以作为它的段地址有 A . 2345H B . 12345H C . 9. 计算机能直接识别的的语言 A .汇编语言 B .机器语言 10. 下列指令中操作数在代码段中的是 A . MOV AL,25H B . ADD AH,BL C . D.逻辑地址 12340H D . 1234H C.咼级语言 D.低级语言 INC DS:[25] D . CMP AL,BL 11. 直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为 A .直接、立即、间接 C.立即、直接、间接 12. 若栈顶的物理地址是 A . 2010211 B B .直接、间接、立即 D .不一定 2010011, 当执行完指 令 CALL AX 后, . 2010111 13. 当执行完下列指令序列后,标志位 MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A . 0, 0 B . 0, 1 14. JMP BX 的目标地址偏移量是() A . SI 的内容 B . SI C . 200FFH CF 和 OF 的值是 . 1, 0 D O 所指向的内存字单元之内容 C . IP+SI 的内容 D . IP+[SI] 15. 指令MOV AX,10[BX]的源操作数的寻址方式是 A .基址寻址 B .寄存器寻址 C.变址寻址 D .寄存器相对寻址 16. 指出下列哪个数据在汇编语言中是非法的。 A . 19BH+25D B . 25+AL C . 108-102Q D . 101B*OABH 17. 用来存放即将执行的指令的偏移地址的寄存器是 A . SP B . IP C . BP BH , ( 01H 栈顶的物理地址是( D . 200FEH ( . CS

微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案 ——CSDN下载频道提供,请尊重原创 一、选择题: 1. 设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A. 51H B. A3H C. 47H D. 0C5H 2. 下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3. 完成对CL寄存器的容乘以4的正确操作是() A.ROL CL,1 B.MUL 4 C.SHL CL,1 D.MOV CL,2 ROL CL,1 SHL CL,1 SHL CL,CL 4. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 5. 假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= () A. 0E903H B. 2003H C. 0DBBH D. 2008H 6. 下面的数据传送指令中,错误的操作是() A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H 7. CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址C.物理地址D.逻辑地址 8. 某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9. 计算机能直接识别的的语言() A.汇编语言 B.机器语言C.高级语言D.低级语言 10. 下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为()A.直接、立即、间接B.直接、间接、立即 C.立即、直接、间接D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是()A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14. JMP BX的目标地址偏移量是(D)。 A.SI的容B.SI所指向的存字单元之容 C.IP+SI的容D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址B.寄存器寻址MOV AX,BX C.变址寻址AX【BX+DI】(只能用BX,BP;SI和DI) D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的。()

汇编语言知识大全

第一章基础知识: 一.机器码:1.计算机只认识0,1两种状态。而机器码只能由0,1组成。故机器码相当难认,故产生了汇编语言。 2.其中汇编由三类指令形成:汇编指令(有机器码对应),伪指令,其他符号(编译的时候有用)。 每一总CPU都有自己的指令集;注意学习的侧重点。 二.存储器:1.存储单元中数据和指令没任何差别。 2.存储单元:Eg:128个储存单元(0~127)128byte。 线: 1.地址总线:寻址用,参数(宽度)为N根,则可以寻到2^N个内存单元。 据总线:传送数据用,参数为N根,一次可以传送N/8个存储单元。 3.控制总线:cpu对元器件的控制能力。越多控制力越强。 四.内存地址空间:1.由地址总线决定大小。 2.主板:cpu和核心器件(或接口卡)用地址总线,数据总线,控制总 线连接起来。 3.接口卡:由于cpu不能直接控制外设,需通过接口卡间接控制。

4.各类存储器芯片:RAM,BIOS(主板,各芯片)的ROM,接卡槽的 RAM CPU在操控他们的时候,把他们都当作内存来对待,把他们总的看作一个由 若干个存储单元组成的逻辑存储器,即我们所说的内存地址空间。 自己的一点理解:CPU对内存的操作是一样的,但是在cpu,内存,芯片之间的硬件本身所牵扯的线是不同的。所以一些地址的功能是对应一些芯片的。 第二章寄存器 引入:CPU中含有运算器,寄存器,控制器(由内部总线连接)。而寄存器是可以用来指令读写的部件。8086有14个寄存器(都是16位,2个存储空间)。 一.通用寄存器(ax,bx,cx,dx),16位,可以分为高低位 注意1.范围:16位的2^16-1,8位的2^8-1 2.进行数据传送或运算时要注意位数对应,否则会报错 二.字:1. 1个字==2个字节。 2. 在寄存器中的存储:0x高位字节低位字节;单元认定的是低单元 数制,16进制h,2进制b

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告 汇编程序实验: 一、实验目的 1、熟悉汇编程序调试过程 2、掌握算术运算指令运用 3、掌握分支程序的编程和调试方法 二、实验设备 80X86微型计算机 三、实验内容 1、编程并调试显示“Hello Word!”字符串的汇编程序 TITLE HELLO DA TA SEGMENT STR DB'Hello World!$' DA TA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STR MOV AH,9H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。 title asmprogram1_1 DA TA SEGMENT A DW 1H B DW 3H C DW 4H D DW 2H W DW 2 DUP(?) DA TA ENDS ; CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,A ADD AX,B MOV BX,C SUB BX,D IMUL BX MOV W,AX MOV W+2,DX MOV AH,4CH INT 21H CODE ENDS END START

3、设X、Y为在数据段中定义的有符号字变量。编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0

微机原理与汇编语言教学大纲

《微机原理与汇编语言》课程教学大纲一、课程基本信息 二、教学目标和要求 本课程是计算机专业的专业主干课。课程以当今主流微处理器80X86为结合点,分析它的结构特点、操作原理、指令系统以及汇编语言设计的基本方法,为后续课程打下必要的基础。通过本课程的学习,要求学生掌握微型计算机的基本

工作原理、汇编语言程序设计基本方法、微型计算机接口技术、建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。应能掌握计算机的基本工作原理及汇编语言编程的技能和技巧,养成良好的程序设计风格,为今后的工作打下必要的技术基础。 三、教学难点 重点是8086CPU内部结构,引腿信号及功能,指令系统;汇编语言程序设计;接口的基本技术,接口芯片的内部结构和工作原理。难点是CPU操作时序,各种接口芯片的控制字,模式字的设置及其含义,接口与外设子系统的硬件设计及软件编程。 四、教学内容及基本要求 第一章微型机算计概述 (2学时) 教学目标和要求:理解微型机的分类和发展概况;掌握微处理器、微型计算机和微型机系统的差别;掌握CPU的功能和组成部件;掌握计算机的基本结构。 教学重点和难点:无。 教学方式:(课堂讲授) 第一节微型计算机的特点和发展 一、微型计算机的特点 二、微型计算机的发展 第二节微型机的分类 一、微型计算机的分类 第三节微处理器、微型计算机和微型计算机系统 一、微处理器 二、微型计算机 三、微型计算机系统 第四节微型机算机的应用 一、微型计算机的应用 复习思考题: 1. 微处理器、微型计算机和微型计算机系统之间有什么不同?

2. 微型计算机采用总线结构有什么优点? 3. 数据总线和地址总线在结构上有什么不同之处? 第二章 16位和32位微处理器 ( 6学时 ) 教学目标和要求: 1、掌握:8086微处理器的编程结构,常用引腿信号的功能,8086的中断系统,总线操作及时序; 2、理解:80386的体系结构,三种工作方式,指令流水线和地址流水线,虚拟存储机制和片内两级存储管理;Pentium采用的先进技术,原理结构,技术发展。 教学重点和难点:8086微处理器的结构,内部寄存器的功能,主要的引脚信号及功能,中断响应过程,存储器组织和I/O组织。 教学方式:(课堂讲授6学时) 第一节 16位微处理器8086 (2学时 ) 一、8086的编程结构 总线接口部件和执行部件的组成及各自功能,8086总线周期的概念。 二、8086的引腿信号和工作模式 1. 最小模式和最大模式的概念 为了适应各种应用场合,在设计8086/8088CPU芯片时,使它们可以在两种模式下工作,及最小模式和最大模式。 2. 8086/8088的引腿信号和功能 8086/8088CPU有40条引腿,这里介绍在两种模式下公用的32条引腿和他们的传递方向及有效跳变。 3. 最小模式 讲述8086在最小模式下的典型配置及有关引腿信号。 4. 最大模式 讲述8086在最大模式下的典型配置及有关引腿信号。 三、8086的操作和时序 1. 系统复位和启动操作 8086/8088复位时各内部寄存器的值,复位时序,总线信号状态。

汇编语言与微机原理实验指导书范本

汇编语言与微机原理实验指导书

《汇编语言与微机原理》实验指导书 编写者:董建怀 编写时间: -9-10

实验一.熟悉DOS环境和DEBUG调试软件的使用 一、实验要求: 必做 二、实验类型: 验证 三、实验学时:2 四、实验地点:机房 五、实验目的: 1、.熟悉DOS环境和DEBUG调试软件的使用方法。 2、掌握DEBUG常见命令A、U、D、E、R、T、G的使用,用DEBUG调试简单程序段。 六、实验内容: (一)、熟悉DOS环境 1、MS-DOS的启动:开始—程序—附件—MS-DOS方式(命令提 示符)。 2、MS-DOS全屏方式和窗口方式的切换:“ALT”+ “ENTER”。 3、MS-DOS工具栏的打开:“ALT”+空格键。 4、MS-DOS方式下的选定、复制和粘贴:利用菜单栏下”编辑” 菜单项中的“标记”、“复制”和“粘贴”的功能来实 现。 5、MS-DOS方式的退出:EXIT。 练习:进入MS-DOS方式,并将屏幕上显示的全部内容复制

到一WORD文档中。 (二)、熟悉一些常见的DOS命令 1、更改盘符,如:C:\WINDOWS>d:并按“ENTER”,显示:D:\>(盘符更改为D:)。 2、建立子目录(文件夹)MD,如C:\>MD FOX (在当前驱动器C盘下创立子目录FOX)。 3、显示当前目录CD,如:C:\>CD WINDOWS,显示:C:\WINDOWS>(即从当前目录C:\进入到C:\WINDOWS目录)。 4、显示磁盘目录的内容DIR,如:C:\WINDOWS>,显示的内容即为当前目录C:\WINDOWS中的所有内容。 5、返回上级目录,如:C:\WINDOWS>cd ..,显示C:\>(即从当前目录C:\WINDOWS返回到它的上级目录C:\)。 练习:在MS-DOS方式下,进入C:\WINDOWS\SYSTEM目录,并显示该目录下的所有内容,然后返回C盘的根目录(C:\)。 (三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常见命令 实践1:利用DEBUG.EXE的A、D、U命令,观察指令MOV AH,[BX+DI+50H],对应的机器码是什么?,该指令是几个字节的指令?并对机器码进行反汇编,观察对应的指令是什么?ADD [2345H][BX][DI],DX的机器码是什么? 该指令是几个字节的指令? 并对机器码进行反汇编,观察对应的指令是什么? 实践2:在DEBUG.EXE方式下(利用A、G命令), 分析两个数

(完整word版)汇编语言常用指令大全,推荐文档

MOV指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器(但不允许用CS段寄存器). 2.立即数不能直接送段寄存器 3.不允许在两个存储单元直接传送数据 4.不允许在两个段寄存器间直接传送信息 PUSH入栈指令及POP出栈指令: 堆栈操作是以“后进先出”的方式进行数据操作. PUSH SRC //Word 入栈的操作数除不允许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器. 入栈时高位字节先入栈,低位字节后入栈. POP DST //Word 出栈操作数除不允许用立即数和CS段寄存器外, 可以为通用寄存器,段寄存器和存储器. 执行POP SS指令后,堆栈区在存储区的位置要改变. 执行POP SP 指令后,栈顶的位置要改变. XCHG(eXCHanG)交换指令: 将两操作数值交换. XCHG OPR1, OPR2 //Byte/Word 执行操作: Tmp=OPR1 OPR1=OPR2 OPR2=Tmp 1.必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 3.存储器与存储器之间不能交换数据. XLAT(TRANSLATE)换码指令: 把一种代码转换为另一种代码. XLAT (OPR 可选) //Byte 执行操作: AL=(BX+AL) 指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码. LEA(Load Effective Address) 有效地址传送寄存器指令 LEA REG , SRC //指令把源操作数SRC的有效地址送到指定的寄存器中. 执行操作: REG = EAsrc 注: SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器 MOV BX , OFFSET OPER_ONE 等价于LEA BX , OPER_ONE MOV SP , [BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中 LEA SP , [BX] //将BX的内容作为存储器有效地址送入SP中 LDS(Load DS with pointer)指针送寄存器和DS指令 LDS REG , SRC //常指定SI寄存器。 执行操作: REG=(SRC), DS=(SRC+2) //将SRC指出的前二个存储单元的内容送入指令中指定的寄存器中,后二个存储单元送入DS段寄存器中。

《汇编语言与接口技术》期末考试试题及答案

第一学期期末考试 汇编语言与接口技术 试卷A 卷 考试方式:闭卷 考试时间:120分钟 卷面总分:100分 一、选择题(本题共20小题,每题2分,共40分) 1. 汇编源程序的后缀名是 ( C ) A 、exe B 、.obj C 、.asm D 、.lib 2. 作为8位有符号数补码,80H 的真值是 ( C ) A 、0 B 、-2 C 、-128 D 、128 3. 8086 CPU 内部能够记录代码段段地址的寄存器是 ( D ) A 、DS B 、IP C 、CX D 、CS 4. 若(AX)=35F0H ,(CX)=00B8H ,当AND AX ,CX 指令执行后,AX 寄存器的值为 ( B ) A 、 1400H B 、 00B0H C 、 0000H D 、 0FFFFH 5. 若(SP)=1000H ,则执行指令PUSH AX 后SP 的值为 ( B ) A 、0FFFH B 、0FFEH C 、1002H D 、1001H 6. Mul BX 指令隐藏操作数的寄存器是 ( D ) A 、BX B 、CX C 、SI D 、AX

7.能够将AL中的1、3、5位取反的指令是 ( C ) A、AND AL , 2AH B、OR AL , 2AH C、XOR AL , 2AH D、TEST AL , 2AH 8.循环指令LOOP结束循环的条件是 ( D ) A、CX≠0 B、ZF=0 C、IF=0 D、CX=0 9.除法指令DIV BL中,被除数在寄存器 ( A ) A、AX B、DX C、DX:AX D、BX 10.输出单个字符的2号DOS功能调用的入口参数是 ( C ) A、AH B、AL C、DL D、DH 11.以下对伪指令的描述正确的是 ( D ) A、伪指令没有操作数 B、伪指令没有目标代码 C、汇编程序中伪指令可有可无 D、伪指令不会被执行 12.某伪指令X=12H中所定义的X是 ( B ) A、变量 B、常量 C、标号 D、段名 13.下面指令序列执行后完成的运算,正确的算术表达式应是( D ) MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL A、Y=X*2+1 B、X=Y*2+1 C、X=Y*2-1 D、Y=X*2-1 14.下面指令结束后目标操作数不变化的是 (D ) A、INC BX B、SUB AX,BX

微机原理与汇编语言 习题

微机原理与汇编语言习题 1.ZF标志位是标志结果是否为零的,若结果为零,ZF为________,否则ZF为_______。当ZF 为1时,SF为________。 2.调用程序与子程序之间的参数传递方法有四种,即堆栈法、_______、______、______。 3.宏指令定义必须由伪指令________开始,伪指令______结束,两者之间的语句称为________。 4.三个重复前缀指令为__________、__________、________。 5.8086/8088 CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节; 另一个为______,其大小为_______字节。 6.当_______________时,CPU便进入等待状态(Tw)。 7.最小模式系统除CPU、存储器、I/O接口和总线外,至少还应配置________、__________、 _________三种芯片部件或电路。 8.8086内部由_________和_______两部分组成,其作用分别是_______和______。 9.在汇编语言中,一个标号和过程有和两种属性。前者表明在段内转移和调用,后 者表示在段间转移和调用。 10.8086/8088的存储器是分段的,因此存储单元的物理地址是由和组合而成。 11.汇编语言源程序的扩展名是,目标程序的扩展名是,通常产生的可执行程序 的扩展名是。 12.指令操作数可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们 分别被称为立即、寄存器和直接寻址方式。 13.微型计算机一般都采用总线结构,系统总线的信号线有三组,即数据总线、地址总线和 控制总线。 14.若要判断无符号数运算是否溢出,应根据CF 标志位;而判断有符号数运算是否溢出,应 根据OF 标志位。 15.8086/8088端口地址的范围是0000H ~ FFFFH。 16.汇编语言源程序中的语句有三种类型,他们是指令语句,伪指令语句和语句。 17.指令SAR可用来有符号数数除以2,而指令SHR则可用来无符号数数除以2。 18.用二进制代码组成的计算机能直接识别的语言称为机器语言。用机器指令的助记符以 及伪指令,宏指令表示的一种面向机器的语言称汇编语言,用该语言编写的程序需经过汇编程序翻译,成为计算机能直接识别并执行的程序称目标程序。 19.数据段中有以下定义: ARRAY1 EQU 16H ARRAY2 DW 16H 请指出下面两条指令源操作数的寻址方式: MOV AX, ARRAY1 ;寻址方式:立即寻址方式。 MOV AX, ARRAY2 ;寻址方式:直接寻址方式。 20.在数据段中使用字符串时,该字符串必须用括起来。当定义含有多个字符的字符串时,

汇编语言指令汇总

汇编语言程序设计资料简汇 通用寄存器 8位通用寄存器8个:AL、AH、BL、BH、CL、CH、DL、DH。 16位通用寄存器8个:AX、BX、CX、DX、SI、DI、BP、SP。 AL与AH、BL与BH、CL与CH、DL与DH分别对应于AX、BX、CX和DX的低8位与高8位。专用寄存器 指令指针:IP(16位)。 标志寄存器:没有助记符(FLAGS 16位)。 段寄存器 段寄存器:CS、DS、ES、SS。 内存分段:80x86采用分段内存管理机制,主要包括下列几种类型的段: ?代码段:用来存放程序的指令序列。 ?数据段:用来存放程序的数据。 ?堆栈段:作为堆栈使用的内存区域,用来存放过程返回地址、过程参数等。 物理地址与逻辑地址 ?物理地址:内存单元的实际地址,也就是出现在地址总线上的地址。 ?逻辑地址:或称分段地址。 ?段地址与偏移地址都是16位。 ?系统采用下列方法将逻辑地址自动转换为20位的物理地址: 物理地址= 段地址×16 + 偏移地址 ?每个内存单元具有唯一的物理地址,但可由不同的逻辑地址描述。 与数据有关的寻址方式 立即寻址方式 立即寻址方式所提供的操作数紧跟在操作码的后面,与操作码一起放在指令代码段中。立即数可以是8位数或16位数。如果是16位数,则低位字节存放在低地址中,高位字节存放在高地址中。 例:MOV AL,18 指令执行后,(AL)= 12H 寄存器寻址方式 在寄存器寻址方式中,操作数包含于CPU的内部寄存器之中。这种寻址方式大都用于寄存器之间的数据传输。 例3:MOV AX,BX 如指令执行前(AX)= 6789H,(BX)= 0000H;则指令执行后,(AX)= 0000H,(BX)保持不变。 直接寻址方式 直接寻址方式是操作数地址的16位偏移量直接包含在指令中,和指令操作码一起放在代码段,而操作数则在数据段中。操作数的地址是数据段寄存器DS中的内容左移4位后,加上指令给定的16位地址偏移量。直接寻址方式适合于处理单个数据变量。 寄存器间接寻址方式 在寄存器间接寻址方式中,操作数在存储器中。操作数的有效地址由变址寄存器SI、DI或基址寄存器BX、BP提供。 如果指令中指定的寄存器是BX、SI、DI,则用DS寄存器的内容作为段地址。 如指令中用BP寄存器,则操作数的段地址在SS中,即堆栈段。

位微机原理汇编语言及接口技术教程课后习题答案

《16/32位微机原理、汇编语言及接口技术教程》 部分习题参考解答 第1章微型计算机系统概述 〔习题〕 什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕 通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。 单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。 DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。 嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。 〔习题〕 说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题〕 什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕 总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。 (1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题〕 简答如下概念: (1)计算机字长 (2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕 (1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。 (2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 (3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 (4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 (5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题〕 下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕 (1)255 (2)0 (3)94 (4)239

汇编语言与微机原理综合性实验报告

综合性实验报告 2012-2013-1 课程名称:《汇编语言与微机原理》班级:10级计算机(1)班 学号:1006111079 姓名:王东亮

实验项目:基于DOS系统功能调用、串处理指令的用户管理实验 1 实验目的与要求: 通过本综合性实验,可以达到以下目的: 1、掌握内存中数据的存储与管理方法; 2、掌握使用DOS系统功能调用的方法进行程序设计的三个基本步骤; 3、掌握使用DOS系统功能调用进行字符串显示与录入、存储的程序设计; 4、掌握字符串处理指令的功能、格式及使用方法; 5、掌握使用汇编语言进行程序设计、调试的方法。 2 实验内容: 1、进行子程序设计,功能为: (1)调用DOS系统功能进行字符串录入提示;并对用户根据提示输入的用户名进行存储;(2)系统自动匹配录入用户名与预设用户名,若相同,则提示“ENTER THE SYSTEM….”,否则,提示“REFUSED TO ENTER!”。 2、调用DOS系统21H中断的25H号功能,将此子程序的入口地址写入中断矢量表,中断矢 量号定义为60H。 3、定义主程序,功能如下: (1)在数据存储区域预设用户名; (2)使用INT 60H中断指令进行中断调用; 4、调试、执行程序并记录调试结果。 3 实验过程(要求在实验报告中写出全部代码,并提交纸质实验报告和电子文档,电子文档为实验报告、源代码、obj、exe文件的压缩包) 参考过程如下: 1、进入DOS操作系统; 2、键入EDIT 进入全屏幕编辑环境; 3、建立源文件.ASM 并保存; 4、返回DOS系统; 5、用汇编程序MASM对源文件汇编产生目标文件.OBJ; 6、用链接程序LINK产生执行文件.EXE; 7、执行程序; 8、进入DEBUG,进行程序功能调试的方法。 完整源代码如下: DATA SEGMENT WAITFINPUT DB 100 DB ? DB 100 DUP(?) USER_NAME DB "BRUTH" MESG DB "PLEASE INPUT THE USERS' NAME(=5):$" WEL DB "ENTER THE SYSTEM...$"

6/3位微机原理、汇编语言及接口技术__钱晓捷_版_课后习题答案639

第一章 1.1解: 五代,详细见书 1.2解: 微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件一一控制器和运算器的微处理器为核心,所构造出的计算机系统。 PC机:PC

微机原理与汇编语言_实验3_循环程序设计实验汇总

微机原理与汇编语言 实验报告 姓名x x x学号xxxxxx 专业班级计科x班 课程名称微机原理与汇编语言实验日期2014.10.22 实验名称循环程序设计实验成绩 一、实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 二、实验内容 1、实验原理 (1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题 (2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数 2、实验步骤 (1)流程图 (2)实验源码 .model small .stack ;定义堆栈段 .data ;定义数据段 inf1 db "Please input a number(1-627):$" inf2 db 0ah, 0dh, "1+2+......+$" ibuf db 7, 0, 6 dup(0) obuf db 6 dup(0) .code start: mov ax, @data mov ds, ax mov dx, offset inf1 ;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax 中 mov ah, 09h int 21h mov dx, offset ibuf mov ah, 0Ah int 21h mov cl, ibuf+1 mov ch, 0 mov si, offset ibuf+2 mov ax, 0 loop1: mov dx, 10 mul dx and byte ptr [si], 0Fh add al, [si] 从键盘输入一个十进制数,并将其转换为二进制数,存放在AX中 开始 结束 素、、 (CX)-1=0 累加循环次数送CX(MOV CX,AX)AX清0(AX中存放累加和) BX送1(BX存放每次循环累加的数,每循环一次,BX值加1) ADD AX,BX INC BX 累加和(在AX中)转换为十进制数并 显示 Y N

微机原理与汇编语言复习题及参考答案

中南大学网络教育课程考试复习题及参考答案 微型机原理与汇编语言 一、单项选择题: 1.设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A.51H B.A3H C.47H D.0C5H 2.下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3.完成对CL寄存器的内容乘以4的正确操作是() A.ROL CL,1 B.MUL4 C.SHL CL,1 D.MOV CL,2 ROL CL,1SHL CL,1SHL CL,CL 4.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 5.假设(AL)=37H,(BL)=95H,执行指令IMUL BL后(AX)=() A.0E903H B.2003H C.0DBBH D.2008H 6.下面的数据传送指令中,错误的操作是() A.MOV SS:[BX+DI],1000H B.MOV DX,1000H C.MOV WORD PTR[BX],1000H D.MOV DS,2000H 7.CPU要访问的某一存储单元的实际地址称() A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 8.某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9.计算机能直接识别的的语言() A.汇编语言 B.机器语言 C.高级语言 D.低级语言 10.下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为() A.直接、立即、间接 B.直接、间接、立即 C.立即、直接、间接 D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是() A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14.JMP BX的目标地址偏移量是() A.SI的内容 B.SI所指向的内存字单元之内容 C.IP+SI的内容 D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址 B.寄存器寻址 C.变址寻址 D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的?() A.19BH+25D B.25+AL C.108-102Q D.101B*OABH 17.用来存放即将执行的指令的偏移地址的寄存器是() A.SP B.IP C.BP D.CS 18.源变址寄存器是() A.SI B.DI C.SP D.BX

汇编语言与接口技术 习题解答

习题一解答: 1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000 (2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001 (3)[-1001]原=11001 [-1001]反=10110 [-1001]补=10111 1.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.1010 1.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正 反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000 补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000 (2)原码运算:比较可知,负数较大,用负数减正数,结果为负 反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+ 1.001101=1.110001 补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+ 1.001110=1.110010 1.6(1) (11011011)2=(219)10=(001000011001)BCD (2) (456)10=(010*********)BCD (3) (174)8=(124)10=(000100100100)BCD (4) (2DA)16=(730)10=(011100110000)BCD 1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506 (2)9876H看成无符号数时,转换为十进制数是:39030 1.8(1)98的压缩BCD码为:10011000B (2)98的非压缩BCD码为:0000100100001000B

相关文档
最新文档