标签:
一个典型的CPU由运算器、控制器、寄存器组成,内部总线连接各部分器件
寄存器是程序员可以用指令读写的部件,通过改变寄存器里的内容从而实现控制CPU,
不同CPU 寄存器的个数结构是不一样的,8086有14个寄存器
2.1通用寄存器
8086所有的寄存器都是16位的,可以存放2个字节,AX、BX、CX、DX用于存放一般性数据,成为通用寄存器
为了兼容旧的8位寄存,每个16位寄存器可以分为2个单独的8位寄存器来使用,名字分别用AH、AL来表示高8位和低8位
2.2字在寄存器中的存储
字节byte:可以存储在8位寄存器中
字word:是两个字节,可以存储在16位寄存器中,改字的高8位字节和低8位字节存储在高8位寄存器和低8位寄存器中
一个字型数据20000 存储在AX中,高8位是78,低8位是32, 既可以看成是一个字型数据20000,也可以看成是两个单独的寄存器分别存78和32
十六进制数据每两位代表一个8位,用十六进制表示数据来看高低位寄存器非常方便如AX中是4E20H,那么AH是4EH,AL是20H。
2.3几条汇编指令
mov ax,18 : 将18送入寄存器AX 高级语言:ax=18
add ax,8 : 将寄存器AX中数据加8 高级语言:ax=ax+8
注意:如果运算结果超出了寄存器可以表示的数值范围,那么会截取掉
汇编指令的操作对象位数必须是一样的
检测2.1:
1>写出每条汇编指令完成后相关寄存器中的值 :
mov ax,62627 AX=F4A3H
mov ah,31H AX=31A3H
mov al,23H AX=3123H
add ax,ax AX=6246H
mov bx,826CH BX=826CH
mov cx,ax CX=6246H
mov ax,bx AX=826CH
add ax,bx AX=04D8H
mov al,bh AX=0482H
mov ah,bl AX=6C82H
add ah,ah AX=D882H
add al,6 AX=D888H
add al,al AX=D810H
mov ax,cx AX=6246H
2>只用mov,add指令并且不超过4条指令计算2的4次方
mov ax,0002H
add ax,ax
add ax,ax
add ax,ax
标签:
原文地址:http://www.cnblogs.com/superzhao/p/4600617.html