|
主题 : : 我的学习笔记 [待解决] |
回复[ 0次 ]
点击[ 1232次 ] | |
荣誉值:0
信誉值:0
注册日期:2010-09-14 02:19 |
汇编语言_第2版
277-14
___________________________________________________________________________________________________________________________
8086CPU
知识点、检测点、问题和分析、试验
深入理解机器工作的基本原理、 培养底层编程意识和思想
3类指令:汇编指令、伪指令、其他符号
怎样确定内存空间
14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
AH,AL;BH,BL;CH,CL,DH,DL
两个16位地址合成20位地址
jmp 11:22 修改CS,IP
jmp ax 修改IP
debug -r-d-e-u-t-a-p-g
栈向下增长
psp 程序段前导
loop cx
end start
[bx+si]/[bx][si]
[bx+si+200]/200[bx][si]/[bx][si].200
mov word ptr ds:[0],1
div reg
dup
操作法offset
jmp short label
jmp near ptr label
jmp far ptr label
jmp word ptr ds:[n]
jmp dword ptr ds:[n]
jcxz label
ret
retf
call label
call far ptr label
call reg
call word ptr 内存单元地址
call dword ptr 内存单元地址
mul reg
mul 内存单元
db 'ajdkldlkd',0 ;定义0结尾的字符串
adc
sbb
je
jne
jb
jnb
ja
jna
movsb
movsw
rep movsb
cld
std
pushf
popf
iret
div
single step
into
int
功能函数
安装程序
向量表
端口为什么是64KB
in al,20h
out 20h,al
mov dx,3f8h
in al,dx
out dx,al
CMOS 70h,71h
shl
shl al,1
shl al,cl
shr
shr al,1
shr al,cl
sti
cli
键盘扫描
60h
xchg
imul
idiv
aaa
not
test
sal
sar
rol
ror
ecl
rcr
nop
clc
cmc
stc
hlt
wait
esc
lock
cmps
scas
lods
stos
repe
repne
数据标号
想在代码段中直接用数据标号访问数据,则需要用伪指令assume将标号所在的段和一个段寄存器联系起来
seg lable
键盘输入,磁盘读写
BIOS
int 9 60h键盘中断 缓冲区16WORD 15
H扫描 L字符
0040:17状态
int 10h 屏幕输出
int 13h 磁盘读写
int 16h 读取键盘
int 19h 进行操作系统引导
DOS
int 21h
mov al,1 ;扇区数
mov ch,0 ;磁道号
mov cl,1 ;扇区号
mov dl,0 ;驱动器号
mov dh,0 ;磁头号
mov ah,2 ;读扇区
int 13h
;ah=0 al=读入的扇区数
;ah=error code
独立研究和深度思考
11a call main
1fa main
___________________________________________________________________________________________________________________________
使用工具编译
知识屏蔽
编译器手册
连接器手册
指令手册
debug使用手册
mov ss,ax
10.1
push cs
push ax
mov bx,0 ;为什么要这条语句
retf
寄存器bp功能
单步执行怎样使用栈
BIOS和DOS所提供的中断例程
端口硬件实现
启动CPU硬件过程 | | |