资源描述
1,第42页,检测点4.2,第1题。本程序有误,正确的内容是:(由网易邮箱读者小小鸟、QQ 读者闪耀、流星梦和二玉发现)mov ax,0 xb800 mov ds,ax mov byte 0 x00,a mov byte 0 x02,s mov byte 0 x04,m jmp$times 510-($-$)db 0 db 0 x55,0 xaa2,第52页,第24行,正确的内容是:(由 QQ 读者闪耀发现)mov ax,0 x02 ;按字操作3,第53页,第4行,正确的内容是:(由 QQ 读者tome发现)mov 0 x02,bl4,第65、80、94、129、138页中,需要更正和明确 loop 指令、短转移指令 jmp short、相对近转移指令 jmp near 和相对近调用指令 call near 的操作数计算方法和执行过程。(由网易邮箱读者小小鸟、QQ 读者艾小羊提出)首先,这些指令的操作数都是相对于目标位置处的偏移量。但需要指出的是,偏移量的计算方法取决于实际的编译器,书中所说的“用目标位置处的汇编地址减去当前指令的汇编地址,再减去当前指令的长度”,不应算错。其次,处理器的执行过程严格地说,是非 IA-32架构的组成部分。因此,除了结果是确定的,各步骤的先后次序取决于处理器的设计。历史上,指令的执行过程有不同的解释和说法。但本书对这些指令执行过程的解释比较模糊和武断。为严谨起见,再统一描述如下:在以上指令的编译阶段,编译器用目标位置处的汇编地址减去当前指令的下一条指令的汇编地址,结果做为操作数;处理器在执行一条指令时,指令指针寄存器 IP 会自动指向下一条指令。因此,当以上指令执行时,IP 的内容就是下一条指令的偏移地址。处理器用 IP 的内容加上指令的操作数(如果是 call near 指令,还要压入 IP 的内容),并用该值取代 IP 中的原有内容。5,第79页,检测点6.1。正确的内容是:(由 QQ 读者闪耀发现)选择填空:MOVSB 指令每次传送一个(),MOVSW 指令每次6,第86页,第26行:(由 QQ 读者闪耀发现)原指令为“idiv bl”,正确的是“idiv bx”7,第92页,检测点6.4,第2题,(由 QQ 读者闪耀发现)中间一句的正确内容是:“AX 的内容等于 BX 的内容时,转移到标号 lbz 处执行;”8,第101页,7.5.2节。本节第10行:(由 QQ 读者闪耀发现)正确的内容是:“为了方便,源程序第50行,直接将 DL 中的余数。”9,第104页,7.5.4节。本节第12行。(由 QQ 读者闪耀发现)正确的内容是:mov ax,cs10,第136页,倒数第11行。(由 QQ 读者闪耀发现)正确的内容是:第四种指令格式和第三种类似,只是11,第137页,倒数第14行。(由 QQ 读者tome 发现)正确的内容是:如图8-15所示。12,第144页,8.4.6小节内第2行。少了一个字。应当是“为此,需要首先识别出它们。”13,第152页,倒数第3行。(由 QQ 读者闪耀发现)应改为“那么它每个引脚 IR0IR7所对应的中断号分别为0 x080 x0F。”14,第155页,图9-4。(由 QQ 读者艾小羊提出)改为下图:
展开阅读全文