字节拆分、合并程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字节拆分、合并程序
File name: e421.asm
Description: 1字节BCD码转换为2字节ASCII
2字节ASCII码转化为1字节BCD码
Date:
Designed by:
Source used: 30H: BCD data
31H, 32H:ASCII data
31H, 32H ->33H
ORG 2000H
START: MOV SP, #40H ;赋堆栈指针
MOV 30H, #49H ;30H单元赋值
MOV R0, #32H ;R0指针赋值
MOV @R0, #0 ;32H单元清零
MOV A, 30H
XCHD A, @R0 ;拆分字节
ORL 32H, #30H ;转换为ASCII
SW AP A
ORL A, #30H ;转换为ASCII
MOV 31H, A ;结果存于31H单元
MOV A, 31H ;从31H单元取值
ANL A, #0FH ;转换为BCD
SW AP A
MOV 33H, A ;结果存于33H单元
MOV A, 32H ;从32H单元取值
ANL A, #0FH ;转换为BCD
ORL 33H, A ;合并字节
HERE: SJMP HERE ;踏步
END
数据块清零程序:将片外RAM 7000H-70FFH单元全部清零
File name: clear.asm
Date:
Designed by:
Source used: R0: 计数器
DPTR: 片外数据指针
ORG 0030H
CLEAR: MOV R0, #00H ;设循环计数器
MOV DPTR, #7000H ;设数据指针CLEAR1: CLR A ;将A清零
MOVX @DPTR, A ;传送到片外RAM
INC DPTR ;修改数据指针
INC R0 ;修改循环计数器
CJNE R0, #00H, CLEAR1 ;判断是否结束CLRW: SJMP CLRW ;原地踏步
END
附录1 设计报告格式要求
实验名称
专业班级姓名学号
联系方式
一、任务要求
二、设计思路
三、资源分配
四、流程图
五、源代码(含文件头说明、资源使用说明、语句行注释)
六、程序测试方法与结果、软件性能分析
七、心得与体会
附录2 MedWin的使用
1. 安装MedWin 的步骤
a. 点击setup 文件后,出现安装MedWin 集成开发环境画面。

2. 安装文件路径设置
为了便于管理和服务,建议安装MedWin 集成开发环境时,使用以下缺省路径安装:缺省安装目标路径:C:\Manley\PMedWin ,只需点击next直至finish 。

