当前位置:文档之家› 微机原理第二次作业答案

微机原理第二次作业答案

微机原理第二次作业答案
微机原理第二次作业答案

微机原理第二次作业

机械1409 龚琛婷U201410804

2.4

(1)MCS-51的RST具有复位单片机、作为备用电源输入端的作用。只要在该引脚上输入24个震荡周期以上的高电平就会使单片机复位。而当电源Vcc掉电或者低于规定电平时,该引脚又可作为备用电源输入端。

A LE是地址锁存使能输出/编程脉冲输入端。当CPU访问外部存储器时,ALE 的输出作为外部锁存地址的低位字节的控制信号。当CPU不访问外部存储器时,ALE仍以1/6的时钟震荡频率输出正脉冲,可对外输出时钟信号也可用于定时。EA是外部访问允许/编程电源输入端。当其等于1时,在不超过4KB地址范围时,CPU访问片内程序存储器,超过4KB时,CPU访问片外程序存储器。当其等于0时,CPU只访问片外程序存储器。

(2)对于8051,可以EA=1也可以EA=0。若需要CPU访问片外程序存储器,则令EA=0;若对片内片外无要求,则令EA=1。

对于8031,因为没有片内程序存储器,所以该引脚只能接低电平。

2.5

PSEN是外部程序存储器读选通道信号。在CPU访问外部程序存储器时,每个机器周期会出现两次该有效信号,在CPU访问外部数据存储器时,该信号不出现。WR第一功能作为普通I/O口,第二功能作为外部数据存储器“写”信号输出。RD第一功能作为普通I/O口,第二功能作为外部数据存储器“读”信号输出。

2.6

①堆栈是在单片机内RAM中开辟一个专用区,而指定内部数据存储器地址07H~7FH中一部分连续存储区作为堆栈。

②作用:堆栈主要是为子程序调用和中断操作而设立的。专门用来暂时存放数据或存放返回地址,并按照“后进先出”的原则操作。

③系统复位后,SP指向07H,但08H~1FH单元为工作寄存器区1~3,在程序设计时可能会用到这些区,为了避免冲突,要对SP进行重新赋值。

④应设为0FH或更大值。

2.8

①时钟周期:又称为状态周期。震荡源的震荡脉冲经过2分频后作为时钟脉冲,所以时钟周期是震荡周期的2倍。

机器周期:CPU执行一条指令可以分为若干个操作阶段,而完成每个基本操作的时间就成为机器周期。

指令周期:CPU执行一条指令所需要的时间成为指令周期。一般一个指令周期包含1~4个机器周期。

②8051的一个机器周期包含6个时钟周期,12个震荡周期。所以一个机器周期为1/12 x12=1微秒。

微机原理与接口技术实验指导_4_循环程序设计实验

2.4 循环程序设计实验 2.4.1 实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 2.4.2 实验预习要求 1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构、循环控制方法等知识。 3、读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。 4、根据“2.4.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。 5、从“2.4.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.4.3 实验内容 计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息: Please input a number(1 627): ;出现此信息后通过键盘输入一个小于628的无符号整数 1+2+…..n=sum;其中n为用户输入的数,sum为所求的累加和 程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示 的范围)。 1、编程指导 (1)键盘输入的十进 制数如368在计 算机中是以 33H,36H,38H 形式存放的,如 何将它们转换为 一个二进制数 101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下: DA TA SEGMENT INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DA TA START: MOV AX, DA TA MOV DS, AX MOV DX, OFFSET INF1 MOV AH, 09H INT 21H MOV DX, OFFSET IBUF ;键入一个十进制数(<65535) MOV AH, 0AH INT 21H MOV CL, IBUF+1 ;十进制数的位数送CX MOV CH, 0

微机原理实验简易计算器

【实验题目】 简易计算器设计 【实验目的】 综合测试学生微机接口技术及应用能力,包括系统构思设计、电路设计搭建、软件调试等; 结合应用实际,培养学生运用微机技术服务应用、服务实际的能力。 【基本要求】 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,7C H,39H,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 .

微机原理三次作业及自测题汇总

