(仅供参考)微机原理实验三

(仅供参考)微机原理实验三
(仅供参考)微机原理实验三

实验三使用8251A的串行接口应用实验

一、实验目的

1) 掌握串行通信原理及半双工和全双工的编程方法。

2) 掌握用8251A 接口芯片实现微机间的同步和异步通信。

3) 掌握8251A 芯片与微机的接口技术和编程方法。

二、实验原理和内容

8251A 是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。

1)8251A 内部结构

8251A 通过引脚D0~D7 和系统数据总线直接接口,用于和CPU 传递命令、数据、状态信息。读写控制逻辑用来接收CPU 的控制信号、控制数据传送方向。CPU 对8251A 的读写操作控制表如表3-4 所示。

方式控制字确定8251A 的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10 所示。

命令控制字使8251A 处于规定的状态以准备收发数据,格式如图3-11 所示。

方式控制字和命令控制字无独立的端口地址,8251A 根据写入的次序来区分。

CPU 对8251A 初始化时先写方式控制字,后写命令控制字

3)状态寄存器

8251 状态寄存器用于寄存8251A 的状态信息,供CPU 查询,定义如图3-12 所示。

TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空?

/CTS?TXE)成立时才置位。

溢出错误:CPU 没读走前一个字符,下一个字符又接收到,称为溢出错误。

帧错误:在字符结尾没检测到停止位,称为帧错误。

4)PC 机寄存器的端口地址

其中:线路控制寄存器第七位:DLAB=0;线路控制寄存器第七位:DLAB=1。

5)波特率和除数因子对照表

232标准的机械、电气规范。

6)实验连接方法

按图连接好电路,其中8254 计数器用于产生8251 的发送和接收时钟,TXD 和RXD 连在一起。

1) 8254/CLK0 连接时钟/1MHz;

2) 8254/CS 连接I/O 译码/Y0(280H---287H);

3) 8254/OUT0 连接8251/TX/RXCLK;

4) 8254/GATE0 连接+5V;

5) 8251/TXD 连接8251/RXD;

6) 8251/CS 连接I/O 译码/Y7(2B8H---2BFH。

7)编程提示

8251 的控制口地址为2B9H,数据口地址为2B8H。

8254 计数器的计数初值=时钟频率/(波特率X 波特率因子),这里的时钟频率接

1MHz,波特率若选1200,波特率因子16,则计数器初值52。

基于8251 芯片实现异步串行通信一般有两种方式,一种是查询方式,另一种是中断方式,使用哪种方式取决于进行初始化时寄存器的设置。

8254 计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接

1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。

本实验采用8251A 异步方式发送,利用8086 汇编语言实验计算机点到点的串口通信,设置:波特率为1200bps、数据位7 位、停止位1 位、偶校验方式,利用查询方式或中断方式实现双机通信,能够传输多个字符。

三、实验流程图

四、实验代码

(1)收发字符

data segment

io8254a equ 280h

io8254b equ 283h

io8251a equ 2b8h

io8251b equ 2b9h

mes1 db 'you can play a key on the keybord!',0dh,0ah,24h

mes2 dd mes1

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

mov dx,io8254b ;设置8254计数器0工作方式

mov al,16h

out dx,al

mov dx,io8254a

mov al,52 ;给8254计数器0送初值

out dx,al

mov dx,io8251b ;初始化8251

xor al,al

mov cx,03 ;向8251控制端口送3个0

delay: call out1

loop delay

mov al,40h ;向8251控制端口送40H,使其复位

call out1

mov al,4eh ; 1个停止位,8个数据位,波特率因子为16

call out1

mov al,27h ;向8251送控制字允许其发送和接收

call out1

lds dx,mes2 ;显示提示信息

mov ah,09

int 21h

waiti: mov dx,io8251b

in al,dx

test al,01 ;发送是否准备好

jz waiti

mov ah,01 ;是,从键盘上读一字符

int 21h

cmp al,27 ;若为ESC,结束

jz exit

mov dx,io8251a

out dx,al ;发送

mov cx,40h

s51: loop s51 ;延时

next: mov dx,io8251b

in al,dx

test al,02 ;检查接收是否准备好

jz next ;没有,等待

mov dx,io8251a

