bambooflute 发表于 2009-8-12 19:01:56

已经看过4个《AVR单片机嵌入式系统原理与应用实践》勘误doc了,最近再发现的一些小错

首先还是要谢谢马潮老师和其他工作人员严谨热心的工作态度的,真是精益求精了。

我用的书是第一版第一次印刷的,已经核对了勘误表1、2、3、4(4是09年最新的吧),发现有些地方还是有点小错误,不知道有没有看错,具体如下:

1.        书本P58页指令分类处,说共131条指令,经过对之后各部分指令的统计有:
算术和逻辑运算指令31条,不是28条;
比较和跳转指令33条,不是36条;
数据传送指令37条,不是35条;
位操作和位测试指令28条,没错;
MCU控制指令3条,不是4条,书本P91最后一行也是说3条;
这样总共132条了。

============================================================
我有空仔细算一下。


2.        书本P61有如下指令:
LDS Rd, K; 操作:Rd<-(K)
这个有问题,我看过AVR指令集.pdf,上面官方的写法是:
LDS Rd, k; Rd<-(k)
应该是小写的k。
============================================================
是应该为小写的k,是地址常数,不是立即数。



3.        书本P67中增1指令的说明中有:
BRNE(不为零跳转)
最好写成BRNE(Z不为零跳转)吧,初学者就明白了。
============================================================
判断是否为零,总是看Z标志位的。这个不用改的。


4.        书本P113第9行
mageAVR->megaAVR
=============================================================
笔误。

bambooflute 发表于 2009-8-12 21:53:49

5.        书本P135倒数第4行
.APR->.APS
==================================
应该是APS。

bambooflute 发表于 2009-8-12 22:32:24

刚发现还有一个
6.        书本P143第6行
.APR->.APS

=================================
不是APR,也不是APS,而是PRJ。

CVAVR的工程项目管理文件使用PRJ做后缀名。

machao 发表于 2009-8-16 15:10:26

谢谢 bambooflute,还有问题请继续贴在这里。

过段时间我整理好再贴个勘误表(5)出来,书的修正就只能等第4次印刷了(如果有的话)。

不好意思,向买书的朋友致歉意了。

xjf20072608 发表于 2009-8-18 13:07:46

马老师
第297页的那个图AVR I/O 内部结构图中的关于读pin 口的那个控制的传输门好像画错了,传输门好像一边有圈一边没有。

==========================
1.该图来自器件手册,核对过,没有问题。
2。如果你指的虚线框中的同步锁存器的话,应该是一个高电平锁存,一个是低电平锁存的。这样的话,正好一个CLK_io时钟的上下过程将PIN信号锁存读入。

wdgao 发表于 2009-8-21 20:29:40

P456,15行,PD0、PD1应为PC0、PC1


===================================
谢谢,正确的是PC0、PC1(M16)

xjf20072608 发表于 2009-8-22 22:11:32

马老师:4楼的那个错误还是存在的,我想可能是印刷的问题
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_473655.jpg
(原文件名:1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_473656.jpg
(原文件名:2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_473657.jpg
(原文件名:3.jpg)

就是第三幅图中的那个小圈圈,书中没有。

isbit 发表于 2009-10-14 22:27:28

hehe,都这么仔细啊,我看东西都是一扫而过!
惭愧!

mrightt 发表于 2009-11-15 23:15:28

想大家学习啊,果然是呢

zhushouxi 发表于 2009-11-22 16:45:10

大家学的真认真,汇编部分我都没看呀,只学c语言部分够不够呀?

ep02 发表于 2009-11-26 22:57:22

1、P70第5行,“补码”是否应为“反码”?(即1的补码,而我们通常说的补码是2的补码)
2、P85应说明ATmega16芯片不支持4)、5)、6)的ELPM这三条指令。
3、P81除了有MOV指令,mega系列还支持“寄存器字复制”指令MOVW。
MOVW – Copy Register Word
格式1:MOVW Rd+1:Rd,Rr+1:Rr
格式2:MOVW Rd,Rr         ; Rd+1:Rd ← Rr+1:Rr,d ∈{0,2,4,…,30} , r ∈{0,2,4,…,30} , PC ← PC + 1
4、P160 程序段中12个伪指令 .BYTE 后均应改为1,表示各保留一个SRAM字节单元。虽然书中写0x00不会对该程序运行造成任何不良影响,但不符合 .BYTE 的用法和题意。

machao 发表于 2010-4-10 03:31:53

谢谢以上各位。

请各位读者发现问题后,继续贴在这里。

machao 发表于 2010-4-10 20:03:51

非常感谢楼上的 bambooflute, xjf20072608 和 ep02 三位朋友,谢谢你们的认真和仔细。

我已经将这些问题进行归纳了,整理出勘误文件了。
页: [1]
查看完整版本: 已经看过4个《AVR单片机嵌入式系统原理与应用实践》勘误doc了,最近再发现的一些小错