汇编语言学习笔记(四)
1、寄存器:
1、通用寄存器:AX,BX,CX,DX
——存放数据,最大容量FFFFH(16bit寄存器)
——可以分割成高八 AH 低八 AL 两个寄存器
为什么能分割?
CPU最低读取单位为字节 8bit,且 8086 的寄存器为 16 位寄存器,
8086 CPU 可以处理 两种尺寸的数据:
字: 1Byte 8bit, 8 位寄存器
字节: 2Byte 16bit,16 位寄存器,
其中高位字节存储在高八位 register
低位字节存储在低八位 register
几条不知道干什么的指令 dosbox 中-debug:
- -a
- -t
- -r
为了熟悉通用寄存器、16 位数据、高八低八寄存器和8位寄存器做了一些测试
输入 :
mov ax,5 mov ax,0 mov al,5 mov ax,4E20H mov bx,ax mov ch,bl mov ax,bl
感悟:
寄存器和寄存器之间的操作位数要一致,
寄存器与数据之间位数也要一致
测试二:
mov ax, ffff mov bx, 1 mov ah, ch mov al, dl add dl, bl add ch, dh add ax, bx
感悟:
当低八位出现溢出时,溢出的数据将不知所踪,总之不是丢失
当高八位数据溢出时也一样,
16位运算的溢出情况与高八位相同
疑问:乘方运算如何实现
四行汇编实现2^4计算:
mov ax, 2 add ax, ax add ax, ax add ax, ax
大道五十,天衍四九,人遁其一!