加深AX,BX,CX,DX寄存器的印象
什么是8位数据 16位数据
什么是8位寄存器 16位寄存器
在使用mov指令时,要保证数据与寄存器之间位数的一致性
注意:数据与寄存器之间要保持一致性 8位寄存器给8位寄存器 8位数据给8位寄存器 16位数据给16位寄存器
debug中只认识16进制
mov al,0005(error)··
这里只是移动指令,那么我们进行数据处理,比如加法超过了al或者ax表示的最大值怎么办?
做实验,看一下加法超过寄存器的最大值会怎么样。
-a:以汇编指令的形式向内存中写入指令
-t:执行CS:IP指向的内存单元处的指令
-r:查看、修改CPU中寄存器的内容
-d:查看内存中的内容
-u:将内存中的内容解释为机器指令和对应的汇编指令
-e:修改内存中的内容(可以写入数据、指令,在内存中,他们实际上没有区别)
dosbox -debug -a
mov ax,18
mov ah,78
add ax,8 ——》ax=ax+8 16位加法
mov bx,ax
add ax,bx 16位加法
Mov ax,0
mov ax,93H
add al,95H 8位寄存器进行8位运算 保存8位数据
mov ax,0
mov al,90H
add ax,05H 十六位加法 寄存器是互相独立的 AL就是AL AH就是AH 不会互相影响 (高位舍弃 ,实际是保存到其他地方去了,并没有消失)
16位寄存器 进行16位运算 保存16位数据