注册 登录
编程论坛 汇编论坛

新手请教一些基础问题

RENMJIE 发布于 2012-03-28 23:23, 674 次点击
    DDATA    SEGMENT                  ;定义源数据段
    MSR    DB "HELLO,WORLD!$"
    LEN    EQU $- MSR                ;这句什么意思?尤其$-?

    DDATA    ENDS
   
    EXDA       SEGMENT                 ;定义附加数据段
    MSD    DB  LEN DUP(?)           ;这句什么意思?
    EXDA       ENDS
   
    MYSTACK   SEGMENT STACK          ;定义堆栈段
    DW 20 DUP(?)                      ;这句什么意思?
    MYSTACK       ENDS
   
    CODE       SEGMENT                 ;定义代码段
    ASSUME CS:CODE,DS:DDATA,ES:EXDA
    START:    MOV AX,DDATA
        MOV     DS,AX                ;装载数据段寄存器
        MOV     AX,EXDA
        MOV     ES,AX                  ;装载附加数据段寄存器
        MOV    SI,OFFSET MSR
        MOV     DI,OFFSET MSD
        MOV     CX,LEN
        MOV    BX,0
NEXT:  MOV     AL,MSR[BX]     ;开始传输数据
        MOV     ES:MSD[BX],AL
        INC        BX
        LOOP     NEXT
        PUSH     ES
    POP     DS                     ;将附加段寄存器指向的段值赋给数据段寄存器
        MOV     DX,OFFSET MSD
        MOV     AH,9               ;这句什么意思?
        INT     21H                  ;显示字符串
        MOV     AH,4CH              这句什么意思?
        INT     21H                  ;返回DOS状态
CODE     ENDS
    END  START

问题在注释里。
4 回复
#2
zklhp2012-03-29 10:08
LEN    EQU $- MSR                ;这句什么意思?尤其$-?

$ 是当前的地址 减去前面那个的标号位置的地址 就是长度

下面的那些书上都有 你看书解决罢
#3
RENMJIE2012-03-29 18:19
回复 2楼 zklhp
能推荐本书吗,适合新手入门,易懂的那种。谢了!
#4
zklhp2012-03-29 19:31
以下是引用RENMJIE在2012-3-29 18:19:43的发言:

能推荐本书吗,适合新手入门,易懂的那种。谢了!
为什么你不看置顶帖呢?
#5
yangli03142012-04-01 15:26
回复 3楼 RENMJIE
王爽老师的《汇编语言》适合入门
1