微机第一次作业 1、11000110为二进制补码,该数的真值为(B )。 a. +58 b. -58 c. -198 d. +198 2、16个字数据存储区的首址为70A0H:DDF6H,末字单元的物理地址为( C )。 a. 7E816H b. 7E7F8H c. 7E814H d. 7E7F6H 3、8位二进制数的原码表示范围为( A )。 a. -127 ~+127 b. 0 ~255 c. -128 ~+128 d. -128 ~+127 4、完整的计算机系统应包括(B )。 a. 运算器、控制器、存储器 b. 硬件设备和软件系统 c. 主机和外部设备 d. 主机和应用程序 5、存储字长是指(B )。 a. 以上都是 b. 存储单元中二进制代码个数 c. 存储单元的个数 d. 存储单元中二进制代码组合 6、运算器执行两个补码表示的整数加法时,产生溢出的正确叙述为(C )。 a. 相加结果的符号位为1则产生溢出 b. 最高位有进位则产生溢出 c. 相加结果的符号位与两同号加数的符号位相反则产生溢出 d. 相加结果的符号位为0则产生溢出 7、堆栈存储器存取数据的方式是(A )。 a. 先进后出 b. 都可以 c. 随机存取 d. 先进先出 8、下列数中最小的数是(D )。 a. (97)10 b. (62)16 c. (142)8 d. (1011011)2 9、程序计数器PC的作用是(B )。 a. 保存CPU要访问的内存单元地址 b. 保存将要执行的下一条指令的地址 c. 保存正在执行的一条指令 d. 保存运算器运算结果内容 10、若某CPU具有64GB的寻址能力,则该CPU的地址总线宽度为(A )。 a. 36 b. 64 c. 32 d. 24 11、8086系统中,每个逻辑段的最多存储单元数为(D)。 a. 1MB b. 256B c. 根据需要而定 d. 64KB 12、在机器数(C )中,零的表示形式是惟一的。 a. 原码 b. 反码 c. 补码 d. 原码和反码 13、指令队列具有(B )的作用。 a. 暂存指令地址 b. 暂存预取指令 c. 暂存操作数 d. 暂存操作数地址 14、8位二进制数的反码表值范围为(A)。 a. -127~+127 b. -128 ~+127 c. 0 ~255 d. -128 ~+128 15、用MB表示存储器容量时,1MB等于(D )。 a. 216个字节 b. 210个字节 c. 232个字节 d. 220个字节 16、某补码表示的8位二进制整数由5个1和3个0组成,则其可表示的最小值是(B )。 a. -15 b. -113 c. -120 d. -121 17、MIPS用来描述计算机的运算速度,含义是(A )。 a. 每秒执行百万条指令 b. 每秒处理百万个字符 c. 每分钟执行百万条指令 d. 每分钟处理百万个字符 18、8个字节数据存储区的首址为0H:DDF6H,末字节单元的物理地址为(D )。 a. 7E714H b. 7E7FEH c. 7E7F6H d. 7E7FDH 19、下列逻辑地址中对应不同的物理地址的是(A)。 a. 03E0H:0740H b. 0420H:0140H c. 03C0H:0740H d. 0400H:0340H 20、指令队列工作方式为(A )。 a. 先进先出 b. 先进后出 c. 随机存取 d. 都可以 21、8086当前被执行的指令存放在(C )。 a. CS:PC b. DS:BX c. CS:IP d. SS:SP 22、8086系统中,一个栈可用的最大存储空间是(C)。

微机原理实验指导书

微型计算机原理与应用实验指导书 上海大学通信学院

