8086汇编1,零基础

1,寄存器  是存放在cpu中的存储器

2,地址总线上能传送多少种不同的信息,CPU就可以对多少个不同的单元进行寻址。这样cpu就是多少位,就是可以寻址2的n次方单元

3,数据总线的宽度决定了cpu与外部的数据传送速度。控制总线的宽度决定了cpu对外部的控制能力

4,8086数据总线是16位的,一次传送16的数据,地址总线20位,内存地址空间分配情况是:00000——9ffff是主存储器RAM,A0000——Bffff是显存空间,C0000——fffff是各类ROM空间

5,每一中cpu都有自己的汇编指令集

6,在存储器中指令和数据没有任何区别都是二进制信息

7,一个存储单元是8字节

8,cpu对外部设备不能直接控制,例如,显示器;音响;打印机,直接控制这些设备互作的是插在扩展槽的接口卡,例如,cpu控制显卡,然后显卡控制显示器

9,内存是大的随机存储器

10,必须以cpu的观念思考问题

 11,遇到c中不明白的反编译一下

12,什么是cpu内部通信,就是不牵扯到内存,只有寄存器和运算器,控制器等等,通过内部总线连接

13,8086有14个寄存器,一般通用寄存器是8个,8086所有寄存器是16位的

14,开始+运行,calc  进入计算机

15,一个几位的存储器可以存储的最大值2的n次方-1

16,汇编不区分大小写

17,add  al,93h   al是c5h  那么相加后ax是什么呢?其实ax是0058h

18,一个数据的几进制形式左移1位相当于乘以几

19,一个段的最大容量是64K

20,8086段寄存器有CS,DS,SS,ES

21,8086加电复位后,cs被设置为ffff,ip为0000,8086从ffff0开始执行第一条指令

22,jmp  3:0b16  执行后转移到00030+0b16处执行http://write.blog.csdn.net/postedit/12718605

23,mov ax,200

      jmp   ax

24,debug 程序,指令r查看改变寄存器的内容,d命令查看内存中的内容,e命令改写内存中的内容,u命令将内存中的机器指令翻译成汇编内容,t命令执行一条机器指令

,a命令以汇编指令的形式向内存中写入指令。

25,内存中字的存放,高位对应高地址,低位对应低地址

26,mov指令的几种形式:

  mov   寄存器,数据

  mov   寄存器 ,寄存器

 mov    寄存器,内存单元

 mov    内存但愿,寄存器

 mov    段寄存器,寄存器

 mov   寄存器,段寄存器

27,向内存数据段写东西:

  mov  ax,123b

 mov  ds ,ax

 mov ax,0

 add  ax,【0】

 add  ax,【2】  这表示偏移地址

段地址默认在ds中

28,pop ax  从栈顶取出数据存入ax中

出战和入栈都是按照字的形式进行的

29,8086 cpu,有两个寄存器:

   段寄存器 ss 存放栈顶的段地址

 寄存器  sp  存放栈顶的偏移地址

ss:sp 指向栈顶元素

30,单步中断的中断类型码01

步骤:取得中断类型吗,然后标致寄存器入栈,tf,if置零,然后cs,ip入栈,进行保存,然后ip=1*4,cs=1*4+2

debug改了1号中断的内容,使其单步中断的中断程序功能:显示所有寄存器的内容等待输入命令

int  0  中断  除法溢出中断 

int  1  中断   单步中断

31,  int10  中断例程,,是BIOS提供的中断例程,其中包含了多个和屏幕输出相关的子程序。

32,一般来说,一个供程序员调用的中断例程中往往包含多个子程序,中断例程内部用传递进来的参数来决定执行那一个子程序

33,BIOS和DOS提供的中断例程,都用ah来传递内部子程序的编号

34,内中断: int 0 除法溢出中断
         int 1 单步中断


BIOS中断:
int 10 号中断历程  
由ah传递内部子程序的编号
mov ah,2  设置光标位置的子程序编号
mov bh,0   设置页号
mov dh,5    行号
mov dl,12   列号
int 10h

bh中页号的含义:内存地址空间中,B8000——BFFFF共32k
的空间,为80*25彩色字符显示模式的缓冲区
一屏的内容在现实缓充区共占有4000个字节 4KB,所以共8页

int 10中断历程中在光标位置显示字符的功能
mov ah,9   子程序编号    表示调用10h号中断历程的9号子程序
mov al,'a'  字符
mov bl,7    颜色属性
mov bh,0    页号
mov cx,3
int 10h

bl的颜色属性:
七   六 五 四   三    二 一 零
bl    r  g  b    i     r  g b
闪烁   背 景   高亮     前  景
 

在屏幕的中间显示3个高亮,闪烁绿色的'a'
assume cs:code
code segment
start:
mov ah,2  设置光标位置的子程序编号
mov bh,0   设置页号
mov dh,5    行号
mov dl,12   列号
int 10h

mov ah,9   子程序编号    表示调用10h号中断历程的9号子程序
mov al,'高隆煞笔'  字符
mov bl,11001010b    颜色属性
mov bh,0    页号
mov cx,3
int 10h
mov ax,4c00h
int 21h
code ends
end start

dos中断: int 21h


1,可以进行程序返回


2,int21 中断例程 在光标位置显示字符串

ds:dx指向字符串;要显示的字符串用“$”作为结束符

mov ah,9;功能号9,表示在光标位置显示字符串

int 21h





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值