1.首先使用debug 指令a 输入以下汇编
红框标注的为输入的汇编指令
2.在dosbox 使用debug.exe 中 d指令查看段地址为2000 偏移地址为0的数据(段地址为2000 偏移地址为0 暂先理解为门牌号一样的东东)
可以看出刚输入的汇编指令实际在内存中的形态-数据,根据红框的内容,可以看到debug 将数据翻译为ascii 字符编码,图中所以数字均为16进制编码,图中显示字符“X”的内存位置 所对应的数据为78(16进制) 下面这张图是ascii编码表,看到一切皆数据,代码也是数据,如果由ascii进行编码,就会成为我们人类可识别的字符图形(对于人类来说,我们日常所看到的,也只是一些图形,包括文字也是图形符号),通过这种形式表现出来,使数据具有一定的意义。同理根据不同的编码,就会得到不同的表现(而我们刚输入的是汇编指令)。
3.下面是使用-u指令 查看刚段地址2000 偏移地址0 对应的汇编指令
B8 代表MOV AX 的操作 解释:将一个东西放在一个地方
B4 代表MOV AH 的操作 解释:将一个东西放在一个地方
05 代表MOV ADD AX 的操作 解释:将一个地方的东西放在另一地方
09D8 代表MOV AX,BX 的操作 解释:将一个地方的东西放在另一地方
01D8 代表ADD AX,BX 的操作 解释:将一个地方的东西和另一个地方的东西,放在一起,然后一起放在一个地方
第一列为16进制编码的机器码,第二列为机器码对应的操作。通过上下对比,更能发现这思想,杂而简单
结束语:
万物皆归一,道生一,一生二,三生万象。对于计算机来说,一切皆数据。不同的看待(编码),会得到不同的表象(音乐、图片、字符)。