首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

地址数组来显示内容应该如何做

2012-03-21 
地址数组来显示内容应该怎么做?datasegmentnew1dbnewsa ,13,10, $new2dbnewsb ,13,10, $new3dbnewsc ,13,1

地址数组来显示内容应该怎么做?
data   segment  
new1   db   'newsa ',13,10, '$ '
new2   db   'newsb ',13,10, '$ '
new3   db   'newsc ',13,10, '$ '
news   dw   new1,new2,new3
data   ends
code   segment
main   proc   far
assume   cs:code,ds:data
start:
mov   ax,data
mov   ds,ax
mov   cx,3
;mov   bx,news
;mov   bx,ds
;movax,0
;mov   bx,ax
display:
mov   ah,9
lea   dx,[bx]
int   21h
call   SUB_DELAY
;mov   ah,4ch
jmp   judge
SUB_DELAY   PROC   NEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHF

MOV   AH,   2CH
INT   21H
INC   DH     ;系统秒数个数加1
MOV   BL,   DH
CMP   BL,   3CH     ;如果是60
JNE   SUB_TIMER
XOR   BL,   BL     ;BL置0

SUB_TIMER:
MOVAH,   2CH
INT21H;获取系统时间
CMPBL,   DH;秒数十位置0,只比较个数
JESUB_RET;如果到了下一秒,则返回
JMPSUB_TIMER

SUB_RET:POPF
POPDX
POPCX
POPBX
POPAX
RET
SUB_DELAYENDP
judge:
add   bx,8
dec   cx
cmp   cx,0
jnz   display
jz   exit
exit:
mov   ah,4ch
int   21h

main   endp
code   ends
end   start
我想用   news   地址数组来显示new1,new2,new3内容应该怎么做啊
这样是可以把new1   db   'newsa ',13,10, '$ '
new2   db   'newsb ',13,10, '$ '
new3   db   'newsc ',13,10, '$ '输出但是若把new1~new3内容换成其他字符长度不同的字符串则不能正常输出


[解决办法]
....
mov bx, offset news
mov dx, bx[2] ; 0:new1 / 2:new2 / 4:new3
mov ah, 9
int 21h
...

热点排行