能力值:
( LV2,RANK:10 )
|
-
-
2 楼
show_str:
push cx
push dx
mov ax,0
sub dh,1
mov bl,dh
mov al,0ah
mul bl
sub dl, 1 ; 加上这五条指令
mov dh, 0
add ax, dx
add ax, dx
mov si, ax
add ax,0b800h ; 应是mov ax, 0B800h
mov es,ax
mov ax,0
|
能力值:
( LV6,RANK:80 )
|
-
-
3 楼
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
我复制上的是在定义数据区加了8个空格后才显示正常的..
我认为按照我写的不应该要加空格啊...
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
呃 我上面发的能显示正常 那是因为我在定义数据的时候 在字母前面加了8个空格~
我按照你加的内容在机子上编译了一下 发现还是需要加上空格才能显示 请问怎么能不加空格...空格所占的8个字节是怎么回事? 按照我写的意思 明明es:[si]是指向第八行第三列的啊... 谢谢解惑
|
能力值:
(RANK: )
|
-
-
6 楼
你后续代码中把BX的值冲掉了.
[QUOTE=黑箜;933360]
mov ax,data
mov ds,ax
mov bx,0 // ds:bx 指向字符串开始位置
....
show_str:
...
sub dh,1
mov bl,dh // 在这里把bl的值改了
mov al,0ah
mul bl
...
change: mov al,ds:[bx] // 这里取 ds:bx指向的值, 但这时候bx已经不是0了.
[/QUOTE]
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
这么短的程序 有发帖的时间 问题都调试出来了
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
要用到的一个call...还有没发上来的
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
原来老毛病犯了 感谢指出
|
|
|