、
必做实验
第二章 软件仿真实验 2.1实验1:汇编程序实验1
示例程序:
ORG 0000H AJMP MAIN ORG 0030H MAIN:
MOV SP,#60H ;堆栈底设置在60H
MOV A,#0H ;A置零
MOV R1,#30H ;起始单元地址为30H MOV R7,#10H ;R7用于计数,初值为10H
LOOP1: ;将30H开始的16个内存单元置零 MOV @R1,A INC R1 DJNZ R7,LOOP1
NOP
MOV R1,#30H
MOV R7,#10H ;重新赋计数初值和起始单元地址
1
LOOP: ;将0到F赋给30H开始的16个单元中; MOV @R1,A
INC R1 ;地址自增 INC A ;A自增 DJNZ R7,LOOP SJMP $ END
(3)示例程序的功能
将30H开始的16个内存单元清0,然后将值0到F赋给30H开始的16个单元。 (4)运行结果截图
② 自我完成实验程序
ORG 0030H MAIN:
MOV A,11111111B MOV R1,#30H MOV @R1,A MOV B,64H DIV AB INC R1 INC R1
ANL A,#0FH MOV @R1,A DEC R1
2
MOV A,B MOV B,#0AH DIV AB RL A RL A RL A RL A ADD A,B MOV @R1,A SJMP $ END
2.2实验2:汇编程序实验2
程序及其注释
ORG 0000H AJMP MAIN ORG 0030H MAIN:
MOV 30H, #45H ;待操作数存于30H单元 MOV A, 30H ;30H单元中的数送A
ANL A,#0FH ;高四位清零,保留低四位 MOV 31H,A ;结果存于31H单元 MOV A,30H ;重新取待操作数至A
ANL A, #0F0H ;低四位清零,保留高四位
SWAP A ;自交换实现待操作数的高四位表示的二进制数存于A MOV B, #10
MUL AB ;待操作数的高四位表示的二进制数乘以10
ADD A,31H ;待操作数的高四位表示的二进制数乘以10后和低四位表示的二进制数相加
3