in al,dx ;准备好,接收

mov dl,al

mov ah,02 ;将接收到的字符显示在屏幕上

int 21h

jmp waiti

exit: mov ah,4ch ;退出

int 21h

out1 proc near ;向外发送一字节的子程序

out dx,al

push cx

mov cx,40h

gg: loop gg ;延时

pop cx

ret

out1 endp

code ends

end start

(2)收发文件

DATA SEGMENT

FILE1 DB 'C:\1.txt',0

FCODE1 DW 0

BUF1 DB 2000H DUP(0)

FILE2 DB 'C:\2.txt',0

FCODE2 DW 0

BUF2 DB 2000H DUP(0)

IO8254A EQU280H

IO8254B EQU 283H

IO8251A EQU 2b8H

IO8251B EQU 2b9H

DATA ENDS

STACK SEGMENT PARA STACK

DB 256 DUP(0)

CODE SEGMENT

ASSUME CS: CODE,DS:DATA,SS:STACK

START:

MOV A X,DATA

MOV D S,AX

MOV AL,16h

OUT DX,AL

MOV DX,IO8254B

MOV AL,52 ;给8254计数器0送初值

OUT DX,AL

MOV DX,IO8251B ;初始化8251

XOR AL,AL

MOV CX,03 ;向8251控制端口送3个0

MOV DX,IO8251B ;传输线路控制寄存器LCR,最高位为DLAB=1

MOV AX,80H

OUT DX,AL

MOV DX,IO8251B ; DLAB=1,除数锁存器(低字节)DLL

MOV AX,60H

OUT DX,AL

MOV DX,IO8251B ;DLAB=1,除数锁存器(高字节)DLH

MOV AX,0

OUT DX,AL ;高字节DLH:00H,低字节:60H,设置波特率为1200

MOV DX,IO8251B ;传输线路控制寄存器LCR,最高位为DLAB=0

MOV AX,0AH ;DLAB=0,0=禁止中断,0=无附加奇偶标志位,0=奇校验,1=有奇偶校验,

;0=1位停止位,10=7位

OUT DX,AL

MOV DX,IO8251B;

MOV AX,03H;正常工作状态,rts引脚为低电平,DTR引脚低电平

OUT DX,AL

MOV DX,IO8251B ;DLAB =0,禁止中断

MOV AX,0

OUT DX,AL

MOV AH,3CH ;文件新建

LEA DX,FILE2

MOV CX,0

INT 21H

MOV AH,3DH ;文件操作

LEA DX,FILE2

MOV AL,2

INT 21H

MOV FCODE2,AX

MOV AH,3DH ;文件操作

LEA DX,FILE1

INT 21H

MOV FCODE1,AX

MOV SI,0

MOV DI,0

FOREVER:

MOV DX,IO8251B ;从线路状态寄存器读状态

IN AL,DX

TEST AL,1EH ;检测是否为00011110,即BI=1,检测中断,FE=1,帧错,PE=1,奇偶错,OE=1,溢出错

JNZ ERROR ;传输线状态寄存器全部都是0

TEST AL,01H ;检测接受数据是否准备好了

JNZ RECEIVE ;等于0则表示数据没有准备好

TEST AL,20H ;数据没有准备好

JNZ send ;没有,则跳转等待

JMP FOREVER

send:

MOV AH,3FH ;从文件中读取发送

LEA DX,BUF1

ADD DX,SI

MOV BX,FCODE1

MOV CX,1

INT 21H

CMP AX,0

JE FOREVER

MOV DX,IO8251A

MOV AL,BUF1[SI]

OUT DX,AL

INC SI

JMP FOREVER

RECEIVE:

MOV DX,IO8251A ;接收数据

IN AL,DX

AND AL,7FH ;最高位为停止位

CMP AL,03H;

JNZ CHAR

JMP DONE

CHAR:

MOV DL,AL

MOV AH,02H

INT 21H

CMP AL,0DH

JNZ SAVE_FILE

MOV DL,0AH

INT 21H

SAVE_FILE:

MOV BUF2[DI],DL

MOV AH,40H ;接收到的字符写入文件LEA DX,BUF2

ADD DX,DI

MOV BX,FCODE2

