00H是8位数据
0000H是16位数据
所以00H与0000H他们所表示的数的位是不一样的,位不一样代表着他们所能表示的数据的大小范围是不一样的
如果表示成数,他们的字长是不一样的,在8086中,二个字节表示一个字,
所以00H是一个字节
而0000H是一个字
PS:若有不明白的地方,可以追问
编译器编译的时候是看你使用的寄存器的位数,来区别数字的位数的。
使用AX,则看待为16;使用AL则看待为8为;
根据你的追问:
字节传送则使用AL;
mov [si],al
如果是传送到某个地址;
你可以使用这条指令;
mov byte ptr[si],8data 以字节传送
mov word ptr[si],16data 以字传送