文档库 最新最全的文档下载
当前位置:文档库 › 微机原理实验参考答案(航大)

微机原理实验参考答案(航大)

微机原理实验参考答案(航大)
微机原理实验参考答案(航大)

《微机原理》实验参考答案

实验1 汇编基本指令及顺序程序设计实验

实验2 分支与DOS中断功能调用程序设计实验

实验3 循环结构程序设计实验

实验4 存储器扩展实验

实验5 8259应用编程实验

实验1汇编基本指令及顺序程序设计实验

一、实验目的

1、掌握汇编语言的开发环境和上机过程;

2、掌握DEBUG命令;

3、掌握顺序程序设计方法;

4、掌握寻址方式;

5、理解和掌握汇编基本指令的功能。

二、实验内容

1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。

答:方法一CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,3000H

MOV BX,5000H

MOV CX,AX

MOV AX,BX

MOV BX,CX

CODE ENDS

END START

方法二CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,3000H

MOV BX,5000H

XCHG AX,BX

CODE ENDS

END START

方法三CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,3000H

MOV BX,5000H

PUSH AX

PUSH BX

POP AX

POP BX

CODE ENDS

END START

2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。

MOV AX,BX 寄存器寻址,将BX内容送AX

MOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AX

MOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AX 在DEBUG调试模式,用A命令直接编辑相应指令并用T命令单步执行,执行后查询相应寄存器的值并用D命令查内存。

3、已知有如下程序段:

MOV AX,1234H

MOV CL,4

在以上程序段的基础上,分别执行以下指令:

ROL AX,CL AX=2341H

ROR AX,CL AX=4123H

SHL AX,CL AX=2340H

SHR AX,CL AX=0123H

SAR AX,CL AX=0123H

RCL AX,CL 带进位标志位的循环左移

RCR AX,CL 带进位标志的循环右移

4、设有以下部分程序段:

TABLE DW 10H,20H,30H,40H,50H

ENTRY DW 3

LEA BX,TABLE

ADD BX,ENTRY

MOV AX,[BX]

要求:(1)将以上程序段补充成为一个完整的汇编程序。

答:DATA SEGMENT

TABLE DW 10H,20H,30H,40H,50H

ENTRY DW 3

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START: MOV AX,DATA

MOV DS,AX

LEA BX,TABLE

ADD BX,ENTRY

MOV AX,[BX]

MOV AH,4CH

INT 21H

CODE ENDS

END START

(2)AX=3000H

实验2 分支与DOS中断功能调用程序设计实验

一、实验目的

1、掌握条件转移、无条件转移指令的功能及应用;

2、掌握分支程序的设计、编写、调试和运行方法。

3、掌握1号、2号和9号功能调用及其程序设计方法。

二、实验内容

1、编程求|X-Y|,结果放在RESULT单元中。X和Y都为16位操作数。

DA TA SEGMENT

X DW 1234H

Y DW 5678H

RESULT DW ?

DA TA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV AX,X

SUB AX,Y

JAE NEXT;设X,Y是不带符号数,X>=Y转移

MOV AX,Y

SUB AX,X

NEXT: MOV RESYLT,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、编写一程序,实现从键盘输入一个字符,判断其是不是大写字母,如果是则请输出这个大写字母,如果不是,请输出“这不是一个大写字母”的英文信息(要求:能连续输入)。

DATA SEGMENT

MS1 DB ‘IT IS A BIG CAPITAL$’

MS2 DB ‘IT IS NOT A BIG CAPITAL$’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START:MOV AX,DATA

MOV DS,AX

NEXT: MOV DX,OFFSET MS2

MOV AH,1

INT 21H; 1号功能调用

CMP AL,0DH

JZ EXIT

CMP AL, ‘A’

JB NO

CMP AL, ‘Z’

JA NO

MOV DX,OFFSET MS1

NO: MOV AH,9

INT 21H

IMP NEXT

EXIT:MOV AH,4CH

INT 21H

CODE ENDS

END START

3、请编写一程序,实现将大写字母字符串转换成小写字母字符串。设字符串的首地址为STRING,字符串的长度在N单元内。

DA TA SEGMENT

STRING DB 'I AM A STUDENT!$'

N EQU $-STRING

DA TA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

START:MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET STRING

MOV CX,N

NEXT: MOV AL,[BX]

CMP AL,'A'

JB NEXT1

CMP AL,'Z'

JA NEXT1

ADD AL,20H

MOV [BX],AL