MOV CX,1

INT 21H

INC DI

JMP FOREVER

ERROR:

MOV DX,IO8251A

IN AL,DX

MOV DL,0AH

MOV AH,02H

INT 21H

JMP FOREVER

DONE:

MOV BX,FCODE1

MOV AH,3EH

INT 21H

MOV BX,FCODE2

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

五、实验结果

(1)收发字符

(2)收发文件

六、实验心得

通过本次实验,与课本知识相结合,我学会了串行通信及半双工和全双工的编程方法。和组员一起编写代码让我对8251A芯片与微机接口的编程方法有了更清楚的认识,通过编写代码加深了课本中控制字、命令字等的认知,灵活应用,不再局限于课本的死记硬背。通过对硬件电路的连接也让我对各个芯片之间的联系有了更深刻的认识。

南邮 微机实验

(2010 / 2011 学年第二学期) 课程名称微型计算机原理与接口技术 实验名称基于中断的字符串动态显示 实验时间2011 年 5 月18 日指导单位计算机学院 指导教师 学生姓名班级学号 学院(系) 通信学院专业网络工程

实验报告 实验名称基于中断的字符串动态显示指导教师周宁宁 实验类型设计实验学时 2 实验时间2011.5.18 一、实验目的和要求 利用系统定时源设计定时中断程序,要求每隔一定的时间在系统机屏幕上显示一行字符串。显示十行之后自动结束。 二、实验环境(实验设备) 硬件:PC机。 软件:“未来汇编”汇编语言开发环境 三、实验原理及内容 .486 DATA SEGMENT USE16 OLD1C DD ? ICOUNT DB 18 TIME DB 0 MESG DB '/','HELLO WORLD!',0DH,0AH,'$' DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DA TA BEG: MOV AX,DATA MOV DS,AX CLI CALL READ1C CALL WRITE1C STI

SCAN: CMP TIME,10 JNZ SCAN RETURN: CALL RESET MOV AH,4CH INT 21H SERVICE PROC PUSHA PUSH DS MOV AX,DA TA MOV DS,AX DEC ICOUNT JNZ EXIT MOV ICOUNT,18 INC TIME INC MESG MOV AH,9 LEA DX,MESG INT 21H EXIT: POP DS POPA IRET SERVICE ENDP READ1C PROC MOV AX,351CH INT 21H MOV WORD PTR OLD1C,BX MOV WORD PTR OLD1C+2,ES RET READ1C ENDP WRITE1C PROC PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,251CH INT 21H POP DS RET WRITE1C ENDP RESET PROC

微机原理实验指导书

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

微机原理实验报告E02

【E02】OLED液晶显示实验实验报告 院系:电子科学与技术学院 专业:微电子科学与工程 实验者姓名:万子昂 学号: 35320172200223 实验时间: 2020 年 5 月 11 日 实验报告完成时间:2020 年 5 月 11 日 指导老师意见:

一、实验目的: 1、进一步熟悉MSP432微控制器GPIO引脚的使用 2、学会OLED显示屏与微控制器的接口方法和使用方法 二、实验内容要求: 1、创建工程项目,添加项目文件,配置项目环境等; 2、在OLED屏上显示姓名和学号(字模软件转换汉字) 3、在同一行上显示一段包括中文、英文、数字的内容 三、实验注意事项 1、短路问题:导线、示波器探头、金属笔帽等(断电操作) 2、接插件暴力拔插:顺着接插方向 四、代码: OLED_ShowCHinese(0,0,0); OLED_ShowCHinese(16*1-1,0,1); OLED_ShowCHinese(16*2-1,0,2); OLED_ShowString(0,4,"35320172200223"); {0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00}, {0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},/*"开",0*/ {0x00,0x00,0x18,0x16,0x10,0xD0,0xB8,0x97,0x90,0x90,0x90,0x92,0x94,0x10,0x00,0x00}, {0x00,0x20,0x10,0x8C,0x83,0x80,0x41,0x46,0x28,0x10,0x28,0x44,0x43,0x80,0x80,0x00},/*"发",1*/ {0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,0x24,0xE4,0x24,0x22,0x23,0xE2,0x00,0x00}, {0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x80,0x41,0x26,0x18,0x26,0x41,0x80,0x00},/*"板",2*/ OLED_ShowString(0,0,"MSP432"); OLED_ShowCHinese(50,0,0); OLED_ShowCHinese(50+16*1-1,0,1); OLED_ShowCHinese(50+16*2-1,0,2); 五、实验结果:

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