3. 设置MedWin
a. 点击Windows[开始| 程序/Manley/MedWin 中文版/启动中文版MedWin
b. 点击[模拟仿真]按钮,进入模拟仿真状态。

c. 设置工作目录
进入MedWin 集成开发环境后,系统首先提示默认的工作目录为C:\MedWin,这里可以不修改。

也可根据需要选择合适的工作目录,例如将工作目录改为D:\WorkDir(用户可自行定义目录名称)。

4. 配置编译/ 汇编/ 连接器及环境//////这里使用默认状态即可。

注意选择合适的路径和程序:如
a. 编译器路径为C:\C51\BIN\C51.exe
b. 汇编器路径为C:\C51\BIN\A51.exe
c. 连接器路径为C:\C51\BIN\BL51.exe
系统头文件、库文件的环境为:
a. 编译器系统头文件路径为C:\C51\INC
b. 编译器系统库文件路径为C:\C51\LIB
MedWin 集成开发环境默认源程序的扩展名为:
a. C 源程序文件的扩展名为 .C
b. 汇编源程序文件的扩展名为 .ASM
5. MedWin开发入门////不使用项目管理方式开发应用程序
(1)第一步:关闭当前项目文件
命令:[项目管理| 关闭当前项目]
(2)第二步:在文件菜单下打开应用程序
命令:[文件| 新建] :然后编辑源程序。

或 [文件| 打开] 打开一个已有的源程序。

(3)第三步:编译/ 汇编
命令:[项目管理| 编译/ 汇编]
(4)第四步:错误信息关联
MedWin集成开发环境调用外部命令编译/汇编后产生的结果,显示在消息窗口中,消息窗口可由热键Ctrl+9 激活。

当编译/ 汇编发生错误时,消息窗口中的错误信息自动与源文件关联,提示出错的位置。

在消息窗口中错误提示处双击鼠标左键或键入回车,可将错误信息与源文件的错误位置关联:
a 如果编译/ 汇编没有错误,可进入第五步操作
b 如果编译/ 汇编出现错误,在修改源文件后重复进行第三步操作
(5) 第五步:产生代码并装入仿真器调试
命令: [项目管理| 产生代码并装入]
6. 查看(V)
(1) 寄存器(R)
寄存器窗口,显示80C51 内核基本的寄存器R0-R7,A,B,DPH,DPL,SP 和PSW,以16 进制方式显示字节寄存器的内容,以位的方式显示PSW 的内容。

(2) 特殊功能寄存器(S)
当前被选择的CPU 所包含的特殊功能寄存器窗口,以16 进制方式显示字节寄存器的内容。

(3)反汇编窗口(C)
反汇编窗口,将程序代码区的内容以反汇编方式及源程序方式显示。

反汇编窗口同时支持行汇编方式输入或修改程序代码。

(4)观察窗口第一、二、三、四观察组
为了方便用户避免多次添加和删除需要观察的变量,设置的几组观察窗口。

(5)变量窗口(V)
变量窗口。

(6)数据区IData
片内RAM 区域,被mov @ri,a 或mov a,@ri 指令间接寻址访问的数据区。

(7)数据区Data
片内RAM 和SFR 区域,被直接寻址访问的数据区。

(8) 数据区Code
程序代码空间。

(9)数据区XData
外部数据空间。

(10) 数据区Bit
片内的位寄存器区域0-127 与片内地址为20H-2FH的RAM 对应,128-255 与SFR 相对应。

(11)数据区PData
页面存储方式下的外部数据空间,使用movx @ri,a或movx a,@ri 指令。

(12) 消息窗口(M) Ctrl + 9
消息窗口,显示编译/ 汇编产生的结果,调试过程中的提示以及在文件中查找的结果。

7.调试(R)////点击[调试]即可看到各调试项及快捷键。

也可使用工具栏上的图标.
(1)开始调试(B) Ctrl + M
切换到调试态,如果已经打开了项目文件,则进行产生代码并装入操作。

(2)终止调试(D) Ctrl + D
切换到编辑态。

(3)全速运行(R) F9
全速运行,调试态有效。

(4)禁止断点并全速运行(E) Alt + F9
禁止断点并全速运行,调试态有效(此命令只对具有跟踪存储器功能的仿真器有效)。

(5)跟踪(T) F7
跟踪运行程序,在反汇编窗口下执行一条指令,如果当前是调用指令,则
进入所调用的子程序;如果在源程序窗口下,执行当前文本下的一条语句,如果是调用则进入所调用的子程序。

调试态有效。

(6)单步(S) F8
单步运行程序。

反汇编窗口下如是调用指令,则越过所调用的子程序;源程序窗口下,如果是调用语句,则越过所调用的子程序。

调试态有效。

(7)运行到光标处(G) F4
程序全速运行到光标处,调试态及源程序文本或反汇编窗口有效。

(8)运行到Return 指令处(U) Alt + F8
程序全速运行到RET 指令处,调试态有效,对于不同的仿真器,此命令功能有所不同。

(9)交互跟踪(A) Alt + F7
如果当前激活的是程序文本窗口,执行反汇编窗口的跟踪指令;如果当前激活的是反汇编窗口,执行源程序文本窗口的跟踪指令,调试态有效。

总过程:
1.安装并设置
2.新建编辑源程序或打开一源程序,编译并修改直至编译通过(即没有语法错
误)。

生成代码并装载。

3.打开所要查看的数据窗口,边看中间结果边单步或跟踪运行程序,直到结束,
并查看最终结果。

相关文档
最新文档