NEXT1:INC BX

LOOP NEXT

MOV AH,9

MOV DX,OFFSET STRING

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

4、编程显示任一寄存器(如BX)的最高位。即若BX的最高位为1,则在屏幕上输出“1”;若BX的最高位为0,则在屏幕上输出“0”。

CODE SEGMENT

ASSUME CS:CODE

START: MOV DL,'1'

MOV BX,8234H

CMP BX,0

JS SHOW

MOV DL,'0'

SHOW: MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

实验3 循环结构程序设计实验

一、实验目的

1、掌握循环指令LOOP、LOOPZ、LOOPNZ指令的功能及使用方法。

2、掌握循环程序的设计、编写、调试和运行方法。

二、实验内容

1、循环结构程序设计

编写一个程序,将内存1000H开始的连续100个字节送往2000H开始的连续100个内存单元中。要求使用三种不同的方法(不用串操作指令、用单一的串操作指令、用带重复前缀的串操作指令),下面已给出一种实现方法,请给出另外两种实现方法的源程序清单:

实验程序参考清单:

方法一带重复前缀的串操作指令

DATA SEGMENT

ORG 1000H

DB 100 DUP(…A?)

ORG 2000H

DB 100 DUP(…B?)

DA TA ENDS

CODE SEGMENT

ASSUME DS:DATA,ES:DATA,CS:CODE

START: MOV AX,DA TA

MOV DS,AX

MOV ES,AX

MOV SI,1000H

MOV DI,2000H

MOV CX,100

CLD

REP MOVSB

MOV AH,4CH

INT 21H

CODE ENDS

END START

方法二不带重复前缀的串操作指令

DATA SEGMENT

ORG 1000H

DB 100 DUP(…A?)

ORG 2000H

DB 100 DUP(…B?)

DA TA ENDS

CODE SEGMENT

ASSUME DS:DATA,ES:DATA,CS:CODE START: MOV AX,DA TA

MOV DS,AX

MOV ES,AX

MOV SI,1000H

MOV DI,2000H

MOV CX,100

CLD

NEXT: MOVSB

LOOP NEXT

MOV AH,4CH

INT 21H

CODE ENDS

END START

方法三不用串操作指令,而用MOV指令

DATA SEGMENT

ORG 1000H

DB 100 DUP(…A?)

ORG 2000H

DB 100 DUP(…B?)

DA TA ENDS

CODE SEGMENT

ASSUME DS:DATA,ES:DATA,CS:CODE START: MOV AX,DA TA

MOV DS,AX

MOV SI,1000H

MOV DI,2000H

MOV CX,100

NEXT: MOV AL,[SI]

MOV [DI],AL

INC SI

INC DI

LOOP NEXT

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、编程计算1+2+3+…+100的和。

答:用AX存放结果

CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,0

MOV BX,1

MOV CX,100

NEXT: ADD AX,BX

INC BX

LOOP NEXT

MOV AH,4CH

INT 21H

CODE ENDS

END START

如果想以十进制输出显示AX中的结果则需要增加显示输出程序(感兴趣同学参考,不要求):

DA TA SEGMENT

MS DB 5 DUP(?)

DB '$'

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START:MOV AX,DATA

MOV DS,AX

MOV AX,0

MOV BX,1

MOV CX,100

NEXT: ADD AX,BX

INC BX

LOOP NEXT

MOV SI,OFFSET MS

ADD SI,4

NEXT1:MOV DX,0

MOV BX,10

DIV BX

ADD DL,30H

MOV [SI],DL

DEC SI

CMP AX,0

JZ EXIT

JMP NEXT1

EXIT: MOV AH,9

MOV DX,OFFSET MS

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

实验4 存储器扩展实验

code segment

assume cs:code

org 1000h

Start: mov bx,8000h ;外部存储器起始地址BX

mov cx,2048 ;初始化计数器

RamWR: mov [bx],55aah ;将数据写入外部存储器inc bx ;地址+2

inc bx

loop RamWR ;地址不到8FFF则继续

jmp $ ;结束

code ends

end Start

实验5 8259应用编程实验

outseg equ 0ffdch ;字形控制口

outbit equ 0ffddh ;字位控制口

m8259 equ 0ffe0h ;8259控制口

c8259 equ 0ffe1h ;8259命令口

code segment

assume cs:code

org 1000h

start: cli ;清中断标志

call intsvr ;分配中断向量

call init ;8259初始化

sti ;置中断标志

