|
下载服务器:五号服务器---VIP资料下载八区\VIP专题教程二区
5 U- g/ Q$ o/ d/ W& Q0 l$ w- ` z6 P! _3 ~! t3 Q! Q
课程持续更新中.. .已更新到第12课...
8 {6 j1 E, L4 Z. H1 a) c课程地址: http://i.youku.com/helloworld122
7 e6 U5 U& I3 `0 D( F! k5 |. ]: _) {$ ^( u! P3 I* ]
--献给所有初学汇编的同学们,学习汇编更能看透其他高级语言的本质。
+ u" V3 K3 K" L0 z4 H9 H8 s0 b3 C7 q3 j: M3 t0 y7 I. s
" U/ c# J5 t; \, N课程内容:
% w7 N) m; q- l$ ~4 l01.程序运行的本质1 I' t) C% B$ ^4 U* |
主要内容:计算机程序运行的本质,CPU三类总线的作用,内存地址空间 4 v7 F1 ^6 s2 ~9 c5 _
5 A) V2 L( W* o1 D) W: O) H02.寄存器(CPU工作原理)上
s# z! j5 w: }' g0 B# w主要内容:通用寄存器、字型数据在寄存器中的存储
4 h1 L: b2 X$ C$ y$ A2 I; B* u% U1 e- ~% ]1 j" y
03.寄存器(CPU工作原理)下
, o) z: U4 f: c( }) g( j1 w+ I Z主要内容:8086CPU给出物理地址的方法,段地址*16+偏移地址=物理地址的本质含义,8086CPU的工作过程。2 ~1 D! j; [% F6 u
; t8 ~$ x: w6 ]% h) I7 i8 Q. `04.Debug的基本功能和用法
9 }% ~: O" W% @4 l2 b+ v5 ]% m主要内容:Debug的基本功能和用法。R命令、D命令、E命令、U命令、A命令+ a8 G6 u. v3 {1 U( w* _" _) ?
4 F) P; I2 h: P/ S5 d# a
05.访问内存数据
9 e( c* e* t( S J% D+ a主要内容:内存中字的存储,DS和[address],MOV指令,数据段+ `0 Q E6 x1 P: U
6 X/ W$ U1 x w/ M# ?# k8 U06.CPU提供的栈机制 u6 y n" @) n
主要内容:CPU提供的栈机制,栈顶越界问题
6 k6 _8 Y0 q$ u
# j* Q9 x: z& C2 ]; ?07.PUSH、POP指令
6 @) ~& b+ Q2 N1 P% f5 |+ m主要内容:PUSH指令、POP指令/ R+ r3 F0 V; Q3 q" [& p+ i) l3 r( f
: A9 u2 I! [6 |/ O0 Q# f" C* I08.一个源程序从编写到执行的过程
* {. N$ ^" \" a |( g7 H& p7 f7 t l主要内容: 汇编源程序结构、编译、连接
* `. |4 a2 A% j
4 O& }4 t. Y/ b% {1 T, M f. }09.DOS系统中EXE文件的加载过程
0 J% o1 ^+ ^8 l7 y6 S$ O7 S主要内容:CPU控制权、程序段前缀(PSP)、DOS系统中EXE文件的加载过程$ n0 y* x0 ~3 t9 k" [
" z' D" V0 l% Q" b; b2 T10.BX和LOOP指令、循环程序
2 u# ]2 T% A: f主要内容:LOOP指令,Debug中跟踪用LOOP指令实现的循环程序,LOOP和[BX]联合应用
) ]4 N1 w( k# P4 ?! O6 z/ Q3 l
/ X0 B6 ~& ?* h11.段前缀、一段安全的空间
7 p$ F( u8 P9 s" w, u2 E- o+ `4 O. M. `主要内容:段前缀、一段安全的空间
5 v5 q1 @4 d' a& C; e$ I( b+ C; z8 E
12.向系统申请空间
9 u: l$ v" O0 U+ w& E主要内容:在代码段中使用数据、在代码段中使用栈
' g7 h, G2 u% L K8 S5 d& B' q8 U! D9 }
13.包含多个段的程序
M) y' Z- a, U: _( ^- i. T" u主要内容:将数据、代码、栈放入不同的段
1 k1 q7 C1 \& R+ F, ^& H) M
4 g1 k+ v3 {3 @; j& k9 c+ V, v14.更灵活的定位内存地址的方法(上)
: U% n- M [; d- W$ z主要内容:and和or指令,ASCII码,大小写转换的问题$ p/ b# \ F7 v) o' Q1 X
/ j! \& E' {, m) o" j* [0 |% R/ |+ `
15.更灵活的定位内存地址的方法(下)
3 ]1 b5 Z/ C0 v0 z1 e" z3 b主要内容:不同寻址方式的应用、二重循环中存在的问题(栈的应用)& c- D- h4 f4 S/ p+ I2 O2 L
3 o0 j# h T- K
16.数据处理的两个基本问题(上): `9 [9 B; T2 y0 f
主要内容:BX、SI、DI、BP,指令处理的数据会在什么地方,指令处理的数据有多长,寻址方式的综合应用( r" ?: j$ p* J0 p6 r2 Z, w3 N
7 \& I8 [! k3 P% F17.数据处理的两个基本问题(下)
- A) W& @/ ~, J2 y主要内容:伪指令DD,DUP,寻址方式在结构化数据访问中的应用
: E$ j! m6 f; m3 j# T: P; N t( G( k& ~
18.转移指令的原理(上)0 q9 ^/ {0 L I5 ^+ T- U+ O$ W2 u
主要内容: offset操作符,jmp指令
: ` Z4 X0 { f+ N, @" U
6 b4 Z( u- j9 u! L0 M r8 |19.转移指令的原理(下); Z( R4 B7 F5 F5 O' W; H/ B
主要内容:JCXZ指令、根据位移进行转移的意义
* a7 j; s+ x. n2 k; w
+ t, |+ P* ]" q7 L+ @20.显示缓冲区结构原理及实例
$ \% r3 N# o1 l! f. n2 B. f主要内容:80*25彩色字符模式显示缓冲区结构原理
/ a9 W# f- D; U& e/ k+ A- C$ [
5 I/ w: j& E7 `5 D+ w/ }9 j2 l0 a21.CALL和RET指令' g! }$ |' r3 G" j x9 I7 q- y
主要内容:CALL指令,RET和RETF指令,高级语言中函数调用原理
/ X/ F- }. d6 [ ^# Z2 ?7 D& x' R0 X5 i% S. O
22.模块化程序设计5 O, m! Y' q* f J3 R) T" _3 C& J8 e
主要内容:CALL和RET配合使用,参数和结果传递问题,批量数据传递,寄存器冲突问题
5 p0 f4 q k+ d9 N1 V8 Q5 N
$ m" W W% C- ]# t5 X/ j, S5 W23.子程序实例(上)/ L& o- z1 `( {* T5 @8 p
主要内容:显示字符串子程序,不溢出除法子程序% U' T+ l3 b7 R0 J/ U
2 R( J$ ?# f5 A1 \" m
24.子程序实例(下)2 T1 o# X7 q. t- S& @3 }
主要内容:数值显示子程序
% V8 m1 Z w! a+ S' T8 E# y, Y
. M5 @( w6 v1 _, k/ \25.课程设计1
& T/ f$ l& |. W( y7 J主要内容:一个综合的程序(power idea 公司数据)
* R9 t/ A7 G8 y
9 k5 L, d( R* @26.标志寄存器(上)
& P) Q J5 Y. D5 V) l4 [主要内容: 标志寄存器 ZF标志, PF标志, SF标志, CF标志6 z0 P; z/ z( W P' ^! U& l
" N C. |2 Z7 y5 s2 e/ {5 @27. 标志寄存器(下)
7 U- _" M( R, \% ?主要内容:溢出是如何产生的,OF标志,ADC指令, SBB指令6 B& {$ J, X# k
8 e; K! C2 A0 a( L2 G" m# @5 k5 T+ w
28. CMP指令,根据比较结果进行转移,DF标志和串传送指令6 c1 W& \$ @' W/ N& _5 |
主要内容:CMP指令,检测比较结果的条件转移指令,DF标志和串传送指令
: a% D. a# s4 E1 p4 l
# o& k1 O$ S- u3 B: K, B6 T29.PUSHF和POPF,标志寄存器在DEBUG中的表示+ \5 `9 P3 z, j* Z
主要内容:PUSHF和POPF,标志寄存器在DEBUG中的表示
& U$ Z+ X( b& L7 m5 Y# X4 \8 v! d3 H6 z6 l
30.C语言中条件判断的汇编代码2 h/ f$ ]6 T; t) V8 s# l6 p
主要内容: C语言中条件判断的汇编代码
2 V g! ^; Y0 K( D+ w0 U$ _4 |/ g4 `6 Y
31.内中断(上)
1 c$ E3 g: R* ]! _ p1 g; A0 w主要内容:内中断的产生、中断向量表、中断处理程序、中断过程、0号中断处理程序的编写- P: ?( n4 a: }
: P8 |; c1 N# _1 \3 L
32.内中断(下)
5 }5 {( h4 {3 b+ S% s& r4 j主要内容:编写处理0号中断的完整过程、单步中断、响应中断的特殊情况2 E1 S/ F& Q, f* L
* t c: a; r* `! `; Z6 O33.INT指令、对INT和IRET指令的深入理解6 w) e4 E( V5 {5 S
主要内容:INT指令、对INT和IRET指令的深入理解- s1 ]+ [2 Q( Z
/ X% C! |4 e, x# C" ?! G- Q( b
34. BIOS和DOS提供的中断例程及应用
# @, T) g" P1 ^主要内容:BIOS和DOS提供的中断例程及应用3 m- v& k0 ~) B- p, `! k; y
! R+ F, i4 a0 S O a35. 端口的读写、CMOS RAM芯片结构及读写方法: K7 H0 @4 X; z; n
主要内容:端口的读写、CMOS RAM芯片结构及读写方法、SHL和SHR指令% O" F8 ^9 G! s8 U
! A0 D) b% M0 P- v9 p/ j3 e1 J36.在屏幕上动态显示当前日期和时间) D# Q7 F2 k: v" Z# _' d+ K* \
主要内容:在屏幕上动态显示当前日期和时间3 z& I1 U4 i9 ^7 [" ~; j% E
% i" n! ^' e) p# [" i/ o+ u37.外中断、可屏蔽中断和不可屏蔽中断、PC机键盘的处理过程
o/ V/ s! P) m2 k- u) E; @主要内容:外中断、可屏蔽中断和不可屏蔽中断、PC机键盘的处理过程
- ?* {# J- K: U) W# m# V' x: L' c
7 j5 t0 S# X; V) g38. 数据标号的使用、根据查表的方法编写程序的技巧8 v8 R0 N" {8 j; d- a
主要内容:数据标号的使用、根据查表的方法编写程序的技巧
& E' j, \/ a! ^) X( c
. a; P6 {% P2 u; N. c' T% E( j8 t2 r39. 直接定址表、包含多个功能的子程序
+ D; F, n$ U: }, N5 R! }主要内容:直接定址表、程序入口地址的直接定址表、包含多个功能的子程序
4 ^7 N- _* J; h0 A* r* W+ S3 c2 t/ q7 v' v' h8 @5 e( e1 \7 N
40.BIOS 内存-键盘缓冲区,使用BIOS进行键盘输入& \3 y; M8 ], e; P3 Z
主要内容:包含多个功能子程序的中断例程,BIOS内存-键盘缓冲区,使用BIOS进行键盘输入
; e8 M1 ^1 f% S% k8 E% M- }& B/ T& h8 [6 `6 h
41. 字符串的输入、应用INT 13H中断对磁盘进行读写
. l) x5 P0 i1 X4 y% h主要内容:字符串的输入、应用INT 13H中断对磁盘进行读写9 w6 h1 `, V1 w; ]2 X
) J9 ], ]7 _& N! V4 q# {42.一个开机自运行程序实例. c9 B8 p) M6 P* s" c( i
主要内容:一个开机自运行程序实例
9 M7 A' p( h3 p& v
1 W. e, v& E: _( E |
|