2010 年4 月 PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 要求:在PC机上完成下列程序的调试运行,并写出运行结果。二、1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F 调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的内容: -R回车 看到什么 (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W ”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 2 1 MOV DL, 4E INT 21 MOV DL, 44 INT 2 1 MOV DL, 4F INT 2 1 MOV DL, 57 INT 2 1 MOV DL, 53 INT 2 1 INT 3 ;功能是产生一个断点,不要省略 (4)输入U 命令反汇编上面的程序: -U 100 问:这里100代表什么 (5)输入G命令连续运行上面的程序,记录运行结果:

-G=100 ,57,53依次分别改为574F4E57 (6)输入E命令把上面程序中的数据,49,,44,,45:,,45,4C43,4F4D,-E 103 回车(以下同) -E 107 10B-E -E 10F 113-E 117-E 11B-E (7)输入D命令查看程序机器码的存放情况: -D 100 11E ;看从100开始到11E的机器码 (8)输入G命令再连续运行程序,并记录运行结果: -G=100 (9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各 命令的运行结果: -T=100 回车 -G=100 106 回车 -G=100 10A 回车 -G=100 10E 回车 -G=100 11E 回车 注意: 下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改: 例如:CS:0100 B300 MOV BL,0 0102 53 PUSH BX 0103 B220 LP1: MOV DL,20 要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作: -A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。 如果要查看0100以后的指令及相应的机器代码,可以 -U 0100 回车,能够看到CS:0100开始的指令及相应的机器代码。“-U ”是反汇编 若发现有误用,用“-A XXXX 回车”,重打这条指令即可 2.编制一个能在CRT上连续显示A,B,C,D······Z大写英文字符的源程序,并在源程序下汇编调试机运行。

微机原理及应用实验(题目)

微机原理及应用实验 实验一开发环境的使用 一、实验目的 掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。二、实验内容 在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的 30H~7FH 单元清零。 三、实验设备 PC机一台。 四、实验步骤 用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。五、实验思考 1.如果需把30H-7FH 的内容改为55H,如何修改程序? 2.如何把128B的用户RAM全部清零? 六、程序清单 文件名称:CLEAR.ASM ORG 0000H CLEAR: MOV R0,#30H ;30H 送R0寄存器 MOV R6,#50H ;50H 送R6寄存器(用作计数器) CLR1: MOV A,#00H ;00 送累加器A MOV @R0,A ;00 送到30H-7FH 单元 INC R0 ;R0 加1 DJNZ R6,CLR1 ;不到50H个字节,继续 WAIT: LJMP WAIT END 实验二数据传送 一、实验目的 掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。 二、实验内容 1.编制一段程序,要求程序中包含7中不同寻址方式。 2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。 3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。 4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。 三、实验设备 PC机一台。

微机原理作业_孙书部分课后题_

第一次 1. 接口电路的作用是什么?I/O 接口应具备哪些功能? 答:接口是CPU 和外设交换信息的中转站。 ⑴数据缓冲功能 ⑵联络功能 ⑶寻址功能 ⑷数据转换功能 ⑸中断管理功能 2. 什么是端口?端口有几类? 答:能与CPU 交换信息的寄存器成为I/O 寄存器,简称“端口”。 按端口的寄存器存放信息的物理意义来分,端口可分为3类: 1)数据端口 2)状态端口3)控制端口 3. I/O 接口有哪两种编程方式? PC 系列机中采用哪种编程方式? 答:⑴端口和存储单元统一编址 ⑵I/O 端口独立编址 在PC 系列机中,I/O 端口采用独立编址方式。 4.说明定时/计数器8254的GATE 信号在6种工作方式下的作用以及与时钟信号CLK 的关系。 答:(老师答复)这道题超出范围了,只要求掌握方式2和3,只要知道计数过程中GATE 信号必须是高电平即可。 5.系统机定时/计数器的一个通道定时周期最长是多少?要实现长时间定时,应采取什么措施?如果采用外扩8253定时/计数器实现长时间定时,应采取哪些措施? 答:①ms K T T CLK 5511931821 6553665536max = = ②软件计数 ③⑴减小输入信号的频率 ⑵级联 6.设PC 系统机外扩了一片8254 及相应的实验电路。 (1) 根据由门电路构成的译码电路,分析出该片8254 的四个端口地址。其中控制口的地址是____213H ____(填16 进制格式)。 片选信号CS =0时芯片工作, 要CS =0,那么xxB A A 10000100~09= 即端口号为210H ~213H ,所以控口地址为213H (2) 设CLK0 已接至8MHz 时钟,为了能从OUT0 输出4KHz 的方波,编写了8254初始化程

微机软件实验习题与答案(完整版)