mov dx,outbit ;选中LED第6位

mov al,000001b

out dx,al

call show_p ;显示"P."

jmp $ ;循环等待

;设置中断向量,写N=15的中断向量,中断向量表003CH-003FH单元intsvr: mov ax,0000h

mov es,ax

mov di,003ch

lea ax,irq7

stosw

mov ax,0000h

stosw

ret

;8259初始化

init: mov dx,m8259

mov al,13h

out dx,al ;边沿触发

mov dx,c8259

mov al,08h

out dx,al ;基地址

mov al,09h

out dx,al ;写命令字

mov al,7fh

out dx,al ;设置IMR,只开放IQR7,屏蔽其他

ret

;显示"0"

show_p: mov al,0 ;'0'

call disp ;显示

ret

;查表显示子程序

disp: mov dx,outseg ;字形控制口

mov bx,offset led

xlat ;查表

out dx,al ;送显示

ret

;IRQ7中断服务程序

irq7: cli ;清中断标志,关中断

inc al ;加一计数

and al,0fh ;只保留低4位,清零高位

push ax ;AX进栈保存

call disp ;显示

mov dx,m8259

mov al,20h

out dx,al ;写结束字

pop ax ;恢复AX

sti ;置中断标志,开中断

iret ;从中断返回

;字形代码表

led db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h ; 0 1 2 3 4 5 6 7 db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh ;8 9 A B C D E F

db 0ch ;'P.'

code ends

end start

微机原理上机

上机作业二 一.实验目的 1.熟练掌握汇编语言程序设计的方法及上机步骤。 2.掌握算术运算指令的应用。 3.掌握子程序的设计方法。 4.掌握DOS功能的调用方法。 三.沁仪器 586微机一台 四. 实验内容 编写程序求两个十进制数之和,并将和以十进制数的形式送屏慕显示。 编程要求与提示: [1]从键盘输入两个十进制数(如与),以二进制数形式存放在ADD1和ADD2为首址的存贮器单元,输入一个十进制数采用子程序形式。 [2]和以二进制数的形式存入SUM以下单元。 [3]将和送到屏幕显示采用子程序形式。 [4]实验步骤如下: a.用全屛幕编辑软件建立源程序。 b.用汇编程序对源程序进行汇编,形成目标程序。 c.用连接程序对目标程序进行连接形成可执行文件。 d.用DEBUG对连接通过的可执行程序进行调试。 五. 源程序 STACK SEGMENT STACK 'STACK' DW 100H DUP () TOP LABEL WORD STACK ENDS DATA SEGMENT FAKE DW 0 KEYBUFFER DB 100 DB DB 100 DUP()

BUF DB8DUP()「$ ADD1 DW Al DW ADD2 DW A2 DW SUM DW SI DW STRING1 DB 1 PLEASE input decimal data: $ DATA ENDS CODE SEGMENT ASSUME CS:CODE.DS:DATA.ES:DATA,SS:STACK START: MOV AX,DATA MOV DS.AX MOV ES,AX MOV AX,STACK MOV SS t AX LEA SP.TOP CALL INPUT1 CALL TRANS1OTO16 MOV ADD1,AX MOV Al.DX CALL DISPCR CALL INPUT1 CALL TRANS1OTO16 MOV ADD2,AX MOV A2.DX ? ?? CALL DISPCR MOV SUM,AX MOV Sl.DX ADD AX.ADD1 ADC DX,A1 MOV SUM,AX

同济大学微机原理实验报告

《微机原理与接口技术》上机实验报告

《微机原理与接口技术》上机实验报告

实验报告:(包括目的、方法、原理、结果或实验小节等)。 一、实验目的 掌握简单并行接口的工作原理及使用方法。 二、实验内容 1、按下面图一简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。 3、按下面图二简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。 图一图二 三、实验中使用到的程序 对于简单并行输出接口: stack1 segment stack 'stack' dw 32 dup(0) stack1 ends data segment baseport equ 0ec00h-280h;实际基址 port equ baseport+2a8h;基址+偏移地址 data ends code segment assume ss:stack1,ds:data,cs:code start: mov ax,data mov ds,ax again: mov ah,1 int 21h

微机原理与汇编语言程序设计汇编实验报告

(此文档为word格式,下载后您可任意编辑修改!) 昆明学院课程设计(大作业)