实验要求 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源文件执行,程序自动运行。

微机原理上机实验(一)实验报告数据传输传送实验

微机原理上机实验(一)实验报告 主题:数据传送 一、实验目的 熟悉星研集成环境软件的使用方法。熟悉Borland公司的TASM编译器 熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。 二、实验内容 1、熟悉星研集成环境软件。 2、编写程序,实现数据段的传送、校验。 三、实验代码 _STACK SEGMENT STACK DW 100 DUP() _STACK ENDS DATA SEGMENT DATA ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, DS:DATA, SS:_STACK MOV AX, DATA ;将数据段的地址存入AX寄存器。AX=004DH MOV DS,AX ;对DS段寄存器赋值。DS=004DH MOV ES,AX ;对ES段寄存器赋值。ES=004DH NOP ;空指令

MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CALL Move ;调用Move子程序 MOV CX,100H ;把100H送到CX寄存器。CX=0100H MOV SI,3000H ;把3000H送到SI寄存器。SI=3000H MOV DI,6000H ;把6000H送到DI寄存器。DI=6000H CLD ;将DF标志位置0。设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出 ;若ZF=0或CX=0不成立,则继续比较。SI和DI持续递增 1 JNE ERROR ;若ZF=0,跳到ERROR子程序 TRUE: JMP $ ;跳到目前地址 ERROR: JMP $ ;跳到目前地址 Move PROC NEAR ;Move子程序 CLD ;将DF标志位置0。设置SI、DI为递增移动。DF=0 CMP SI,DI ;比较SI、DICF=SF=PF=1,仅有该三个标志位变化JZ Return ;如果相等,跳到Return JNB Move1 ;如果SI大于等于DI,跳到Move1 ADD SI,CX ;SI=SI+CX。SI=3100H DEC SI ;SI减1。SI=30FFH

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

南邮微机原理实验报告资料

《微型计算机原理与接口技术》 上机实验 学院:电子科学与工程 专业:电磁场与无线技术 姓名:陈秀慧 课程号:B0300062S 学号: B14020604 任课老师:欧晓鸥 2016年 3 月 21日

一、实验目的 熟悉第四章汇编语言程序设计中简化段定义格式,汇编语言循环结构的实现,DOS功能的调用等功能,以及算术运算程序设计中字符串处理程序设计中内容的显示,十六进制ASCII码与各数值的转化,比较搜索等命令。 二、实验任务 1.在微型计算机上用汇编语言编程完成实验内容所规定的实验; 2.记录源代码和程序调试过程; 3.完成实验报告。 三、主要仪器设备 硬件:微型计算机 软件:未来汇编 四、实验内容 上机题1.显示5行HELLO 源程序: .486 DATA SEGMENT USE16 MESG DB 'HELLO' DB 0,0,0 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,5 LL1: MOV MESG+5,0DH MOV MESG+6,0AH MOV MESG+7,'$' CALL DISP MOV MESG+5,0 MOV MESG+6,0 MOV MESG+7,0 LOOP LL1 MOV AH,4CH INT 21H DISP PROC MOV AH,9 MOV DX,OFFSET MESG INT 21H RET

DISP ENDP CODE ENDS END BEG 运行结果: 上机题2.询问用户姓名并等待输入,用户输入姓名后按回车键程序再把输入的姓名复制显示在屏幕上 源程序: .586 DATA SEGMENT USE16 MESG DB 'What is your name?$' MESG2 DB '?(Y/N)$' BUF DB 30 DB ? DB 30 DUP(?) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX AGAIN:MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,0AH MOV DX,OFFSET BUF

微机原理实验简易计算器

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

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

南邮考研_微机原理真题