微机原理软件实验 实验1 两个多位十进制数相加的实验 实验容:将两个多位十进制数相加,要求加数和被加数均以ASCII码形式各自顺序存放以DATA1和DATA2为首的5个存单元中(低位在前),结果送回DATA1处。完整代码如下: DATAS SEGMENT ;此处输入数据段代码 STRING1 DB'input the first number:','$' STRING2 DB 13,10,'input the second number:','$' STRING3 DB 13,10,'the output is:','$' DATA1 DB 6 DUP(00H),'$' DATA2 DB 6 DUP(00H),'$' DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 L0: LEA DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21H INPUT1: ;输入第一个数 MOV AH,01;输入字符至AL中 INT 21H CMP AL,'/' JE L1 MOV [SI],AL INC SI

JMP INPUT1 L1: LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H INPUT2: ;输入第二个数 MOV AH,01;输入字符至AL INT 21H CMP AL,'/' JE L2 MOV [DI],AL INC DI JMP INPUT2 L2: MOV SI,0 CLC;清空进位标志位CF MOV CX,6

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 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所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

微机原理实验

;实验一汇编程序、链接程序、编辑程序及调试程序得基本使用方法 ;一、实验目得 ;1.熟悉在PC机上建立、汇编、连接、调试与运行汇编语言程序得过程。 ;2.掌握字符串得复制,并会用各种方法实现。 ;3.掌握字符串显示得DOS功能调用。 ;二、实验内容及要求 ;1.将以符号地址为ARRAY1开始得字符串“请自己定义”复制到ARRAY2开始得存储单元中并显示在屏幕上。 ;2、使用三种方法传送: ;(1) 用MOV指令传送 ;(2) 用基本串传送指令 ;(3) 重复串传送指令 MY_DATA SEGMENT PARA 'DATA';数据段 DISP1 DB 'How are you?',0aH,0DH,'$'; ARRAY1 DB 'DI',41H,'NZI09','$'; ARRAY2 DB 20 dup(0) MY_DATA ENDs MY_CODE SEGMENT PARA 'CODE' ;代码段 MY_PROC PROC FAR ASSUME CS:MY_CODE, DS:MY_DATA START: MOV AX,MY_DA TA MOV DS,AX MOV ES,AX LEA DX,DISP1;显示提示字符串 MOV AH,09H INT 21H ;;开始(1) 用MOV指令传送 ;LEA SI,ARRAY1; ;LEA DI,ARRAY2; ;MOV CX,09H LOOP1: ;MOV BH, [SI] ;MOV [DI], BH ;INC SI ;INC DI ;LOOP LOOP1 ;;开始(2) 用基本串传送指令 LEA SI,ARRAY1; LEA DI,ARRAY2; MOV CX,09H CLD LOOP2: MOVSB LOOP LOOP2 ;;开始(3) 重复串传送指令 ;LEA SI,ARRAY1;

微机原理第二次作业(1)

1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。 (1)MOV AX,2408H (2)MOV CL,0FFH (3)MOV BX,[SI] (4)MOV 5[BX],BL (5)MOV [BP+100H],AX (6)MOV [BX+DI],’$’ (7)MOV DX,ES:[BX+SI] (8)MOV VAL[BP+DI],DX (9)IN AL,05H (10)MOV DS,AX (1)立即数寻址;寄存器寻址 (2)立即数寻址;寄存器寻址 (3)寄存器间寻址;寄存器寻址 (4)寄存器寻址;寄存器相对寻址 (5)寄存器寻址;寄存器相对寻址 (6)立即数寻址;基址变址寻址 (7)基址变址寻址;寄存器寻址 (8)寄存器寻址;相对基址变址寻址 (9)直接寻址;寄存器寻址 (10)寄存器寻址;寄存器寻址 2 已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H 单元的内容分别为10H,2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX 寄存器的内容各是什么? (1)MOV AX,0200H (2)MOV AX,[200H] (3)MOV AX,BX (4)MOV AX,3[BX] (5)MOV AX,[BX+SI] (6)MOV AX,2[BX+SI] (1)AX=0200H (2)AX=2A10H (3)AX=0200H (4)AX=5946H (5)AX=463CH (6)AX=6B59H