目录 1题目分析 (5) 2基本理论 (5) 3 总体设计 (6) 3.1 本程序的功能结构图 (6) 3.2字符输入及存储设计 (8) 3.3加、减、乘、除法运算的判断设计 (8) 3.4加、减、乘、除法运算的设计 (9) 4实验器材 (10) 5方法步骤 (11) 6成效分析 (11) 6.1运行界面分析 (11) 6.2调试过程及分析 (13) 7心得体会 (14) 8参考文献 (14) 9附录 (14) 课程设计(大作业)报告 一、题目分析 本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算 的问题。重点和难点主要包括以下几个方面: (1)利用BIOS调用中INT 16H调用中的子程序完成清屏、设置显示方式、设置窗口等操作。

(2)利用INT 21H DOS系统功能调用中的键盘输入接收十进制操作数和运算符由程序完成字符转换为二进制数,并存储起来。 (3)根据运算符完成运算,由程序在屏幕上显示运算结果。 1、十进制数转换为二进制数过程如下: (1)将BX清0. (2)从键盘接收一个按键的ASCII送AL中,并判断是否为0到9之间的字符,若不是转退出;否则将AL中内容减30H,转换为相应数字的二 进制数,并扩展到AX中,然后将BX中内容乘以10后,再加上AX中 的内容。 (3)转(2)继续执行 因此程序退出后,BX中的内容即为所输入十进制数的二进制值。 例如:首先将BX清0后,先输入数字“5”,则(AL)=35H,属于0 到9之间的数字,减30H后,(AL)=05H,扩展后,(AX)=0005H,BX 乘以10后,加上AX中的内容,(BX)=0005H。 然后输入数字“8”,则(AL)=38H,属于0到9 之间的数字,减30H 后,(AL)=38H,扩展后,(AX)=0008H,(BX)乘以10后,加上AX 中的内容,(BX)=0037H,为十进制数“58”的二进制值。 十进制数显示过程如下(被显示的数据<9999): (1)将被显示的内容送入BX中; (2)BX除以1000,余数送BX,商在AL中,范围为0~9; (3)显示AL中的内容; (4)(BX)除以100,余数送BX,商在AL中,范围为0~9; (5)显示AL中的内容。以此类推,直到分离出个位数字为止。 在这里有一个特殊问题需要讨论:例如“53”这个十进制数,除以1000除以100的商都为0,不应显示。为了能够实现高位的“0”不显示,程序中设置一个标志M,初始值都设置为1。若M=1且商为0,则这个0不现实;若M=1且商不为0,则说明这是第一个非0数字,开始显示,并将M设置为0;若M=0,则商值都显示。如果结果本身就是0,则个位的0显示。 二、基本理论 本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运

微机原理作业答案