南邮考研_微机原理历年复试题 2004 问答:计算机系统/计算机组成原理的定义。 1.填空:字符串并,倒置 2.问答:8254方式N的特点(书P173-177) 3.问答:中断/DMA的区别,DMA的特点,DMA的传送方式 4.程序题:(2进制-10进制转换)(书P118) 5.程序题:串行的2种方式;8250初始化(P118) 6.程序填空:有关8254的 7.程序题:8254+8259A 8.问答:中断方式 2005 1.关于计算机中数制的转换 2.N位补码真值的范围 3.有关汇编中关于堆栈的地址计算 4.生成COM或EXE文件的汇编步骤(P85) 5.分析指令错误 6.8254的3个计数器的功能(P181) 7.异步通信数据格式(一帧数据的格式,P230) 8.非屏蔽中断条件(P202) 9.溢出错误的原因,单工,双工的概念(P229) 10.8255A方式1的联络线的定义及物理意义 11.程序题:8254计数器产生900HZ的方波,经过滤波后送到扬声器发声,当按下任意键声 音停止(P181) 12.程序题:(关于串操作指令)用多种方法进行数据块传送(P64) 2006 1.设字长为8位,X=(8EH)补其真值位F2 H 2.写出下列操作的寻址方式: MOV DL,DS:[BP+10] 基址 ADD DL,BUF 直接 3.用图表表示下列数据的存储方式: BUF1 DB 2乘5,0A6H,’HELLO’ BUF2 DD ‘AB’,’A’ BUF3 DW 87654321H 4.编写程序,把10字节的数据块从偏移地址BUF开始的单元传送到偏移地址BUF+5开 始的缓冲区 5.编写程序,输出800HZ的音乐(P238) 6.用一条操作完成下列目标: 使AL第1位置为1 使AL后4位为0

微机原理实验指导书

微机原理实验指导书汕头大学机电系摘录

实验一P1口实验及延时子程序设计 1.实验目的 利用单片机的P1口作为I/O口进行实验验证,掌握利用P1口作为输入口和输出口的编程方法,理解并掌握延时子程序的设计方法。 2.实验设备及器件 IBM PC机一台 DP-51PRO单片机综合仿真实验仪一台 3.实验内容 (1)编写一段程序,用P1口作为控制端口,使D1区的LED轮流点亮。 (2)编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED 亮,不按时LED灭)。 图 1 4.实验要求 学会使用单片机的P1口作I/O口。如果时间充裕,也可以考虑利用P3口作I/O口来做该实验。 5.实验步骤 ①用导线把A2区的J61接口与D1区的J52接口相连。原理如图1所示。 ②先编写一个延时程序。 ③将LED轮流点亮的程序编写完整并调试运行。 ④使用导线把A2区J61接口的P1.0~P1.6与D1区J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区J53的KEY1相连。原理如图3.2(b)所示。 ⑤编写P1.7控制LED的程序,并调试运行(按下K1看是否全亮)。 ⑥A2区J61接口P1.7与D1区J54的SW1相连,然后再运行程序,拨动开关SW1查看结果。

6.实验预习要求 阅读附录内容,理解实验的硬件结构。可以先把程序编好,然后在Keil C51环境下进行软件仿真。 7.实验参考程序 程序1: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP M ain ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A ;把A的值输出到P1口 SJMP MainLoop Delay: MOV R7, #0 ;延时 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET ; END 程序2: ORG 8000H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0000H LJMP Main ORG 8100H ;此为硬件仿真调试程序,使用软件仿真或直接运行,应改为0100H Main:JB P1.7,SETLED ;按键没有按下时,跳转到SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0 SETB P1.1

微机原理上机实验答案

实验01A 将FFFFH送到AX,BX,CX,DX,SI,DI,BP寄存器 程序如下: CODE SEGMENT ASSUME CS:CODE START PROC FAR STT:PUSH DS SUB AX,AX PUSH AX ;============================== MOV AX,0FFFFH MOV BX,AX MOV CX,AX MOV DX,AX MOV SI,AX MOV DI,AX MOV BP,AX ;============================== RET START ENDP CODE ENDS END STT 实验01B 将FFH送到内存1000H,1001H,1002H,1003H,1004H单元中程序如下: DA TA SEGMENT ORG 1000H H1 DB 5 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START PROC FAR STT:PUSH DS SUB AX,AX PUSH AX ;============================== MOV AL,0FFH MOV DI,1000H MOV CX,5 ;循环5次 LP1:MOV [DI],AL ;FF放入1000H-1004H中 INC DI

