加深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位数据

 

posted @ 2020-09-29 16:17  Arthur_hsp  阅读(816)  评论(0编辑  收藏  举报