微机原理作业 1.8086C P U由哪两部分组成?它们的主要功能是什么? 答:8086CPU由总线接口单元(BIU)和指令执行单元(EU)组成。总线接口单元(BIU)的功能是:地址形成、取指令、指令排队、读/写操作数和总线控制。指令执行单元(EU)的功能是指令译码和指令执行。 2.微型计算机系统由微处理器、存储器和I/O接口等 组成。 3.8086CPU中的指令队列可存储6个字节的指令代码,当指令队列 至少空出 2 个字节时,BIU单元便自动将指令取到指令队列中; 4.8086系统中,1MB的存储空间分成两个存储体:偶地址存储体 和 奇地址存储体,各为512 字节。 5.8086系统中存储器采用什么结构?用什么信号来选中存储体? 答:8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512K。用AO和BHE来选择存储体。当AO=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当AO=0,BHE=0时,访问两个存储体。 6.在8086CPU中,指令指针寄存器是 C 。 (A) BP (B) SP (C) IP (D) DI 7.8086CPU中的SP寄存器的位数是 B 。 (A) 8位(B) 16位(C) 20位(D) 24位 8.8086CPU中指令指针寄存器(IP)中存放的是 B 。 (A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址(最 大),若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?答:堆栈段的物理地址范围:35000H~357FFH

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

微机原理与接口技术 北邮 软件 实验报告

微机原理与接口技术软件实验报告

实验B 分支、循环程序设计 一、实验目的 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS功能调用。 二、实验任务及内容 1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。 2.编写一个程序统计数据区中正数,负数和零的个数。 3.将统计结果在屏幕上显示。 4. 选作题: 统计出正奇数,正偶数,负奇数,负偶数以及零的个数.

四、源程序 DISPSTR MACRO STR ;打出字符串(属于DOS功能调用)MOV AH,9 MOV DX,SEG STR MOV DS,DX MOV DX,OFFSET STR INT 21H ENDM DISPNUM MACRO NUM ;打出数字(属于DOS功能调用)MOV AH,2 MOV DL,NUM ADD DL,30H ;加30H变为ASCII码 INT 21H ENDM DATA SEGMENT NUM DB 3,2,7,0,1,0,-5,-4,0 COUNT EQU $-NUM ;统计数据个数 ZEROS DB 0 ;各类数初值均为0 PLUSES DB 0 MINUSES DB 0 EVENMINUSES DB 0 ODDMINUSES DB 0 EVENPLUSES DB 0 ODDPLUSES DB 0 ZEROSTR DB 0DH,0AH,'ZERO:$' ;待输出字符串

PLUSSTR DB 0DH,0AH,'PLUS:$' MINUSSTR DB 0DH,0AH,'MINUS:$' EVENMINUSSTR DB 0DH,0AH,'EVENMINUS:$' ODDMINUSSTR DB 0DH,0AH,'ODDMINUS:$' EVENPLUSSTR DB 0DH,0AH,'EVENPLUS:$' ODDPLUSSTR DB 0DH,0AH,'ODDPLUS:$' DATA ENDS STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START PROC FAR PUSH DS ;初始化 MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV CX,COUNT ;CX控制循环次数 MOV SI,OFFSET NUM ;SI指向数据的偏移地址 LOOP1: CMP BYTE PTR[SI],0 ;将SI指向的内容与0比较大小JZ ZERO ;等于0跳转 JG PLUS ;大于0跳转 INC MINUSES ;负数加一 SHR BYTE PTR[SI],1 ;判断是负奇数还是负偶数 JNC EVENMINUS ;是负偶数跳转 INC SI ;SI指针后移 INC ODDMINUSES ;负奇数加一 RETURN: LOOP LOOP1 ;循环直至CX=0 JMP DISP ;循环结束后跳转至打出结果 ZERO: INC ZEROS INC SI JMP RETURN ;返回循环体 PLUS: INC PLUSES SHR BYTE PTR[SI],1 JNC EVENPLUS

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 2011年10月10日

实验1 基本操作实验 1. 实验目的 (1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 (2) 掌握使用运算类指令编程及调试方法; (3) 掌握运算类指令对各状态标志位的影响及其测试方法; (4) 学习使用软件监视变量的方法。 2. 实验设备 PC机一台,TD-PITC 实验装置一套。 3. 实验内容及步骤 通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会: ●如何设置断点; ●如何单步运行程序; ●如何连续运行程序; ●怎样查看寄存器的内容; ●怎样修改寄存器的内容; ●怎样查看存储器的内容; ●怎样修改存储器的内容。 3.1 实验内容1――――BCD码转换为二进制数 实验内容: 将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。 参考实验程序清单如下: SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H A1: MOV AL, [SI] ADD AL, AL MOV BL, AL

ADD AL, AL ADD AL, AL ADD AL, BL INC SI ADD AL, [SI] MOV [DI], AL INC SI INC DI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤: 1)运行Wmd86 软件,进入Wmd86 集成开发环境。 2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1 语言环境选择界面 3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。默认文件名为Wmd861。 图1-2 新建文件界面 4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

微机原理课后作业答案(第五版)

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=10101010B [-42]反=11010101B [-42]补=11010110B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=11010101B [-85]反=10101010B [-85]补=10101011B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理及应用实验报告

微机原理及其应用上机实验报告 实验一 程序调试实验(顺序结构程序设计) 一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。 2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求: 1、上机前,要认真阅读前言和课本相关章节 2、上机前,画好流程图,编写好程序 3、上机时,注意出现的错误,记录下出错信息,翻译之 4、完成好实验报告 三、实验内容: 在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。 (2).分析 X 平方的值是tab 为首地址且x 的值为有效地址中的值。 data segment x db 8 y db data ends stack segment para'stack' db 100 dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax

mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start (3).程序调试: 4.心得体会 了解了顺序结构,掌握了程序的运行,调试。 实验二分支程序设计 一、实验目的: 熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。 二、实验要求: 1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。 2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。 二、实验内容

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

微机原理与接口技术实验汇总

实验要求 1、带预习报告上机 根据实验要求,作好充分预习,设计实验硬件原理及接线图(必须标出相关的管脚号,以备硬件连线及测试),画出程序流程图,写出源程序清单,规划好调试步骤,上机时带预习报告。注意:无预习报告者不得做实验。 2、认真实验,经教师检查后,方可离开 注意掌握软、硬件调试方法,提高分析问题、解决问题的能力。对所编写的程序必须十分清楚,作到知其然,亦知其所以然,硬件电路原理清楚,熟练应用常规的仪器(如万用表、示波器等)检查测试硬件电路。指导教师还会根据实验要求,提出问题。3、按时提交实验报告 实验结束后,在预习报告的基础上,完成实验报告,并于下次实验时交给指导教师。 实验报告格式 实验* ***** ***** ***** 一、实验目的 二、实验内容 三、硬件原理及接线图 四、程序流程图 五、程序清单 六、实验步骤 七、实验结果及现象分析 八、收获及建议 测13实验安排: 地点:综合实验楼0701 实验周次星期小节 一 6 五1,2 二8 五1,2 三10 五1,2 四12 五1,2 五14 五1,2

实验一汇编语言程序的调试 一、实验目的 1、掌握8086汇编程序的编辑、编译、连接及运行过程。 2、掌握使用HQFC软件调试程序的方法。 二、实验内容:编制程序并调试 1、上机调试P45 项目1程序。 要求:1)写出调试步骤 2)记下代码段数据。 3)记下数据段数据 4)用单步调试法调试,记下每句程序目的操作数执行结果。观察每句程序 执行过程中CS、 IP、 FLAGS寄存器的变化。 2、上机调试P54 项目2程序,用单步调试法指出每句程序的调试结果。 要求:1)记下代码段数据。 2)记下数据段数据 3)记下程序执行前附加段数据、程序执行后附加段数据。 3)用单步调试法调试,记下lop句之前每句程序目的操作数执行结果。 观察其它句程序的执行结果,观察每句程序执行过程中CS、 IP、 FLAGS寄存器的 变化。 三、调试步骤 1、编辑源程序,形成****.ASM文件(可用HQFC软件或XP系统下的记事本编辑源程序) (注:在E:盘上建立一个你自己的文件夹,保存你自己的文件) 2、编译,形成****.OBJ文件(可用HQFC软件的编译功能) 3、链接,形成****.EXE文件(可用HQFC软件的构建功能) 4、运行(或调试)(可用HQFC软件的重构运行功能或开始调试) 四、调试步骤参考 1、编译(编译) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择编译选项则程序对当前ASM源文件进行编译,编译调试窗口中输出汇编的结果,若程序汇编有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 2、构建(汇编+链接) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 3、重构运行(汇编+链接+执行) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接+执行选项则程序对当前ASM源文件执行,程序自动运行。