DEC CX JNZ LP1 ;============================== RET START ENDP CODE ENDS END STT 实验02A 编写一个加法程序,在数据段偏移地址1000H处开始,存放有两个3字节长的数据(高位对应高地址,低位对应低地址),求这两数据(十六进制数)的和,并将结果放在两数据之后,利用DEBUG调试程序,并求解:CCBBAAH+223344H=?CCBBAA+554433H=? 程序如下: DA TA SEGMENT ORG 1000H H1 DB 10 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START PROC FAR STT:PUSH DS SUB AX,AX PUSH AX Mov ax,dseg Mov ds,ax ;============================== MOV SI,1000H ;不带最高位进位的全加器 MOV DI,1003H MOV BX,1006H MOV CX,3 CLC AA: MOV AL,[SI] ADC AL,[DI] MOV [BX],AL PUSHF ;保护FR,这里其实没有必要,因为INC不会产生进位 INC SI INC DI INC BX POPF LOOP AA

微机原理实验1和实验2报告

哈尔滨工程大学 实验报告 实验名称:熟悉实验环境及简单程序设计 班级:06-521 学号:06052122 姓名:张禹 实验时间:2009-7-3 成绩: 指导教师:王向红 实验室名称:水声电子信息实验中心_ 哈尔滨工程大学实验室与资产管理处制

