程序段前缀不是256字节?怪事!求救ing
程序段前缀不是256字节?
个人初学汇编,在调试程序过程中发现的问题,
请高手指点迷津,不胜感激!
源程序如下:
;把十进制数转换成对应的ASCII码并输出。
data segment
src db 1,4,2,3,5
db '$'
data ends
stack segment para stack 'stack'
db 200 dup (0)
stack ends
code segment
assume cs:code, ds:data, ss:stack
start: mov ax, data
mov ds, ax
mov cx, 5
mov si, 0
@loop: mov al, src[si]
add al, 30h
mov src[si], al
inc si
loop @loop
mov ah, 9
lea dx, src
int 21h
mov ax, 4c00h
int 21h
code ends
end start
Debug结果:
C:\masm615>debug btod.exe
-r
AX=0000 BX=0000 CX=0108 DX=0000 SP=00C8 BP=0000 SI=0000 DI=0000
DS=13AD ES=13AD SS=13C1 CS=13BE IP=0000 NV UP EI PL NZ NA PO NC
13BE:0000 B8BD13 MOV AX,13BD
-q
DS:0 = 13AD:0
CS:IP = 13BE:0 这里CS为什么不是13BD???
Help me!!!!!!!!!!!!!!!