微机原理实验报告

微机原理 实验报告 学校:湖北文理学院、班级:电子1413 姓名:杨仕浩 学号:2014111347 指导老师:吉向东

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 四、实验程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?)

TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL A DDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: M OV AL,[SI] MOV BL,[DI] ADC AL,BL AAA MOV [SI],AL DEC SI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05H AD3: ADD BYTE PTR [SI],30H ADD BYTE PTR [DI],30H DEC SI

北邮微机原理软件实验报告

微机原理软件实验报告

实验二分支,循环程序设计 一、预习题: 1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来? 答:要屏显0-9的数码,可以调用02h中断,然后将要显示的数码的ASCII码存进DL 里,然后执行INT 21H就可以打印字符。当然,若不只一个数,调用09h中断(显示字符串)更好,但要将DS:DXZ指向要显示的数字在内存中的首地址,并要求以$结束。 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法? 答:CMP X,0 检验标志位CF CF=1,X为负数 CF=0接着检验ZF:ZF=1,X为零,ZF=0,X为正数 二、实验目的: 1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计; 3.掌握最简单的DOS 功能调用. 三、实验内容: 1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9. 2.编写一个程序统计数据区中正数,负数和零的个数. 四、实验源代码 assume cs:code,ds:data data segment buff db 1,2,3,4,5,-1,-2,-3,0,0 ;安排的数据区 string db '>0:' plus db 0 ;用变量plus来存储正数的个数 db 0ah,0dh string1 db '=0:' zero db 0 ;用变量zero来存储零的个数 db 0ah,0dh string2 db '<0:' minus db 0 ;用变量minus来存储负数的个数 db '$' data ends code segment start:movax,data movds,ax mov cx,10 ;初始化,并将CX赋为10,因为共有10个数 mov dx,0 ;将计数器dx,ah初始化为0 mov ah,0 lea bx,buff compare:cmp byte ptr [bx],0 ;取出一个数与0进行比较 jgeplu ;大于等于0,跳至plu执行 inc ah ;小于0,用ah暂存小于0的个数,ah+1 jmp next ;比完后进行下一个数的比较

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 1)利用实验箱上的4x4键盘及6位数码管,实现两个16位宽的非负整数(0~65535)进行+、-、×运算,计算结果限制在范围-65535~65535,超过范围在数码管最低位显示E; 2) 16个按键的分配可以自行指定; 【扩展要求】 1)按基本要求保持输入的范围不变(16位宽),扩展计算结果的范围到用足6位数码管,当计算结果超过-65535~999999时,显示E; 2)增加÷的功能,有小数显示; 【实验程序】 ;该程序实现了基本要求及扩展要求的2) DSEG SEGMENT BUFF DB 6 DUP() LED_7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39 H,5EH,79H,71H,00H,40H POSITION DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH UNIT10 DW 10000,1000,100,10,1 NEWNUM DB 0 COUNT DB 0 FLAG DB 0 ;是否有键按下的标志 NEGTI DB 0 ;是否为负数的标志 NUM DW 0 NUM1 DW 0 NUM2 DW 0 TAG DB 0 ;运算种类标志 POINT DB 0 ;除法结果添加小数点标志 RESULT DW 0 DSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV DX,300CH ;8255初始化 MOV AL,81H OUT DX,AL LEA SI,BUFF MOV CX,6 NEXT: MOV BYTE PTR[SI],16 INC SI LOOP NEXT CALL SHOW ;将显示缓冲区中内容在LED上一次显示出来 MOV COUNT,0 ;记按下了几位数 NEXT2: CALL SHOW CALL SCAN ;判断是否有按键按下 CMP FLAG,1 JZ OK JMP NEXT2 OK: MOV FLAG,0 MOV POINT,0 MOV DX,3000H ;判断是哪一个键被按下 MOV AL,0FFH OUT DX,AL MOV CH,-1 ;CH用于保存当前被扫描的列号MOV CL,07FH XL: ROL CL,1 INC CH MOV DX,3000H MOV AL,CL OUT DX,AL MOV DX,3008H