3. 设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H, BP=0200H, 数据段中变量名为VAL 的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什 么?物理地址值是多少? 1)MOV AX,[100H] (2)MOV AX,VAL (3)MOV AX,[BX] (4)MOV AX,ES:[BX] (5)MOV AX,[SI] (6)MOV AX,[BX+10H] (7)MOV AX,[BP] (8)MOV AX,VAL[BP][SI] (9)MOV AX,VAL[BX][DI] (10)MOV AX,[BP][DI] (1)直接,10100H (2)直接,10030H (3)寄存器间接,10100H (4)寄存器间接,20100H (5)寄存器间接,100A0H (6)寄存器相对,10110H (7)寄存器间接,35200H (8)相对基址变址,352D0H (9)相对基址变址,10154H (10)基址变址,35224H 4 若AL=0FFH,BL=13H,指出下列指令执行后标志AF、OF、ZF、SF、PF、CF的状态。 (1) ADD BL, AL (2) SUB BL, AL (3) INC BL (4) NEG BL (5) AND AL, BL (6) MUL BL (1)AF= 1 , OF= 1 , ZF= 0 , SF= 0 , PF= 1 , CF= 1 (2)AF= 0 , OF= 0 , ZF= 0 , SF= 0 ,PF= 1 , CF= 0 (3)AF= 0 , OF= 0 , ZF= 0 , SF= 0 ,PF= 1 , CF= 0 (4)AF= 0 , OF= 0 , ZF= 0 , SF= 1 ,PF= 1 , CF= 0 (5)AF= 0 , OF= 0 , ZF= 0 , SF= 0 ,PF= 0 , CF= 0 (6)AF= 0 , OF= 0 , ZF= 0 , SF= 0 ,PF= 0 , CF= 0

微机原理实验讲义

微机原理实验讲义 程曙艳编 厦门大学自动化系 2016年10月

汇编语言的上机过程 1、建立汇编语言的工作环境 至少有以下程序文件: 编辑程序,文件名https://www.doczj.com/doc/079528387.html,,使用https://www.doczj.com/doc/079528387.html,编辑程序代码生成*.asm。 汇编程序,文件名MASM.EXE,使用masm.exe对*.asm文件进行汇编,生成*.obj 文件 连接程序,文件名LINK.EXE,使用link.exe对目标文件*.obj进行连接生成*.exe 文件 调试程序,文件名DEBUG.EXE,使用debug.exe对可执行文件*.exe进行调试运行 (1)编辑 可以用记事本或DOS下的EDIT编辑器来编写源程序。但程序保存时文件必须取名为*.asm 。或EDIT 文件名.asm 打开已经存在的文件。 (2)汇编 在DOS状态执行masm 文件名,则屏幕显示与操作如下: (3)连接 汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe。在DOS 状态执行link 文件名,则屏幕显示与操作如下: (4)运行、调试

>DEBUG 文件名.exe Debug运行后,出现状态提示符短划线- 常用debug命令: D,显示内存单元内容 R,显示与修改寄存器内容 T、P,单步执行命令 G,连续执行指令 U,反汇编 Q,退出DEBUG程序 2. 汇编语言程序格式 汇编语言由若干个段组成: 堆栈段(保存数据、断点等信息) 代码段(存放指令)必需 数据段(定义数据,分配存储单元) 附加段(定义数据,分配存储单元) 每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾 STACK SEGMENT ...... STACK ENDS DATA SEGMENT ...... DATA ENDS ESEG SEGMENT ...... ESEG ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA,SS:STACK,ES:ESEG START:mov ax, data mov ds, ax mov ax, eseg mov es, ax mov ax, stack mov ss, ax ………. CODE ENDS END START

微机原理与应用第四次实验报告

微机原理与应用第四次实验报告 实验6 汇编语言程序结构 一、实验目的 1.掌握汇编语言项目上机过程 2.掌握汇编语言程序结构和常用伪操作 3.掌握汇编语言程序设计和调试方法 4.掌握MSP430F1xx基本I/O控制方法 二、实验任务 1.学习汇编指示性语句(可在simulator下完成) 在EWH8下新建项目Lab_6,编写下面程序L6_directives.s43(程序清单见后页,该程序只是为了学习指示性语句,程序本身并没有实现什么特定功能),利用project/remove移出模板文件test_asm.s43,点击project/add/files将L6_directives.s43添加到项目中。 1) 利用EW430下的view/memory查看DATA16_C段中定义的存储单元内容和地址,在memory/go的窗口内输入存储单元的符号(如number1)即可查看到该符号对应的存储单元地址和内容,注意在L6_directives.s43程序中使用这些存储单元的内容和地址的方法;利用view/disassembly反汇编程序,对比源程序,利用每条指令后的注释,学习其中用到的指示性操作,如:#define、SFB、SFE、SIZEOF、$等,并能在今后的程序设计中使用。 2) 在L6_directives.s43中,number4和number1分别被定义成了什么?二者有何不同? #number4和#number1这两个操作有何不同?MOV #number4, R7和MOV number4, R7执行的结果会相同吗?为什么? 3) 如图6-1所示,点击项目中的msp430x14x.h文件,了解该文件中用到的指示性语句,今后的实验中会用到该文件中的定义。 答

