1)使用Debug,用E命令和A命令以两种方式将指令写入内存
机器码 汇编指令
b8 20 4e mov ax,4e20h
05 16 14 add ax,1416h
bb 00 20 mov bx,2000h
01 d8 add ax,bx
89 c3 mov bx,ax
01 d8 add ax,bx
b8 1a 00 mov ax,001ah
bb 26 00 mov bx,0026h
00 d8 add al,bl
00 dc add ah,bl
00 c7 add bh,al
b4 00 mov ah,0
00 d8 add al,bl
04 9c add al,9ch
e命令是输入数据的,格式是-e 地址 数据
a命令是用来输入指令的,格式是 -a 地址 然后按enter 开始输入
(2)将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的3次方
mov ax,1
add ax,ax
jmp 2000:0003
(3)PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它
我们用E命令对ROM的生产日期进行修改,但是日期仍不变,因为ROM只读存储器,无法对存储器的值进行修改。
4)向内存从B8100H开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04
在实际环境中A0000-BFFFF为显存地址空间,所以会有上面的现象,但是dosbox上好像与实际环境在地址空间发配上存在差异。