实验名称Keil的使用与汇编语言上机操作成绩一、任务要求
掌握Keil环境的使用
)字节拆分、合并:,观察相关寄存器和单元的内容。
)数据块填充:,观察相关寄存器和单元的内容。
编写多AABACADAEAFBOBlB2B3
X:0X0070B4
3435B6B7B9B9BABBBCBDBEBFCOClC2
X:OkOO^OCS
G3匚3C5C6G7GSG9GAGBCCCDCECFDODI
X:0x00^0D2
D2D3D尊D5D6D7D8DSDAD3DCDDDEDFEO
X:0X0070E1
ElE2E3E4ESE6E7ESE9EAEEECEDEEEF
X:0x0070F0
FOFlF2F3F。F5F6F7F8F9FAFBFCFDFE
X;OxOO^OFF
ffooododo。aooadoooqoqooooaoooo
四个十六位数的加法程序
输入的数:
Memory1
D:0x20:0:
CC
DD
D:0x22:2:
EE
FF
D:0k24:4:
FF
EE
D:0x26:6:
33
11
.Address:d:20h
结果:
r2Qxe?
r3Oxdd
r40x02思考题怎样查看工作寄存器、SFR片内RAM片外RAMM程序代码空间内容?Disassembly窗口有何作用?
)观察工作寄存器,SFR点击ViewRegistersWindow,弹开aRegisters”窗口。
在此窗口查看。
)观察IO端口,Timer,中断控制寄存器:点击菜单Peripherals,弹出外设选项栏,选择对应外设,弹出相应外设控制寄存器窗口,即可观察。
)观察片内RAM代码区和片外数据区:点击菜单View选择MemoryWindows,在Address栏中键入存储空间类型和地址,可以观察到相应内容。
Disassembly窗口显示代码及其相应的机器码,也展示了代码的PC地址。
字节拆分、合并还有哪些方法,举一例说明。
举例:ORG0100HMAIN:MOVSP,#40H;赋堆栈指针MOV30H,#49H;30H单元赋值MOVA,30HANLA,#0FH;拆分出低四位ORL32H,#30H;转换为ASCIIMOVA,30H
ANLA,#0F0H
SWAPA;拆分出高四位ORLA,#30H;转换为ASCIIMOV31H,A;结果存于31H单元HERE:SJMPHERE;踏步END若按递减1规律填充数据块,应如何修改程序?
将“INCA”改为“DECA'
改后运行结果如下:
X
0x007000
00
FF
FE
FD
FC
ra
FA
F9
FS
F7
F6
F5
F4
F3
F2
X
0x007012
EE
ED
EC
E3
EA
E9
E8
E"
E6
E5
E4
E3
E2
El
EO
X
0x307024
DC
DB
DA
D9
D8
IT
D6
OS
D4
D3
D2
DL
EO
CT
CE
X
0x307036
CA
C9
C8
C7
C6
C5
■22
C2
Cl
CO
BF
3E
微机实验报告一 来自淘豆网www.taodocs.com转载请标明出处.