实验一 存储器读写实验
一、实验目的
1. 熟悉静态 RAM 的使用方法,掌握 8088 微机系统扩展 RAM 的方法;
2. 掌握静态 RAM 读写数据编程方法。
二、实验内容
对指定地址区间的 RAM(4000H~43FFH)先进行写数据 55AAH,然后将其内容读出 再写到 5000H~53FFH 中。
三、实验接线图(系统中已连接好)
四、实验步骤
1. 在 PC 机和实验系统联机状态下,编辑源程序。
2. 从存储器窗口检查和记录 4000H~43FFH 中的内容和 5000~53FFH 中的内容。
3. 对源程序进行编译和装载,生成可执行文件。
4. 对可执行文件进行调试,调试方法有:单步,宏单步,自动单步,自动宏单步,注意这些方法之间的区别。
5. 连续运行实验程序。
6. 从存储器窗口检查和记录 4000H~43FFH 中的内容和 5000~53FFH 中的内容,比较程序运行前、后存储器内容的变化情况。
五、实验程序清单
CODE SEGMENT ;RAM.ASM
ASSUME CS:CODE
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
ORG 1850h
START: JMP START0
BUF DB ?,?,?,?,?,?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0: MOV AX,0H
MOV DS,AX ;写数据段地址
MOV BX,4000H ;内存首址
MOV AX,55AAH ;要写入的字
MOV CX,0200H ;数据长度
RAMW1: MOV DS:[BX],AX ;写数据
ADD BX,0002H ;下一个单元
LOOP RAMW1 ;循环写
MOV AX,4000H ;首址
MOV SI,AX ;SI置源首址
MOV AX,5000H
MOV DI,AX ;DI置目首址
MOV CX,0400H ;数据长度
CLD ;增址
REP MOVSB ;串传送
call buf1 ;写”62256-”
mov cx,0ffh
con1: push cx
call disp ;显示
pop cx
loop con1
call buf2 ;写”--good”
con2: call disp ;显示
jmp con2
DISP: MOV AL,0FFH ;显示子程序 ,5ms
MOV DX,PA
OUT DX,AL
MOV CL,0DFH ;20H ;显示子程序 ,5ms
MOV BX,OFFSET BUF
DIS1: MOV AL,[BX]
MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1
ADD BX,AX
MOV AL,[BX]
POP BX
MOV DX,PB
OUT DX,AL
MOV AL,CL
MOV DX,PA
OUT DX,AL
PUSH CX
DIS2: MOV CX,00A0H
LOOP $
POP CX
CMP CL,0FEH ;01H
JZ LX1
INC BX
ROR CL,1 ;SHR CL,1
JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB
OUT DX,AL
RET
BUF1: MOV BUF,06H ;写”62256-”
MOV BUF+1,02H
MOV BUF+2,02H
MOV BUF+3,05H
MOV BUF+4,06H
MOV BUF+5,17H
RET
BUF2: MOV BUF,17H ;写”--good”
MOV BUF+1,17H
MOV BUF+2,09H
MOV BUF+3,00H
MOV BUF+4,00H
MOV BUF+5,0dH
RET
CODE ENDS
END START
六、实验总结
这个自己实现!!!
第二篇:实验一 存储器读写实验 (1)
实验一 存 储 器 读 写 实 验
1 实验名称 存储器读写实验
2 实验目的
(1) 熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。
(2)掌握静态RAM读写数据编程方法。
3 实验内容
对指定地址区间的RAM(2000H~23FFH)先进行写数据55AAH, 然后将其内容读出再写到3000H~33FFH中。
4 硬件连线
5 实验步骤
(1)PC机
开始菜单 程序8086实验系统 DVCC实验系统 ,进入实验界面。
选中本次实验名称,查看实验目的、内容、硬件连线、步骤。
输入源程序,编译、联接、运行实验程序。
(2)DVCC-86H实验系统
在系统显示"DVCC-86H"状态下,按任意键,系统显示命令提示符"-"
按GO键,系统显示"1000 XX"
输入F000 : B690
按EXEC键
(3) 稍后按RESET键退出, 用存贮器读方法检查2000H~ 23FFH 中的内容和3000H~33FFH中的内容应都是55AAH。
存贮器读方法: 按字节检查 从键盘依次键入 EB 0000:2000 ,按MEM键, 显示出0000H:2000H字节 单元的内容为AA。按NEXT键, 显示出0000H:2001H 字节单元的内容为55。再NEXT键,使地址加1,显示下一字节单元内容。
按字检查 从键盘依次键入 EW 0000:2000,按MEM键, 显示出0000H:2000H字 单元的内容为55AA。按NEXT键, 显示出0000H:2002H字 单元的内容为55AA。再NEXT键,使地址加2,显示下一字单元内容。
6 实验程序
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX, 0H
MOV DS, AX MOV BX, 2000H MOV AX, 55AAH
MOV CX, 03FFH
RAMW1:MOV DS:[BX], AX
ADD BX, 0002H LOOP RAMW1 MOV AX, 2000H MOV SI, AX MOV AX, 3000H MOV DI,AX MOV CX, 03FFH CLD REP MOVSB
RAMW2: JMP RAMW2
CODE ENDS
END START
(学生亦可自行编制程序)
7 实验拓扑
对指定地址区间的RAM(1000H~10FFH)先进行写数据1234H, 然后将其内容读出再写到3000H~30FFH中,应如何修改源程序。
8 实验结果分析
(1)按字节检查 从键盘依次键入 EB 0000:2000 ,按MEM键, 显示出0000H:2000H字节 单元的内容为AA。按NEXT键, 显示出0000H:2001H 字节单元的内容为55。再NEXT键,使地址加1,显示下一字节单元内容。
按字检查 从键盘依次键入 EW 0000:2000,按MEM键, 显示出0000H:2000H字 单元的内容为55AA。按NEXT键, 显示出0000H:2002H字 单元的内容为55AA。再NEXT键,使地址加2,显示下一字单元内容。
(2)实现写数据1234H,并读出的修改后的主要程序代码
MOV BX, 1000H
MOV AX, 1234H MOV CX, 00FFH
RAMW1:MOV DS:[BX], AX
ADD BX, 0002H LOOP RAMW1 MOV AX, 1000H MOV SI, AX
MOV AX, 3000H MOV DI,AX MOV CX, 00FFH CLD
REP MOVSB