微机原理作业教材

《微型计算机原理及应用》作业 作业组别:第30组 班级:12级轧钢二班 姓名:贾闯 学号:120101020023 指导教师:李艳文 完成时间:2015年 05 月

30.1 一、题目及题目分析描述及要求 题目:内存中SOURCE处存放着10个字节型数据,请记录每个字节数据中二进制位1的个数,并按照数据字节在前,1的个数在后的顺序将处理结果存放到RESULT处。分析:逐一取出内存中的10个数据,对每个字节型数据进行左移或右移八次,由带进位加法指令adc对一的个数进行求和,最后把所求和放入变量RESULT中。 预期结果:SOURCE = FEH,90H,FFH,DDH,42H,30H,81H,F3H,18H,25H RESULT = FEH,07H,90H,02H,FFH,08H,DDH,06H,42H,02H,30H,02H,81H,02H,F3H, 06H,18H,02H,25H,03H 二、寄存器及主存等的应用说明 本题原始数据存放在内存SOURCE中,执行结果存放在内存RESULT中。由si和di分别取得它们的偏移地址,dl存放由SOURCE所取的字节型数据,al用来存放每个字节型数据中二进制位1的个数。 三、程序框图

四、详细程序 .MODEL SMALL .STACK .DATA SOURCE DB 0FEH,90H,0FFH,0DDH,42H,30H,81H,0F3H,18H,25H COUNT EQU $-SOURCE ;取得source中字节个数RESULT DB 2*COUNT DUP (?) .CODE .STARTUP mov di,offset source ;取得source处的偏移地址 mov si,offset result ;取得result处的偏移地址 mov ch,0 mov cl,count ;循环次数 again: mov dl,[di] ;逐一取出source中的数据 call htoasc ;调用子程序 inc di ;地址加1 loop again .exit htoasc proc ;子程序 mov al,0 mov [si],dl ;存放dl到result next: shr dl,1 ;右移 adc al,0 ;带进位加法,确定1的个数 cmp dl,0 ;dl为零停止循环 jnz next mov [si+1],al ;存放1的个数到result inc si ;地址加2 inc si ret ;返回主程序 htoasc endp end

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室

实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结 果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次 后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如 果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列 了。则可以退出循环,结束程序。 程序结构框图和程序代码如下:

