姓名:
学号:
班级:
同组人:
指导老师:
报告日期:
软件设计实验1:清零实验
? 实验目的:
掌握汇编语言设计和调试方法
? 实验内容:
使用AT89C52单片机对单片机内部RAM进行清零操作,实验内容如下:
把90H-AFH勺内容置为#55H;
把90H-9FH的内容清零。
? 实验问答:
清零之后,90H-9FH的内容是什么? A0H-AFH的内容是什么? 清零之后,90H-9FH的内容是#00H; A0H-AFH的内容是#55H
累加器A、堆栈指针SP的初始状态是什么?
累加器A的初始状态是00H; 堆栈指针SP的初始状态是07H
软件设计实验
软件设计实验2:拆字拼字实验
? 实验程序:
$NOMOD51
$INCLUDE (80C52.MCU)
Loop:
jmp Loop
;DEFINITIONS
;VARIABLES
;RESET and INTERRUPT VECTORS
K K ? M □ :&(:?!? 04 ?t 00
tt E; eg ?
II 吧 i? BV
DC K OC M M M iM M 04 KI 00 (KI
A4 Aft Aft Art
g g g ati ?l H M Mi M TO W PC 49 M ? DC M EC ? 61: M (M ? DO 4C QC W DO
:<3 =Z D-J DC i:-蛊噩 :fl E:旳 Dt ?□ QC DU DC m i? ? fie ■XI QC DO DO * i*u*i i*m i*u*i
g W
0 M
DO OQ
::Ji
£DBILCPL Irlvmal T1ATA:
CRJIU911W1 - U1
P££m£TIL jcrxoh
;Reset Vector org OOOOh jmp Start
EfcCC eomipcfl.-
EG M&Md旷nno自皿
*.0 *.lKJkJ45
£D ROO gE□□ PU DD
F-0 珂 ?2 叮 KOh SBUF 杆R m=砂 Ml 的
WK TWE-1 TWO> TEOII rCOM &D&& MM 94 m9 OB
】[I*HilJT€OM赋"
nn f rwiflCi rm nnnn
KJ-L £PU中 MvniDry - LH
;CODE SEGMENT
杀盟益■監g £§£■■■= 短9QSSMa^? QdcQ心-9 si cd 9Agtf" 419-0 0 2I?題!!?卸列 2IMSM 鶴話益■舄3 0 n- V u q n" 冷尬 04曲ftn- Vo & 4- MMWMMMWffMW sss^ 鼎誥3需話器
org 0100h
Start:
MOV R1,#20H
MOV A,#55H
MOV R0,#90H
LP1:
MOV @R0,A
INC RO
DJNZ R1,LP1
MOV R2,#10H
MOV A,#00H
MOV R0,#90H
LP2:
MOV @R0,A
INC R0
DJNZ R2,LP2
? IE? C4-rrf>F
2 DO ETD 打:? (KWtmDD
■ra* 2 TCDh n: 2 昭m *他
单个实验报告内容限制在两页之内,采用双面打印,所有报告统一装订;表头内容需要手工签写。
姓名:
学号:
班级:
同组人:
指导老师:
报告日期:
? 实验目的:
进一步掌握汇编语言设计和调试方法
? 实验内容:
使用AT89C52单片机对单片机内部RAM存储的数据进行拆字和拼字实验,实验内容如下:
将40H地址的内容设置为#8AH;
将40H地址的内容进行拆分,高字节保存在31H,低字节保存在32H;
将31H、32H地址的内容进行合并,保存在30H。
? 实验问答:
运行程序后30H和40H的最终内容是?
30H和40H的最终内容都是#8AH.
如果欲使30H内容为0A8H,程序应如何修改? 只需对源码做出如下改动
MOV A,32H
SWAP A
MOV R6,A
MOV A,31H
ORL A,R6
MOV 30H,A
只需将32H中的低位先交换后赋给 R6,然后把31H的高位与之做或运算即可。
BQS1 5J WannaJ IIDATAI "Megt^ ? U1
END
? 实验程序:
$NOMOD51
$INCLUDE (80C52.MCU)
;DEFINITIONS
;VARIABLES
Do豊W崙器留誥器誇