配色: 字号:
第4章参考答案
2012-05-15 | 阅:  转:  |  分享 
  
第4章AT89S51汇编语言程序的设计与调试

参考答案

1.答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。常用伪指令及其功能如下:

ORG(ORiGin)汇编起始地址命令;END(ENDofassembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(DefineByte)定义数据字节命令;DW(DefineWord)定义数据字命令;DS(DefineStorage)定义存储区命令;BIT位定义命令

2.?答:

手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。这种人工查表“翻译”指令的方法称为“手工汇编”。

机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。

反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。

3.答:从1000H开始的各有关存储单元的内容(16进制)如下:

4D41494E12343000

0070787FE4F6D8FD

75810702

4.在编写子程序时应注意以下问题:

(1)子程序的第一条指令前必须有标号。

(2)主程序调用子程序,有如下两条子程序调用指令:

①绝对调用指令ACALLaddr11。被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。

②长调用指令LCALLaddr16。addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。

(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。

(4)子程序返回时,必须以RET指令结束。

(5)子程序可以嵌套,但要注意堆栈的冲突。

5.答:参考程序如下:

MOV A,45H

ANL A,#0FH

ORL A,#0FH

MOV 45H,A

6.答:A=80H,SP=40H,(41H)=50H,(42H)=80H,PC=8050H

7.答:参考程序如下:

START: MOV R0,#30H

MOV R2,#20H

LOOP: MOV A,@R0

CJNE A,#0AAH,NEXT

MOV 51H,#01H

LJMP EXIT

NEXT: INC R0

DJNZ R2,LOOP

MOV 51H,#00H

EXIT: RET

8.答:参考程序如下:

START: MOV 41H,#0

MOV R0,#20H

MOV R2,#20H

LOOP: MOV A,@R0

JNZ NEXT

INC 41H

NEXT: INC R0

DJNZ R2,LOOP

RET

9.答:参考程序如下:

ORG 0100H

MOV R2,#20H 要比较的数据字节数

MOV A,#21H

MOV R1,A

DEC R2

MOV A,@R1

LOOP: MOV R3,A

DEC R1

CLR C

SUBB A,@R1

JNC LOOP1

MOV A,@R1

SJMP LOOP2

LOOP1: MOV A,R3

LOOP2: DJNZ R2,LOOP

MOV @R0,A

RET

10.答:

(1)SP=SP+1=61H (61H)=PC的低字节=03H

SP=SP+1=62H (62H)=PC的高字节=20H

(2)PC=3456H

(3)可以

(4)2KB=2048Byte



11.答:可对程序做如下修改:

ORG 0100H

DEL: MOV R7,#200

DEL1: MOV R6,#123 ;将原来的立即数125改为123

DEL2: DJNZ R6,DEL2

NOP ;增加的指令

DJNZ R7,DEL1

RET

程序修改后的延时时间为:1+(1+1232+1+2)200+2=50003us=50.003ms





























·2·





·1·













































































































































































































































































































































































































































































































































































































































献花(0)
+1
(本文系依米荷阳首藏)