北邮《微机原理与接口技术》阶段作业汇总

《微机原理与接口技术》作业汇总 1.若欲使RESET有效,只要A即可。 A.接通电源或按RESET键 2.8086微处理器中的ES是D寄存器 D.附加数据段 3.8086 微处理器中BP 寄存器是A A.基址指针寄存器 4.8086/8088 微处理器中的BX是A A.基址寄存器 5.8086/8088微处理器顺序执行程序时,当遇到C指令时, 指令队列会自动复位,BIU会接着往指令队列中装入新的程序段指令。C.JCXZ 6.8086微处理器读总线周期中地址信号AD15~AD0在A期间处于高阻。 A.T2 7.8086/8088 微处理器引脚中B信号线能够反映标志寄 存器中断允许标志IF的当前值。 B.S5 8.访问I/O端口可用地址线有B条。B.16 9.8086/8088 微处理器可访问内存储器地址为A A.00000~FFFFFH 10.字符串操作时目标串逻辑地址只能由B提供 B.ES、DI 11.8086/8088微处理器中堆栈段SS作为段基址,则偏移 量为B。 B.SP 12.若有两个带有符号数ABH和FFH相加,其结果使F 中CF和OF位为C。 C.1;0 13.8086微处理器内部通用寄存器中的指针类寄存器是B。 B.BP 14.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是。B.BIU中的地址加法器15.当标志寄存器TF=1时,微处理器内部每执行完一条 指令便自动进行一次B。B.内部中断 16.8086/8088微处理器内部寄存器中的累加器是A寄存 器。 A.16位数据寄存器 17.8086微处理器中的BIU和EU是处于B的工作状态 B.并行 18.8086中指令队列和堆栈特点分别是C C.先进先出;后进先出 19.微型计算机各部件之间是用A连接起来的。 A.系统总线 20.若把组成计算机中的运算器和控制器集成在一块芯片 上称为C。 C.微处理器 21.相联存储器是指按C进行寻址的存储器。 C.内容指定方式 22.单地址指令中为了完成两个数的算术运算,除地址码 指明的一个操作数外,另一个数常需采用D。 D.隐含寻址方式 23.某存储器芯片的存储容量为8K×12位,则它的地址 线为C。 C.13 24.下列8086指令中,格式错误的是C。 C.MOV CS,2000H 25.寄存器间接寻址方式中,操作数处在C。C.主存单元 26.某计算机字长16位,其存储容量为2MB,若按半字 编址,它的寻址范围是C。 C.2M 27.某一RAM 芯片,其容量为1024×8位,其数据线和 地址线分别为C。 C.8,10 28.CPU在执行OUT DX,AL指令时,A寄存器的内容 送到数据总线上。 A.AL 29.计算机的存储器系统是指D。 D.cache,主存储器和外存储器 30.指令MOV AX, [3070H]中源操作数的寻址方式为C C.直接寻址 31.EPROM是指D D.光擦可编程的只读存储器 32.指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻 址方式,可以实现D.程序的条件转移成无条件转移33.8086 CPU对存贮器操作的总线周期的T1状态, AD0~AD15引脚上出现的信号是A。A.地址信号 34.堆栈是按D组织的存储区域。D.先进后出原则 35.8086/8088中源变址寄存器是A。A.SI 36.8086/8088中SP是D寄存器。D.堆栈指针寄存器 37.8086/8088中FR是A寄存器。A.标志寄存器 38.8086/8088中IP是C寄存器。C.指令指针寄存器 39.假设AL寄存器的内容是ASCII码表示的一个英文字 母,若为大写字母,将其转换为小写字母,否则不变。 试问,下面哪一条指令可以实现此功能A。 A.ADD AL, 20H 40.逻辑右移指令执行的操作是A。 A.符号位填0,并 顺次右移1位,最低位移至进位标志位 41.假设数据段定义如下: DSEG SEGMENT DAT DW 1,2,3,4,5,6,7,8,9,10 CNT EQU ($-DAT)/2 DSEG ENDS 执行指令MOV CX,CNT后,寄存器CX的内容是D D.4 42.在下列段寄存器中,代码寄存器是B。B.CS 43.在执行POP[BX]指令,寻找目的操作数时,段地 址和偏移地址分别是B。B.在DS和BX中 44.设DS=5788H,偏移地址为94H,该字节的物理地址 是B。B.57914H 45.设AX=1000H NEG AX

相关文档
相关文档 最新文档