1.
win+r->cmd->cd\->回车
C:\>debug
-a 0100
0B6F:0100 mov ax,0c0
0B6F:0103 mov ds,ax
0B6F:0105 mov bx,0500
0B6F:0108 mov cx,10
0B6F:010B mov [bx],bl
0B6F:010D inc bl
0B6F:010F loop 010b
0B6F:0111 hlt
0B6F:0112
-
t
AX=00C0 BX=0000
CX=0000
DX=0000
SP=FFEE
BP=0000
SI=0000
DI=0000
DS=0B6F ES=0B6F
SS=0B6F
CS=0B6F
IP=0103
NV UP EI PL NZ NA PO NC
0B6F:0103 8ED8
MOV
DS,AX
;执行完这步DS会是多少?
-
--------------------------------------------------------------------------
你可以在DEBUG中试着操作一下,单步命令t一步一步走,看看寄存器发生了什么变化,
当你执行到hlt命令时,你可以使用
-d 0110:a f
来观察实际地址0110AH---0110FH中的内容是什么
2.
MOV BX,2
;BX=0002H
MOV [BX],BL ;BL=02H,BX=0002H 把02这个字节大小的值->DS:0002的内存单元中
MOV AL,[BX] ;从DS:0002读取一个字节到AL
括号是表示BX是16位偏移地址,你可以再复习下寻址的概念,几种基本的寻址方式,etc.
指令寻址方式是很重要的,好好看,呵呵.