1.实验名称:熟悉实验环境及简单程序设计 2.实验目的: 1. 熟悉实验环境。 2.掌握基本DEBUG命令。 3.熟练掌握汇编语言编写、调试和运行的基本方法。 4.掌握数据在寄存器、内存中的存放方式和寻址方式。 3.实验仪器: pc机一台 4.实验内容与实验步骤: 1.编写程序,移位相加指令实现将AL寄存器中的无符号数乘以10。 思考题:若(AL)*10的结果较大,超过了一个字节的表示范围,编程时如何处理?请编程调试。 2.多字节加法程序:编程实现两个32位二进制数据的加法程序 3.给出一组数据:1234H,3456H,3455H,1111H,0FFFFH,0001H 编程分别实现: 1、将以上数据视为无符号数找出其中最大值。 2、将以上数据视为带符号数找出其中最大值。 思考:若要分别求出以上两种情况的最小值,程序将要做何改动? 5.实验原理: 实验1 用移位相加实现乘以10,乘以10即是(2+8),左移一位相当于乘以2,所以先将AL的数左移一位后存入BL中,然后再将AL的数再左移两位,此时的AL存储的值左移了三位相当于乘以8,BL的值是左移了一位的数即乘以2,因此将AL的值加上BL 的值便可以的到乘以10的结果。 如果AL*10的值较大,则可以将寄存器换用AX和BX,将原来的值存入AX的低八位,高八位添0,利用上面同样的方法可得到乘以10的结果。 实验2 要实现两个32字节的数相加,则必须采用分布相加的方法。应为所有的寄存器最多为16位,所以得先将32位的低16位相加,让后两高16位和低16相加的进位三者相加,注意此时仍可能得到一进位。 实验3 要找出一组数据的最大或者最小值,采用逐个比较的方法,即首地址的数放入AX寄存器然后逐个与后面的数比较,如果AX寄存器的数大于所

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(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.1 程序修改 .486 DATA SEGMENT USE16 SUM DB ?,? MESG DB '25+9=' DB 0,0,'$' N1 DB 9,0F0H N2 DB 25 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET SUM MOV AH,N1 MOV AL,N2 ADD AH,AL MOV [BX],AH CALL CHANG MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,4CH INT 21H CHANG PROC LAST: CMP BYTE PTR [BX],10 JC NEXT SUB BYTE PTR[BX],10 INC BYTE PTR [BX+7] MOV AH, BYTE PTR[BX] JMP LAST NEXT: MOV DX,WORD PTR SUM ADD [BX+8],DX ADD BYTE PTR [BX+7],30H ADD BYTE PTR [BX+8],30H RET CHANG ENDP CODE ENDS END BEG

2.3.4从数据段NUM单元开始存有9个有符号数,并编写一个程序实现:找出最小值存放到数据段MIN单元,并将负数的个数以十进制的形式显示在屏幕上。 .486 DATA SEGMENT USE16 NUM DB -8,-44,-88,-37,2,-1,8,-26,-18 MIN DB ? AB DB '0' DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE , DS:DATA BEG: MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV CH,0 MOV CL,9 AGAIN: CMP BYTE PTR [BX] ,0 JG NEXT1 INC AB CMP BYTE PTR [BX], CH JG NEXT1 MOV CH,BYTE PTR [BX] NEXT1: INC BYTE PTR BX DEC CL

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

微机原理及应用实验 实验一开发环境的使用 一、实验目的 掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部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机一台。

微机原理上机实验报告3

201406 微机原理上机实验报告 实验三 班级:物联网1班 姓名:邓笑游 学号: 01210261y11 成绩:

实验3:8086 典型习题的上机求解实验 一、实验目的 1、了解8086指令的特点。 2、学会用Debug和源程序的上机方法求解作业答案的方法。 二、预习要点 1、习题的现场 2、选用工具的方法 三、实验项目 在DOS下利用Debug调试工具和MASM、LINK工具和模版验证求解典型习题的答案。 四、实验设备环境 PC机1台,DOS操作系统,Debug调试工具 五、实验方法 1.现有数据段如下: DAT1 SEGMENT ORG 0020H A1 DW 12H , 23H A2 DB 11H , 21H A3 EQU 1234H A4 EQU $+8 A5 DW 31H , A2 DAT1 ENDS 该数据段占有多少字节的存储空间?A5的偏移地址是何值?A4的值是多少? 2.若48H和93H是无符号数。 SOUR DB 48H,93H MZ DB ?

MOV AL,SOUR CMP AL,SOUR+1 JA K1 MOV AL,SOUR+1 K1: MOV MZ,AL 试问:①(MZ)=_____________ ②48H和93H是有符号数,JA K1指令应改为什么指令? 3.编程序统计某班100个学生英语考试分数高于等于85分以上的人数,结果存入MN字节中。 六、实验要求 将习题1、2、3改造上机求解答案

实验3报告习题1的上机源程序 习题1的汇编、链接

习题1的代码段 已看到答案,该数据段占有10个字节的存储空间?A5的偏移地址是0026H?A4的值是002EH 习题2的源程序

微机原理第1、2次实验

微机原理第1、2次实验

微机原理第1、2次实验 3.1 IO口读写实验(245、373) 1、实验内容 利用板上集成电路上的资源,扩展一片 74HC245,用来读入开关状态;扩展一片 74HC373,用来作来输出口,控制 8 个 LED 灯。 2、实验目的 (1)了解CPU 常用的端口连接总线的方法。 (2)掌握74HC245、74HC373 进行数据读入与输出。 3、实验电路

4、实验流程图 5、实验说明 一般情况下,CPU 的总线会挂有很多器件,如何使这些器件不造成冲突,这就要使用一些总线隔离器件,例如 74HC245、74HC373。74HC245 是三态总线收发器,本实验用它做输入,片选地址为0D0000H-0DFFFFH。就是用于读入开关值。74HC373 是数据锁存芯片,通过它作数据的锁住输出。 6、发现的问题 (1)实验指导书中译码器上的连线与代码中的地址不对应,在CPU的输出状态时译码器的Y0为低电平,其他位为高电平,应将原先连接在Y9的线改接到Y0上。如图:

如果不想改电路,把代码中的OUT373 EQU 8000H改为OUT373 EQU 0E000H,也能使CPU在输出状态时Y9呈现低电平。如图: (2)元件与元件直接必须用导线相连,两个元件挨在一起是不算作导通的

否则会出现比如下面这种即使两端有电势差LED灯也不亮的情况 第2次实验,将LED灯修改为七段数码管 如图,只需将右边改为下图这样即可

添加三极管的目的是为了在8个开关都闭合(向74HC245输入低电平)的情况下,使七段数码管的第一根管脚断路,七段数码管不发光,避免了在8个开关都闭合时显示数字8。

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

《微机原理》实验参考答案 实验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)将以上程序段补充成为一个完整的汇编程序。

相关文档
最新文档