-
-
[求助] 新学碰到问题求解
-
发表于:
2009-8-11 15:34
3678
-
dseg segment
count dw 101h ;自己加 第2行
dseg ends
cseg segment
main proc far
assume cs:cseg,ds:dseg,es:dseg,ss:dseg
start:
push ds
push ax
mov ax,dseg ;后加
mov ds,ax ;后加
sub ax,ax
sub dx,dx
mov bx,count ;自己加的 第14行
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl print
add al,7h
print:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
ret
main endp
cseg ends
end start
书本上的把BX里的内容用16进制显示。 但我改后就是加了第2、14行后
在第一次没加上第10,11两行时 ,显示的是20CD 不是我在第二行定义的数据。
但把第14行的count 改成立即数,mov bx,12 显示的结果又是对的
没搞明白 是什么原因。请知道的详细解答下。自己看书想好好久都没想明白。
我用masm5编译的
开始编译时忘了加
mov ax,dseg
mov ds,ax
谢谢一个网友指正。但加上后。编译没问题 。执行时 就报无效指令,没明白。。。。。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法