文章目录
查看CPU和内存,用机器指令和汇编指令编程。电脑不自带Debug需要自行安装。《汇编语言》(第三版)实验一
R命令查看、改变CPU寄存器的内容
-
输入R命令查看寄存器及内容
-
R命令修改寄存器,格式:R [寄存器]
-R AX #修改寄存器AX :0001 #输入修改的值
D命令查看内存中的内容
-
查看内存地址10000H处的内:D [段地址]:[偏移地址] ; 段地址*16+偏移地址 = 内存地址
-D 1000:0 #内存地址 = 段地址 * 16 + 偏移地址
-
按范围查询内存地址的内容:D [偏移地址]:[段地址] [结尾偏移地址]
E命令改写内存中的内容
-
命令格式:E [起始地址] 数据 数据 数据 数据 …
将内存1000:0 ~ 1000:9 单元中的内容分别写成0,1,2,3,4,5,6,7,8,9
-E 1000:0 0 1 2 3 4 5 6 7 8 9
-
以提问的方式逐个修改从某一地址开始的内存单元
-
输入命令 D 1000:f
-
输入修改内容,按空格下一个内存单元
-
按Enter确认修改操作
-
用E命令向内存中写入机器码,用U命令查看内存中机器码的含义,用T命令执行内存中的机器码
机器码对应汇编指令
- b80100 mov ax,0001
- b90200 mov cx,0002
- 01c8 add ax,cx
-
将上述机器码用E命令写入内存
-E 1000:0 b8 01 00 b9 02 00 01 c8
-
用D命令查看机器码写入内存单元的内容
-D 1000:0 f
-
用U命令查看内存中的机器码对应的汇编指令
-U 1000:0
显示内容为:机器指令的地址、机器指令、机器指令所对应的汇编指令
-
用T命令执行写入的命令
-
若要用T命令控制CPU执行写到1000:0的指令,必须让CS:IP指向1000:0,用R命令修改CS,IP中的内存
-
用T命令执行写入的指令
-T #输入T命令 执行cs:ip指向内存的指令
注意寄存器AX、BX内容的变化
用A命令以汇编指令的形式在内存中写入机器指令
-
格式 A [内存起始地址]
-A 1000:0 #输入后开始输入汇编指令,执行将CS:IP指到该内存地址
-
执行结果:AX=3000 ,BX=2000