微机原理实验2

微机原理实验 (第二次) 仅供参考不予下载

2.2 字符及字符串输入输出与顺序程序设计实验 2.2.1 实验目的 1、学习和掌握字符及字符串的输入输出方法。 2、掌握顺序程序的设计方法。 3、进一步掌握调试工具的使用方法。 2.2.2 实验预习要求 1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能 号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。 2、复习BCD码运算调整指令。 3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。 4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.2.3实验内容 从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 1、问题分析 比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。由于数字09的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问

微机原理第二次作业答案

微机原理第二次作业 机械1409 龚琛婷U201410804 2.4 (1)MCS-51的RST具有复位单片机、作为备用电源输入端的作用。只要在该引脚上输入24个震荡周期以上的高电平就会使单片机复位。而当电源Vcc掉电或者低于规定电平时,该引脚又可作为备用电源输入端。 A LE是地址锁存使能输出/编程脉冲输入端。当CPU访问外部存储器时,ALE 的输出作为外部锁存地址的低位字节的控制信号。当CPU不访问外部存储器时,ALE仍以1/6的时钟震荡频率输出正脉冲,可对外输出时钟信号也可用于定时。EA是外部访问允许/编程电源输入端。当其等于1时,在不超过4KB地址范围时,CPU访问片内程序存储器,超过4KB时,CPU访问片外程序存储器。当其等于0时,CPU只访问片外程序存储器。 (2)对于8051,可以EA=1也可以EA=0。若需要CPU访问片外程序存储器,则令EA=0;若对片内片外无要求,则令EA=1。 对于8031,因为没有片内程序存储器,所以该引脚只能接低电平。 2.5 PSEN是外部程序存储器读选通道信号。在CPU访问外部程序存储器时,每个机器周期会出现两次该有效信号,在CPU访问外部数据存储器时,该信号不出现。WR第一功能作为普通I/O口,第二功能作为外部数据存储器“写”信号输出。RD第一功能作为普通I/O口,第二功能作为外部数据存储器“读”信号输出。 2.6 ①堆栈是在单片机内RAM中开辟一个专用区,而指定内部数据存储器地址07H~7FH中一部分连续存储区作为堆栈。 ②作用:堆栈主要是为子程序调用和中断操作而设立的。专门用来暂时存放数据或存放返回地址,并按照“后进先出”的原则操作。 ③系统复位后,SP指向07H,但08H~1FH单元为工作寄存器区1~3,在程序设计时可能会用到这些区,为了避免冲突,要对SP进行重新赋值。 ④应设为0FH或更大值。 2.8 ①时钟周期:又称为状态周期。震荡源的震荡脉冲经过2分频后作为时钟脉冲,所以时钟周期是震荡周期的2倍。

微机原理与接口技术实验讲义

实验一熟悉汇编语言环境及建立汇编的过程 一、实验目的 1.熟悉汇编语言环境。 2.掌握汇编语言的上机过程。 3.了解汇编语言程序的编程格式。 二、实验要求 通过一个小程序的编写达到以上的实验目的。 三、实验原理 1.汇编语言程序的上机过程 用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下: 四、实验步骤 1、打开编辑环境 2、输入程序 CODE SEGMENT ASSUME CS:CODE START: MOV AL,01H MOV BL,40H ADD AL,BL MOV DL,AL MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 3、保存源程序,以.ASM为扩展名。C:\MASM\1.ASM 4、建立汇编过程 (1)用宏汇编程序汇编源程序C:\MASM>MASM 1.ASM 汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需 要的文件。汇编程序还有另外一个重要功能:可以给出源程序中的错误信息。 (2)用连接程序将OBJ文件转换为可执行的EXE文件C:\MASM>LINK 1.OBJ 5、执行程序:C:\MASM>1.EXE

