呵呵,应wdm兄弟的要求,说说个人的体会吧:
1.这本书为了让更多想学汇编的人入门,所以讲得很基础,
对于书中出现的每个知识点,都应该牢固掌握,
应该要有追根究底的精神,本来知识就很基础,
如果再马虎的过完每一章节,学完后,收获会更少得可怜了。
2.一般来说我的学习步骤是这样的:
(1)认真看书掌握知识点
(2)认真完成检测点,如果完不成,
那就是我本章节内的知识或前面章节的知识没掌握好,
我会回过头去有目的的细看相关的知识点。
(3)认真完成每章后面的实验,我相信实验具有总结性。
(4)做网上的检...


- [taotling] 小朋友问这道题怎么按我的抄完后尽是报除法溢出来着。 忽略掉之前的吧,下面的是正确姿势。 这个 04/04 17:47
- [rexic] 回复[ taotling 发表于 2015-09-05 22:41 ] 此处程序应该在 11/14 21:34
- [taotling] assume cs:code, ss:stack, ds:data data segment 09/13 13:53
- [taotling] 更正: 忽略后来在2008-04-01发的评论: [taotling发表于2008-04-01 09/05 23:17
- [taotling] 实验五(5)可简化为: ------------------------------------- 09/05 22:41
- [taotling] 纠正,将 mov cx,17h 改为 mov cx,18h ------------ 原 09/05 13:58
- [fpamc] 欢迎前辈。 10/18 08:49
- [fpamc] 谢谢作者。 很感谢分享自己的经验。 原本我会很担心时间问题,因为我是基础差,遇到不明白的很多,都 03/17 07:50
- [tomato] 博主总结的很到位。 03/16 23:10
- [killkk] 多谢、学习。。 08/28 12:41
- [zouhehui] 你好,有个问题想请教你,你的实验10.4的那种图是怎么做出来的,谢谢! 11/30 22:57
- [fangyugirl] 你好,请问你有MSN吗?我想加你,让你给我讲讲16的实验的问题,我看过其他人的,方法就那么几种,我也 05/18 11:03
- [w0922] 你好 !能不能到我的博客看哈 有个问题想请教哈你··· 就是我博客实验十分析的那个问题 04/18 15:18
- [rsice] taoling你好,现在有事想你求救,我在第10章实验10的第3个子程序始终出错,我想破脑壳也想不出 04/08 12:14
- [游客] 博主如果想继续学习的话,可以看看C语言,将数据结构中的算法用C语言编一遍,然后学习学习OS(操作系统 03/30 20:03
[2008-03-17 16:49]
本书学习结束后的学习体会
阅读全文 |
评论次数(19) |
浏览次数(3474) |
所属类型(学习笔记)
[2008-03-08 06:23] 分析一下
下面的说法正确的是______。
1、 外设的输入随时都能获得CPU的处理。
2、 计算机外设的输入不直接送入CPU,而是直接送入内存。
3、 标志寄存器IF位决定着中断信息能否被CPU处理。
4、 以上说法都有错误。
对于1:基本上外设的输入会引发中断,这些中断大多属于可屏蔽中断,
对于可屏蔽中断,CPU是否马上处理,视IF的值而定。
对于2:计算机外设的输入不直接送入CPU和内存,而是直接送入相关
的端口。
对于3:标志寄存器IF位只决定着可屏蔽中断信息能否被CPU处理,
对于中断类型为2的不可屏蔽中断,CP...
1、 外设的输入随时都能获得CPU的处理。
2、 计算机外设的输入不直接送入CPU,而是直接送入内存。
3、 标志寄存器IF位决定着中断信息能否被CPU处理。
4、 以上说法都有错误。
对于1:基本上外设的输入会引发中断,这些中断大多属于可屏蔽中断,
对于可屏蔽中断,CPU是否马上处理,视IF的值而定。
对于2:计算机外设的输入不直接送入CPU和内存,而是直接送入相关
的端口。
对于3:标志寄存器IF位只决定着可屏蔽中断信息能否被CPU处理,
对于中断类型为2的不可屏蔽中断,CP...
阅读全文 |
评论次数(4) |
浏览次数(554) |
所属类型(学习笔记)
[2008-03-06 18:38] 关于CMOS与BIOS
CMOS互补金属氧化物半导体(Complementary Metal Oxide Semiconductor的缩写,是一种大规模应用于集成电路芯片制造的原料)是微机主板上的一块可读写的RAM芯片,主要用来保存当前系统的硬件配置和操作人员对某些参数的设定。CMOS RAM芯片由系统通过一块后备电池供电,因此无论是在关机状态中,还是遇到系统掉电情况,CMOS信息都不会丢失。
由于CMOS RAM芯片本身只是一块存储器,只具有保存数据的功能,所以对CMOS中各项参数的设定要通过专门的程序。早期的CMOS设置程序驻留在软盘上的(如IBM的PC/AT机型),使用很不方便。现在多数厂家将CMOS设...
由于CMOS RAM芯片本身只是一块存储器,只具有保存数据的功能,所以对CMOS中各项参数的设定要通过专门的程序。早期的CMOS设置程序驻留在软盘上的(如IBM的PC/AT机型),使用很不方便。现在多数厂家将CMOS设...
阅读全文 |
评论次数(0) |
浏览次数(437) |
所属类型(学习笔记)
[2008-03-05 22:28] 以后的学习笔记
以后的学习笔记,更多体现在作业以及实验中的理解、分析中。...
阅读全文 |
评论次数(1) |
浏览次数(432) |
所属类型(学习笔记)
[2008-02-22 03:27] 13~14天学习笔记
1.若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,
在datasg段中应该定义哪些数据?
================CODE=================================
assume cs:codesg
datasg segment
......
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
codesg ends
end start
===============...
在datasg段中应该定义哪些数据?
================CODE=================================
assume cs:codesg
datasg segment
......
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
codesg ends
end start
===============...
阅读全文 |
评论次数(2) |
浏览次数(1225) |
所属类型(学习笔记)
[2008-02-20 02:25] 11~12天学习笔记
第8章 数据处理的两个基本问题
0.计算机进行数据处理,最基本的两个问题:
(1)数据在什么地方------- 寻址问题。
(2)数据长度------------- 取数据问题。
1.bx、si、di、bp
(1) 在8086CPU中,只有这4个寄存器可以用于[...]中,
来进行内存单元的寻址。
(2) 在[...]中,bx、si、di、bp这4个寄存器可以单个出现,
但成对出现只有4个组合:[bx+si]、[bx+di]、[bp+si]、[bp+di]
(3) 在[...]中使用寄存器bp,如果指令中没有显性地给出段地址,
...
0.计算机进行数据处理,最基本的两个问题:
(1)数据在什么地方------- 寻址问题。
(2)数据长度------------- 取数据问题。
1.bx、si、di、bp
(1) 在8086CPU中,只有这4个寄存器可以用于[...]中,
来进行内存单元的寻址。
(2) 在[...]中,bx、si、di、bp这4个寄存器可以单个出现,
但成对出现只有4个组合:[bx+si]、[bx+di]、[bp+si]、[bp+di]
(3) 在[...]中使用寄存器bp,如果指令中没有显性地给出段地址,
...
阅读全文 |
评论次数(2) |
浏览次数(558) |
所属类型(学习笔记)
[2008-02-18 23:00] 09~10天学习笔记
第7章 更灵活的定位内存地址的方法
1.and(与)、or(或)运算
(1) AND
0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1
分析:
用0表示假,1表示真,
只有and两边的操作数均为1(真),也就是说要同时满足两个条件:
a.第一个操作数为1(真);
b.第二个操作数也为1(真)。
这样才能使最后的结果为1(真)。
只要不同时满足上面两个条件的时候,
结果均为0(假)。
总结:
任何数(这里指的是0或1)与1进行...
1.and(与)、or(或)运算
(1) AND
0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1
分析:
用0表示假,1表示真,
只有and两边的操作数均为1(真),也就是说要同时满足两个条件:
a.第一个操作数为1(真);
b.第二个操作数也为1(真)。
这样才能使最后的结果为1(真)。
只要不同时满足上面两个条件的时候,
结果均为0(假)。
总结:
任何数(这里指的是0或1)与1进行...
阅读全文 |
评论次数(2) |
浏览次数(548) |
所属类型(学习笔记)
[2008-02-18 12:43]
06~08天学习笔记
第6章 包含多个段的程序
1.end伪指令
------------------------------------------------------
源程序代码:
------------------------------------------------------
assume cs:code
code segment
dw 0123H,0456H,0789H,0abcH,0defh,0fedh,0cbah,0987h
start: mov bx,0
mov ax,0
mov cx,8
s: add ax,cs:[bx]
add bx,2...
1.end伪指令
------------------------------------------------------
源程序代码:
------------------------------------------------------
assume cs:code
code segment
dw 0123H,0456H,0789H,0abcH,0defh,0fedh,0cbah,0987h
start: mov bx,0
mov ax,0
mov cx,8
s: add ax,cs:[bx]
add bx,2...
阅读全文 |
评论次数(22) |
浏览次数(1469) |
所属类型(学习笔记)
[2008-02-16 15:07] 05天学习笔记
第五章:[BX]和loop的使用
1. inc指令
inc bx :bx的值增加1
inc即increase
2. 汇编源程序中的数字与进制
在写汇编源程序的过程中,
数字如果没有带后缀,
那么编译器(masm)将其默认为10进制,
在进行编译的时候,
编译器会将其转为相应的16进制。
可以将源程序中的数字带上后缀,
让编译器将之识别为相应的进制数,如:
0101010101B: 编译器将之识别为 2 进制,编译后会将之转为相应的16进制:0155H
071O : 编译器将之识别为 8 进制,编译后会将之转为相应的16进制...
1. inc指令
inc bx :bx的值增加1
inc即increase
2. 汇编源程序中的数字与进制
在写汇编源程序的过程中,
数字如果没有带后缀,
那么编译器(masm)将其默认为10进制,
在进行编译的时候,
编译器会将其转为相应的16进制。
可以将源程序中的数字带上后缀,
让编译器将之识别为相应的进制数,如:
0101010101B: 编译器将之识别为 2 进制,编译后会将之转为相应的16进制:0155H
071O : 编译器将之识别为 8 进制,编译后会将之转为相应的16进制...
阅读全文 |
评论次数(3) |
浏览次数(920) |
所属类型(学习笔记)
[2008-02-16 13:08]
04天学习笔记
第四章:
1.
进行单步跟踪,debug执行T命令的过程大体是:
(1) 设置控制程序执行的相关状态字
(保证执行被加载程序的一条指令后,暂停程序后面语句的执行),
执行权交给被加载程序;
(2) 执行被加载程序的当前指令,当然,紧接着的语句由于步骤 1 的设置不能获得执行,
执行权就又交给了debug;
(3) debug负责显示各寄存器状态及相关信息的子程序块执行:
a.保存当前被加载程序的状态,即保存相关寄存器的状态等信息
(保存位置:栈空间;实现方式:入栈操作);
b.显示各寄存器的状态(a步骤后栈中的某些数据)及相关...
1.
进行单步跟踪,debug执行T命令的过程大体是:
(1) 设置控制程序执行的相关状态字
(保证执行被加载程序的一条指令后,暂停程序后面语句的执行),
执行权交给被加载程序;
(2) 执行被加载程序的当前指令,当然,紧接着的语句由于步骤 1 的设置不能获得执行,
执行权就又交给了debug;
(3) debug负责显示各寄存器状态及相关信息的子程序块执行:
a.保存当前被加载程序的状态,即保存相关寄存器的状态等信息
(保存位置:栈空间;实现方式:入栈操作);
b.显示各寄存器的状态(a步骤后栈中的某些数据)及相关...
阅读全文 |
评论次数(4) |
浏览次数(908) |
所属类型(学习笔记)