实验二两个多位十进制数相加的实验 一、实验目的: 1.学习数据传送和算术运算指令的用法。 2.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。 二、实验内容: 将两个多位十进制数相加。要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 四、实验原理 1.ADC 带进位相加指令的功能和指令格式 2.AAA 、DAA、 AAS、 DAS指令的功能和指令格式 3.伪指令SEGMENT 、ENDS、 ASSUME、MACRO、ENDM的使用 4.子程序的定义(PROC NEAR/FAR ENDP),以及子程序调用和返回指令:CALL、RET的使用

微机原理实验讲义2015

微机原理实验讲义 实验一8255A并行口实验(一) 一、实验目的 ⒈掌握8255A和微机接口方法。 ⒉掌握8255A的工作方式和编程原理。 二、实验内容 用8255PA口控制PB口。 三、实验接线图 图6-3 四、编程指南 ⒈8255A芯片简介: 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式 ⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB 口工作在方式0作为输出口。

五、实验程序框图 六、实验步骤 ⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。(注:必须先传送EPROM后,再往下操作) ⒉ 8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。 ⒊ 8255A芯片B口的PB0-PB7依次接Ll-L8。 ⒋运行实验程序。 在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8, LI-L8会跟着亮灭。 七、实验程序清单 CODE SEGMENT ;H8255-1.ASM ASSUME CS:CODE IOCONPT EQU 0FF2BH ;定义8255控制口 IOBPT EQU 0FF29H ;定义8255 PB口 IOAPT EQU 0FF28H ;定义8255 PA口 ORG 11B0H START: MOV AL,90H ;定义PA输入,PB输出 MOV DX,IOCONPT ;控制口 OUT DX,AL ;写命令字 NOP ;延时 NOP NOP IOLED1: MOV DX,IOAPT ;PA口 IN AL,DX ;读PA口 MOV DX,IOBPT ;PB口 OUT DX,AL ;写PB口 MOV CX,0FFFFH ;延时 DELAY: LOOP DELAY JMP IOLED1 ;循环

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

微机原理与接口技术第四次实验报告 刘兵 12282009 生医1201班

目录 第一次实验:实验 6 8254 定时/ 计数器实验 (1) 第二次实验:实验 3 六位数码管显示实验 (4) 实验 5 小键盘按键识别实验 (8) 实验 2 拨动开关和LED 显示实验 (15) 实验8 8255 方式1输出. (17) 实验13 继电器实验 (20) 第三次实验: 实验10 8 位D/A 转换实验 (23)

第一次实验:实验6 8254定时/计数器实验 一实验目的 熟悉8254在系统中的电路接法,掌握8254 的工作方式及应 用编程。 二实验内容 使用8254两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二极管各0.5秒。 三实验原理 (1)接线图: (2)流程图 FMIII { I.M Ki GA l'F-n 门ho ]i TLnn 32 54 32 54 lfcl HZ

I l"J 數器0送卸值JOOO 先送低宁声肩送宁节 . 丄厂设计故閱L为 丄作-1-V.3 向讦-較WM这i列ittiooo 先送悻宁节后送高宇节 L丄、 四程序清单及注释 .Model small .386 DATA SEGMENT D1 DB 10 DUP('4') D2 DB 20 DUP('3') DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV AL,37H MOV DX,203H

OUT DX,AL MOV AX,1000 ; 1000控制LED闪烁频率 MOV DX,200H OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,77H MOV DX,203H OUT DX,AL MOV AX,1000 ; 1000控制LED闪烁频率 MOV DX,201H OUT DX,AL MOV AL,AH OUT DX,AL CODE ENDS END BEG 四问题及体会 (1)初次使用TPC-386EXL编,对软件的使用不够熟悉,对输出输入接口的确定还有些模糊,需要继续尝试加以提高; (2)TPC-386EX环境与下位机的匹配是一个常见的错误,实验中多次显示“请先传送文件”提示,后来发现是两者间接口连接出现问题,以后实验中会注意。

微机原理实验报告西安交通大学

西安交通大学 电子信息与工程学院自动化科学与技术系微机原理与接口技术实验报告 实验名称:微机原理与接口技术 实验者姓名: XX 实验者学号:21105040XX 所在班级:自动化1X 报告完成日期:2014年1月12日

实验一 数据传送、算术运算、循环程序结构 1、实验目的 a)熟悉8086汇编语言源程序的框架结构,并掌握汇编语言程序的编写、汇 编、连接、执行的过程,并利用Turbo Debugger调试汇编程序。 b)熟悉8086指令系统的数据传送指令,掌握寻址方式。 c)熟悉8086指令系统的算术运算指令。掌握循环结构汇编语言程序的编制。 2、实验内容 教材P121,第14、15题。教材P195,第6题。教材P196,第12题。 3、具体实验 第一题(P121,第14题) 设有两个8个字节长的BCD码数据BCD1及BCD2。BCD1数以1000H为首地址在内存中顺序存放;BCD2数以2000H为首地址在内存中顺序存放。要求相加后结果顺序存放在以2000H为首地址 的内存区中(设结果BCD数仍 不超过8个字节长)。 a) 实验原理 考虑两个8个字节长的 BCD码相加,首先根据地址要 求将数据放在对应的地址单 元中,然后做加法,BCD码相 加要用到调整指令,结果才 为正确的BCD数 b) 程序框图

c) 程序源代码 DATAS SEGMENT ORG1000H BCD1 DB 01H,02H,03H,04H,05H,06H,07H,88H;起始地址为1000H ORG2000H BCD2 DB 11H,12H,13H,14H,15H,16H,17H,18H;起始地址为2000H DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV BX,0 MOV CX,8 ;设置循环次数8次 CLC ;清进位CF标志 AGAIN:MOV AL,[BX+1000H] ADC [BX+2000H],AL;结果放在2000H开始的单元内 DAA INC BX LOOP AGAIN;没完成则转AGAIN循环 MOV AH,4CH INT 21H CODES ENDS END START 运行: BCD1 DB 11H,12H,13H,14H,15H,16H,17H,18H BCD2 DB 21H,22H,23H,24H,25H,26H,27H,28H 结果如下:DS:2000H为首地址的连续八个字节单元中

《微机原理与接口技术》第二次作业答案

《微机原理与接口技术》第二次作业答案 (C ) A. 10100000B B. 01000001B C. 01000000B D. 10100001B 6.二进制数 10110101B-11011011B (即2014年09月11日)后显示在题目旁边。 一、单项选择题。本大题共 20个小题,每小题 3.0分,: 选项中,只有 ?项是符合题目要求的。 1. “ A 的 ASCII 码值是() (B ) A. 51H B. 41H C. 61H D. 31H 2. 二进制数10101101 转换为十进制数的值是( ) (C ) A. 174 B. 175 C. 173 D. 172 3. 十六进制数ECH 转换为十进制数的值是() (A ) A. 236 B. 235 C. 234 D. 237 4. 设A=186,B=273Q,C=0BBH ,它们之间的关系是 (D ) A. A>B>C B. A

A. 11001011B B. 01011010B C. 11011010B D. 01011011B 7.二进制数 10010111B 与11010011B 求和后, ZF 与CF 标志位的值为() A. 1、1 B. 0、1 C. 1、0 D. 0、0 8. 二进制数 10010111B (B ) 与11010011B 求和后, PF 与OF 标志位的值为() (A ) A. 1、 1 B. 0、 1 C. 1、 0 D. 0、 0 9. 标志寄存器中属于控制标志位的是( (D ) A. DF ,OF ,SF B. OF ,CF ,PF C. AF ,OF ,SF D. DF ,IF ,TF 0、0 10. 8088/8086 存储器分段,每个段不超过( ) (D ) A. 64K 个字 B. 32K 个字节 C. 1兆个字节 D. 64K 个字节 (A ) A. END 语句是一可执行语句 B. END 语句表示程序执仃到此结束 C. END 语句表示源程序到此结束 D. END 语句在汇编后要产生机器码 11.在汇编语言程序中,对 END 语句正确的叙述是()

相关主题
文本预览
相关文档 最新文档